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

CC2640如何 在simplelink私有协议下类式与bootloader方式的在线更新固件

我程序有两处理代码, 一处放正常运行的代码,比如 128K的空间, 我120K分两个区, 60K正常代码区,60K备份代码区,8K类式与bootloader功能专门把备份区的代码写入运行区60K代码, 前两个功能都实现了,现在我不知道怎么从正常运行的程序跳转到 8K烧写代码区, 8K地址是知道放在哪一下区域的, 

我想实现在任何时候都可以互相跳转,更新代码,  我用STM32实现 的方法是这样的

if (((*(__IO uint32_t*)ApplicationAddress) & 0x2FFE0000 ) == 0x20000000)
{ /* Jump to user application */
JumpAddress = *(__IO uint32_t*) (ApplicationAddress + 4);
Jump_To_Application = (pFunction) JumpAddress;
/* Initialize user application's Stack Pointer */
__set_MSP(*(__IO uint32_t*) ApplicationAddress);
Jump_To_Application();
}

但我不知道CC2640是如果实现 的

Viki Shi:

请参考一下这边的bootloader guide:www.ti.com.cn/…/swra466c.pdf

user1412065:

回复 Viki Shi:

swra466c.pdf 只说了实现 方法,里面的代码提供吗,我可以从里面的代码找到那个跳转方法,也就是

bootloader的源码你们会提供吗

Viki Shi:

回复 user1412065:

有一个serial bootloader的例程提供:github.com/…/ble_examples-2.2
虽然是基于CC2650,但是跟CC2640的结构类似

user1412065:

回复 Viki Shi:

bootloader功能我实际已经实现 了,我就是想在代码更新后,跳转到更新后的代码地址,并运行的方法

Viki Shi:

回复 user1412065:

目前SBL的例程不多,跳转的问题请参考下:e2e.ti.com/…/891438

赞(0)
未经允许不得转载:TI中文支持网 » CC2640如何 在simplelink私有协议下类式与bootloader方式的在线更新固件
分享到: 更多 (0)