This is the third part about ARM Cortex-M and how the interrupts are used. In Part 1 I discussed the Cortex-M interrupt system and in Part 2 I showed nested interrupt examples. This part is about FreeRTOS and how it uses the Cortex-M interrupt system.
In “ARM Cortex-M, Interrupts and FreeRTOS: Part 1” I started with the ARM Cortex-M interrupt system. Because the ARM implementation cann be very confusing, I confused myself and had to fix and extend the description in Part 1 :-). Thank for all the feedback and comments!
Originally I wanted to cover FreeRTOS in Part 2. Based on the questions and discussions in Part 1 I thought it might be a good idea to provide visual examples.
When I have hit ‘publish’ for this post, the McuOnEclipse blog exists for exactly 0x888888 seconds. Or almost. I admit there might be a latency of a few seconds. But hey, that’s still a good (hexadecimal) number! :-).
I would like to reach out about what you would like to see on McuOnEclipse in a not too distant future:
- What do you like the most?
- About what should I write more?
- Any other subject or topic you would like to see?
Add a comment if you have anything else on your mind.
Happy Polling 🙂
The ARM Cortex-M microcontroller are very popular. And it has a very flexible and powerful nested vectored interrupt controller (NVIC) on it. But for many, including myself, the Cortex-M interrupt system can be leading to many bugs and lots of frustration :-(.
Understanding the NVIC and the ARM Cortex-M interrupt system is essential for every embedded application, but even for if using an realtime operating system: if you mess up with interrupts, very bad things will happen….
For next semester I plan to use the tinyK20 as a remote controller for the Zumo Robots. I already had an early prototype presented in “3D Printed Gameboy and Remote Controller with tinyK20 Board“, so here is the next iteration of, in a sneak preview:
3D printing is like cooking or like BBQ: It is more about barometric pressure, humidity and temperature than you might think of. To me, printing (and cooking) is a combination of art and science. And as with cooking, sometimes the result is not usable.
I’m very happy with the Ultimaker 2 printing PLA material. For a LED matrix project I have to use ABS as this material is suitable for higher temperature: PLA simply will not stand the heat produced by the LEDs I’m going to use. And here the joy ended: printing using ABS was definitely no fun. While the first small test print came out OK, I produced afterwards a pile of unusable parts because of warping :-(.