1、我写了一个程序A,控制LED闪烁,然后又写了一个程序B,另一个LED闪烁,从程序A跳转到程序B,运行正常;
2、我自己又写了一个程序C作为bootloader,可以更新应用程序D。现在我通过程序C更新应用程序D,程序更新成功,但跳转不到程序D;
跳转程序如下:
asm(" MOV R0, #0x8000 ");
asm(" LDR R1, [R0, #0x4] ");
asm(" LDR SP, [R0, #0x0] ");
asm(" BX R1 ");
3、应用程序D的中断向量为0x8000,程序C的中断向量为0x00;
4、请问这样跳转有什么问题吗?
Felix ZF:
你的Flash空间是怎么分布的?
程序A、程序B是怎么设置的?
xian sheng li:
回复 Felix ZF:
程序A的Flash空间是整个Flash空间,程序B的Flash空间是从0x8000开始到0x1FFFF。
Felix ZF:
回复 xian sheng li:
C和D呢?