我们需要 在线升级功能类式于bootloader功能, 但我们要自己实现, 现在有两个问题,
1, 在线升级需要两个固件,一个是正常运行程序 ,一个是升级程序,这两个之间 跳转是用什么方式 ,有没有类式的代码,
2, flash的擦除功能,在升级的时候需要把主程序的固件全擦除,写入新固件,
固件的导入方式 已经实现了,但没有找到擦除flash 源码,还两个固件之间的跳转方法源码
Viki Shi:
BootLoader升级原理及方法请参考下面文档:
CC2538&CC26xx Serial Bootloader Interface_swra466a.pdf
user1412065:
回复 Viki Shi:
方法我看了,那个串口实现肯定可以的,但从里面找到的代码是C++的还是独立的几个文件放在一起,我对C++不熟,也没有找到 我想要的几个实现方法,
我就是想知道 两个固件之间的来回跳转指令,应该是控制哪个寄存器实现 的,还有 擦除闪存的指令,及解锁指令,你们没有这个简单的源码提供或说明吗,
Viki Shi:
回复 user1412065:
目前发布的只有这个文档包含的代码
user1412065:
回复 Viki Shi:
先简单点吧,如果我先对128K Flash地址进行 读写,如何实现,有没有说明及源码
user1412065:
回复 user1412065:
我如果用CC2640R2 自己Flash 划出一个空间存另一个固件,实现 不了吗
Viki Shi:
回复 user1412065:
看下这边的类似讨论,里面提供的代码应该有用:e2e.ti.com/…/552057
user1412065:
回复 Viki Shi:
我用想用CC2640R2 实现 类式于 Bootloader功能, Bootloader 是通过串口下载的,我是通过 W25Q80里的代码下载到 CC2640R2, 如果没有完整的 Bootloader 代码给我参照,你可以提供 怎么内部 擦除闪存块,及写入闪存块的指令及方法,最后 实现 跳转固件另一个地址区,运行刚才写的固件