We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hello !
I am working on bootloader application using RTX on mdk 5.
The bootloader load the user application using Ethernet communication and proceed to the jump after a reset.
When i use an simple blinky example and modify the BCA, the jump WORKS WELL !
BUT If I use an RTX application, the jump don't works.
I used the bootloader's vendor (without RTX) the jump to my RTX application works..
I suspect that RTX application erased some thing at initialization
Some one already seen that before
Board used : FRDM K64F
IDE : mdk 5
To correct jumping you also will need disable interrupts and clear pending interrupts. Also don`t forget initialize stack/vectors and etc in user app.
for example:
void bootloader_run_application()
{
// Stopping active threads, RTOS etc..
// Disabling CPU interrupts
cpu_irq_disable();
// Clear Pending interrupts
cpu_pending_irq_clear();
// Execute your application
execute_app();
// infinite loop
while(1);
}
void execute_app(void){ void (*user_code_entry)(void) = (void (*)(void))(USER_APP_ADDR); user_code_entry();}