Sorry for bringing the issue once again here…
I carefully read this article
Still have doubts and discussions with my colleagues what is the right configuration for our specific project and I wanted to hear other opinions.
Here is a few words about my project.
- The project is based on STM32F4 with much RAM.
- I am not going to delete objects , like semaphores, tasks and etc in the run-time, so even dynamic allocation is kind of static with the only difference – it will be done in the run time instead of the compilation time. In that case, if I am not going to free memory in the run-time, seemingly, I will not be exposed to the dynamic allocation dangers.
- I am not going to use absolute addressing, which immediately will take me into the static API
So, I am trying to think what would be the preferable FreeRTOS configuration for my project ? What are the specific risks
, if any, with the dynamic allocation, given I will not delete objects on the fly ?
Since I am coming from the deep embedded systems applications with memory limitations, of course , I almost automatically decided to use static allocation, but some colleagues are coming from a different background and they like the fact that with dynamic allocation they have to take care for less parameters.
Some think that because originally FreeRTOS was designed with the Dynamic allocation, this option is more mature and reliable while working with FreeRTOS.
What do you think ?