TI中文支持网
TI专业的中文技术问题搜集分享网站

CC1310 如何从BOOT跳转到应用(程序跳转问题)

现在工程中有两个程序,一个BOOT程序,一个应用程序,使用IAR进行开发,BOOT程序从0x00000000开始存放,应用程序从0x00008040开始存放;

BOOT程序icf文件配置如下:

define symbol __intvec_start__ = 0x00000000;

define symbol ROM_start__ = 0x00000000;

define symbol ROM_end__ = 0x0001FFFF;

define symbol RAM_start__ = 0x20000000;

define symbol RAM_end__ = 0x2004FFFF;

应用程序中icf文件配置如下:

define symbol __intvec_start__ = 0x00008040;

define symbol ROM_start__ = 0x00008040;

define symbol ROM_end__ = 0x0001FFFF;

define symbol RAM_start__ = 0x20000000;

define symbol RAM_end__ = 0x2004FFFF;

上电运行BOOT程序正常,想知道BOOT程序如何才能跳转到应用程序,调用哪些命令或者接口。

希望得到解答,谢谢!

Viki Shi:

请参考如下文档实现SBL的功能【CC1310也适用】:
www.ti.com/…/swra466c.pdf

user6322593:

回复 Viki Shi:

你好,我使用的不是CC1310自带的bootloader,因为我没有多余的引脚;我用的方案是使用BOOT程序下使用串口进行应用程序更新,通过串口下发指令使BOOT跳转到应用程序执行。
现在我需要的就是如何跳转到应用的指令,谢谢!

Viki Shi:

回复 user6322593:

需要自行通过汇编实现,参考这边:e2e.ti.com/…/907745

user6322593:

回复 Viki Shi:

你好,我按照问题中所说的,使用

void jumpToApp(uint32_t sp, uint32_t pc) {asm(" LDR SP, [R0, #0x0]");asm(" LDR PC, [R0, #4]");
}

进行跳转,跳转地址为0x0000B040,跳转之前关闭了使用过的外设;但是没有跳转成功,请问我是否还需要进行其他操作?比如重定向向量表?

以及是否有关闭全局中断的命令可以调用?

赞(0)
未经允许不得转载:TI中文支持网 » CC1310 如何从BOOT跳转到应用(程序跳转问题)
分享到: 更多 (0)