Part Number: TMS320F28386D
How to jump from bootloader to Application in CM.
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Part Number: TMS320F28386D
How to jump from bootloader to Application in CM.
Hi,
I'll need some more information, but I'm assuming you want to use the SCI bootloader to jump to application for CM Flash memory.
To use the SCI bootloader to jump to application in CM for the F2838x devices, you can follow the provided guide in the C2000 Serial Flash programming application note (ti.com/lit/sprabv4).
Thanks and regards,
Charles
I have created boot loader for C28x and CM core. In C28x i am using __asm(" LB #0x90000") instruction to jump to C28x application.
in Same way i need to jump to CM application(0x240000) from CM boot loader so which instruction i can use in CM core.
Hi,
I'll need a day or two to look into this request, but will get back with you.
Thanks and regards,
Charles
Hi Sh1107,
I see that in the CM Flash kernel the way to branch to the application entry address uses this function:
void exit(uint32_t address){
//
// Jump to entry address
//
__asm(" bx r0");
}
The compiler output for bx is used for indirect branch calls (section 6.11.2.2 of ARM Optimizing C/C++ Compiler v18.1.0.LTS User's Guide (Rev. R)).
Thanks,
Charles
Hi Charles,
I tried as you suggested but it didn't work.
but i tried like this way to jump to 0x2200C0 address
__asm(" mov r0, #0x00220000");
__asm(" orr r0,r0, #0x000000C0");
__asm(" mov pc, r0");
and its working
just want to know its ok to use this method ??
Hi Sh1107,
It is ok to use this operation. ARM CPUs are known to perform better if using the "bx" operation however, which is what the exit() function does.
Thanks and regards,
Charles