Quality RTOS & Embedded Software

 Real time embedded FreeRTOS RSS feed 
Quick Start Supported MCUs PDF Books Trace Tools Ecosystem


In Application programming with freeRTOS

Posted by bones23 on March 5, 2008
I am using an str912 and am trying to have stmicro's in-application programming with uart load freeRTOS. The example binarys provided with IAP can load and run just fine but the binary I create with the freeRTOS project does not run. Has anybody gotten this to work for them? If so what changes did you need to make to the freeRTOS project?

RE: In Application programming with freeRTOS

Posted by Richard on March 5, 2008
I have successfully used bootloaders on Atmel parts and don't recall anything special that needed to be done. When you start the application through the bootloader, does main() get called from Supervisor mode? Also, how are the interrupt vectors handled?


RE: In Application programming with freeRTOS

Posted by bones23 on March 5, 2008
Yes the main does get called from supervisor mode. According to the in-application programmer documentation you should not have to do anything special with interrupts because bank0 is software remapped to address 0x00.

RE: In Application programming with freeRTOS

Posted by Cristina Robles on March 6, 2008
I have the same problem with FreeRtos. You cannot depure it because it crashes. I guess the solution is to make just one task and see if it works.

RE: In Application programming with freeRTOS

Posted by bones23 on April 11, 2008
I have tried commenting out everything from the freeRTOS main function and popped in my own led flashing program. This worked with the stmicro bootloader. Adding back the freeRTOS stuff I found that the program stops working when I add back prvSetupHardware function. I thought this might be because of the FMI_BankRemapConfig call inside of the prvSetupHardware function but commenting that out did not fix the problem. Does anybody have any ideas about what could be causing this?

RE: In Application programming with freeRTOS

Posted by arm_user on April 18, 2008
Hello Everybody.

I have had the same problem like you.

I fixed it with these 4 steps:

- cut the PLL configuration code lines in prvSetupHardware from the main application in BANK 0
and paste it into a start sequence in the bootloader (main() of IAP) in BANK 1.

- also cut and paste the FMI_Config(xx) command in the same way.

- The FMI configuration (the lines with the 0x540000XX Registers)
of FREERTOS init (asssembler) file must change (or maybe could deleted?) to the right size and address

- Comment or delete the FMI_BankRemapConfig command in prvSetupHardware.

NOTE: The FREERTOS will not run if bootbank = bank0 !!

It works, but why? Why is it not possible to config pll after using a bootloader with bank-address-switch.
Have anybody a clue?

[ Back to the top ]    [ About FreeRTOS ]    [ Privacy ]    [ Sitemap ]    [ ]

Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.

Latest News

Version 10.1.0 of the FreeRTOS kernel is available for immediate download. MIT licensed.

View a recording of the "OTA Update Security and Reliability" webinar, presented by TI and AWS.


FreeRTOS and other embedded software careers at AWS.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

Espressif ESP32

IAR Partner

Microchip Premier RTOS Partner

RTOS partner of NXP for all NXP ARM microcontrollers


STMicro RTOS partner supporting ARM7, ARM Cortex-M3, ARM Cortex-M4 and ARM Cortex-M0

Texas Instruments MCU Developer Network RTOS partner for ARM and MSP430 microcontrollers

OpenRTOS and SafeRTOS

Xilinx Microblaze and Zynq partner