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
Thank you for your answer
I understand this is needed if i am in a thread. But the processor is reseted before jumping to the application, so i am not in a thread.
In the debug viewer the processor is running from the msp.
What should verify before the jump?
Are you using OS2? If so, I think the main loop is a special thread. I had the same issue. My older bootloader ran fine with the older OS but as soon as I transitioned to OS2 it stopped working. That is why the __set_CONTROL(0x00000000); was key to fixing the issue. I was stuck in the mud until Jim got me out. Try the change.
I use os2
I will try again with __set_CONTROL(0x00000000);
My question is why the jump works with a simple blind LED firmware but not with a rtx firmware,
I will keep you informed
I try __set_CONTROL(0x00000000); but this is the same issue
In attachment, the screen shot of the debug bootloader after jump.
also, i show:
I am lost..
You seem to be in Handler Mode. You need to be in Thread Mode.
MSP, Prividged, Thread Mode.
__set_control(0x00000000); est the privileged mode, i dis but drill in handler mode
Sorry. You are in a Hard Fault so obviously you are in Handler Mode. Maybe see what state you are in just before the jump to the application.