Highlighting potential concurrency bugs
Running buggy firmware I recently found myself in the position of debugging a firmware written in C. This firmware was running on a ARM Cortex-M4 with a fair amount of flash and RAM for a microcontroller. The source code amounted to around 10000 lines of code. The firmware relied on FreeRTOS and spawned around a dozen of tasks after initialization. It was also spawning a few more tasks from time to time that ran for short durations.
Posted by Francois Berder on Saturday, February 19, 2022