RH850 ports freertos, bootloader (0x00000000) jumps to app (0x50000) fails to run

I refer to RH850 for freertos and have successfully ported freertos on RH850 F1KM-S1, but I’m having the following problem:

  1. My app code is compiled according to the starting address of 0x00000000, and the burning can run normally
  2. Boot compiles according to 0x00000000, and the app compiles according to (0x50000). Boot jumps the app in the following way: __DI();
    ((void(*)(void))(APP_A_START_ADDRESS))();

After jumping into the app, the program will be stuck directly. What is the reason? Thanks !

I know what’s going on. I enabled the OSTM timer in the bootloader. Before jumping to the app, __DI() cannot turn off the OSTM timer. When entering the app, it will directly trigger the xTaskIncrementTick() interface to cause an exception. I wrote this way to solve this problem:

R_Config_OSTM0_Stop();
__DI();
((void(*)(void))(APP_A_START_ADDRESS))();
1 Like

Thank you for sharing your solution!