Part Number: CC1310
Tool/software: TI-RTOS
Hi,
I am having problems to consistantly jump between two applications stored in the CC1310 flash.
My product have two firmwares stored in the flash: bootloader and application.
Bootloader is stored at address 0x0000.
Application is stored at address 0x6000.
I tested each jump individually:
1. Start the CC1310 at bootloader and then jump to application. It is working!
Jump code:
|
1
2
3
4
|
asm(" MOV R0, #0x06000 "); asm(" LDR R1, [R0, #0x4] "); asm(" LDR SP, [R0, #0x0] "); asm(" BX R1 "); |
2. Start the CC1310 at application and then jump to bootloader. It is working:
Jump code:
|
1
2
3
4
|
asm(" MOV R0, #0x00000 "); asm(" LDR R1, [R0, #0x4] "); asm(" LDR SP, [R0, #0x0] "); asm(" BX R1 "); |
But what I really need to do is jump from application to bootloader, performe some action and then jump back to application.
Today I can jump from application to bootloader, but can't jump back to application. As I said above, the jump from bootloader to application works fine when I start the CC1310 at bootloader, it was tested.
Putting it simple: I can jump from one firmware to the other, but I can't jump back to the first one.
Do you have some clue?
Is there a better way to do the jump?



