There will be no need for external connections. Note that if the code on the git repo is slightly different then it means that it was modified to enhance the code quality or accommodate any HAL/Rust updates. Familiarity with interrupts in Cortex-M processors.Īll the code presented in this post in addition to instructions for the environment and toolchain setup are available on the apollolabsdev Nucleo-F401RE git repo.Familiarity with the basic template for creating embedded applications in Rust. ![]() To understand the content of this post, you need the following: Additionally, I will be evolving the application over three separate posts, finishing up with the RTIC, which I will explain in more detail in the software design section. Along the way, I will try my best to explain the elements introduced by Rust. In this post, I will be refactoring the GPIO button-controlled blinking application I created before and transforming it to use interrupts. This alternative is the Real-Time Interrupt-driven Concurrency (RTIC) framework which I will be tackling it in a future post. Still, the good news is that there is an alternative out there to make using Rust with interrupts smoother. These additional abstractions might not be easy to digest for a beginner. As a result, Rust being Rust, adds abstractions to make interrupt operations safe and prevent these race conditions. ![]() ![]() This is understandable because interrupts are not safe by definition since they introduce race conditions. As if that weren't enough, I would say the use of Rust adds another level of complexity. Dealing with interrupts on its own from an embedded microcontroller perspective is more complex than polled code.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |