|
|||||||||||
Technical Support Support Resources
Product Information |
ARM: How to Stop CMSIS RTX or RTX5 in BootloaderInformation in this knowledgebase article applies to:
QUESTIONI have an application and a bootloader that are separate projects that both use Keil RTX5. What is the best strategy for disabling the RTOS in the bootloader before jumping to the application code? ANSWERThe best way to stop Keil RTX5 is to disable the SysTick interrupt that is used as the tick timer for the RTOS. The SysTick Interrupt can be disabled using the following code: SysTick->CTRL &= ~0x00000002; // disable SysTick interrupt It is also recommended to disable any other peripheral interrupts at the peripheral level before jumping the application code. There is not a need to disable global interrupts as it is better to just disable individual peripheral interrupts in the bootloader. Then, enable the peripheral interrupts in the application code as the peripherals get initialized. After disabling peripheral interrupts in the bootloader, set the vector table offset register to the new vector location and then jump to the application code. Make sure the vector table offset is set in the system_xxx.c file in the application project so any interrupts that get enabled in the application jump to the correct handler. SEE ALSOLast Reviewed: Friday, October 9, 2020 | ||||||||||
|
Arm’s Privacy Policy has been updated. By continuing to use our site, you consent to Arm’s Privacy Policy. Please review our Privacy Policy to learn more about our collection, use and transfers
of your data.