I am new to FreeRTOS and have been looking hard on the internet to find a simple example with some LEDs blinking using the tasking feature in FreeRTOS, but I haven't been able to find it.
So I started ripping off everything unnecessary from the CORTEX_STM32F103_GCC_Rowley demo, though I would actually like to use Ride7!
After much struggling I finally managed to compile with the standard Startup and Script file - I don't know if I should make any changes?
But of course it didn't work. As I have read on different posts the problem seems to lie in the StdPeriph and CMSIS. Though I am using version 3.5.0 of StdPeriph which includes version 3.1.0 of the CMSIS. Is this supposed to work or not?
After some debugging I have managed to not getting it into Hard Fault but instead it stops at executing the assembler lines in the vPortStartFirstTask routine.
I would like to know if any of you have a Blink example for the new/most recent version of the StdPeriph - or something around that version?
There is a RIDE project in FreeRTOS - although it is very old:
With ST you have to ensure the interrupt priority bits are all set to preemption priority, rather than sub priority, to make your life easier. ST seem to stand out from the crowd by not doing that by default. Using the ST library, it is normally done using
NVIC_PriorityGroupConfig( NVIC_PriorityGroup_4 );
If their drivers use something else internally then it will make life hardware for sure.