FreeRTOS Application Resets when Using Bootloader

sarathzarath wrote on Monday, March 24, 2014:

Hi,

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.

kindly Help with this situation

edwards3 wrote on Monday, March 24, 2014:

Did you point the vector base register to the freertos vectors? Search ‘bootloader’ in the archive to find old threads on this

sarathzarath wrote on Tuesday, March 25, 2014:

Hi Edwards,

        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.

Please help

rtel wrote on Tuesday, March 25, 2014:

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.

Regards.