3.CC2530 升级—不使用协议栈
最近,需要用到CC2530升级程序功能,而以前也没接触过协议栈,摸索了一下升级方案;
程序升级主要需要用到两个程序:APP程序+BOOT程序;
升级程序需要解决四大问题:
1、两个不同程序,中断向量必然不同,需要修改中断向量;
2、两个不同程序,需要分别存储到FLASH中不同区域,所以需要修改程序起始地址;
3、FLASH区域读写擦除等;
4、程序跳转;
一、 修改中断向量
关于中断向量修改,网上有好多说可以修改,但是都未成功解决,可能我理解不到位(有解决了的,感谢帮忙指正),没办法只能换一种方法;
在APP程序准备跳转到BOOT程序前,擦除FLASH第0页,将BOOT程序的中断向量写入第0页,这样BOOT程序也就可以使用中断了;
BOOT程序中接收到第0页数据先不动,保存起来
等退出BOOT程序跳转到新程序前,擦除FLASH第0页,将新程序的中断向量写入第0页
二、修改程序起始地址
这一部分比较简单,直接在配置文件中修改就可以了;
在文件lnk51ew_cc2530F256_banked.xcl(对应芯片和code model)