Quality RTOS & Embedded Software

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


Jump to bootloader from RTOS task

Posted by Samuel on December 13, 2011
I need update my RTOS firmware via a bootloader during RTOS is running, there is a task to monitor the UART commands, if it is update firmware call, then it will jump to bootloader. My bootloader works fine without RTOS, but it does't work in my RTOS.

Before jump to bootloader (RTOS is not running in bootloader), should I do something? such as stop the scheduler.
Is someone get the experience for similar function?


RE: Jump to bootloader from RTOS task

Posted by Dave on December 13, 2011
Bootloaders work in lots of different ways and operate differently on different chips. As a minimum you should stop the tick interrupt somehow.

RE: Jump to bootloader from RTOS task

Posted by Richard Damon on December 13, 2011
Since, I presume, the boot loader is going to overwrite the main program, thus any interrupts that would go into the main program need to be disabled, or you are vey likely to run into problems, like the interrupt vector might not be pointing to the interrupt routine if one has been updated at the time but not the other. This tends to end with a program crash.

RE: Jump to bootloader from RTOS task

Posted by Samuel on December 14, 2011
I disable System Tick Interrupt before jump to the bootloader, then it works.

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

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

Latest News

FreeRTOS kernel V10.0.1 is available for immediate download. Now MIT licensed.

FreeRTOS Partners

ARM Connected RTOS partner for all ARM microcontroller cores

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