I have been using MCUXpresso (NXP’s Eclipse-based IDE) to write code for a FreeRTOS-based project.
So far, FreeRTOS has been a wonderfully stable OS for this project.
However, I need to increase the speed at which the code executes, so I looked into GCC’s compiler optimisations.
Up until this point, I had not used any optimisation (used ‘None’ -O0).
I have enough space for the code to grow in size, so I am only optimising for speed.
For this reason, I chose to build my project with the ‘Optimise most’ (-O3) optimisation level.
Unfortunately, since I’ve made this change (no other changes), the task scheduler seems to not respond in the way it did before.
Many of the tasks that used to execute do not respond to their semaphores and task notifications.
Can someone please advise me on using GCC optimisation with FreeRTOS?
Is there a way to make it work?