I am new to FreeRTOS. I was implementing boot-loader on my STM32f4
discovery board which was success and I could download new firmware
through the USB. I wanted to download a new firmware which was
supporting FreeRTOS and tried implementing but couldn’t get through.
Firmware is getting downloaded but the problem what I am facing is, the
new application keeps on resetting by itself. I couldn’t figure out the
correct issue even-though I tried changing the .icf file vaues.
I searched in the archive but couldnt find anything positive over there.
“Did you point the vector base register to the freertos vectors?”
My FreeRTOS application is staring at 0x0800C080.
So I have made the following change in the system_stm32f4xx.c file
#define VECT_TAB_OFFSET 0xc080
Now I downloaded the bin file to the discovery board using usb bootloader and the new application is getting started.
But the problem is, once the new program is started, the bootloader should start only after a push button Reset. As the new program is executed once, the bootloader statrs again whicah inturn calls the new application again and this process repeats.
These questions come up from time to time, and to be honest are a little off topic, especially when referencing source files provided by other people.
In nearly all cases they are resolved by getting the start up code in the bootloader and the start up code in the application correct with regards to which vector table is used when.