在IAR 环境下CC2530的bootloader设计问题
尊敬的TI工作人员您好!
我设计一个项目需要使用到程序的在线更新,遇到问题!使用的是IAR IDE 有三个问题请教
1、如何确定设置APP 程序烧写的起始地址,
我是 修改文件lnk51ew_CC2530F256_banked.xcl 中的
-D_NEAR_CODE_START=0x0800 //将App起始地址设置为0x800 , 但是 0x0000---0x0060 还是被写进了程序。
2、如何在用IAR环境下用CCDEBUGER 下载APP 不擦除bootloader
我按照SBL 文档所述,设置project-->options-->Texas Instruments-->Download 选择 Retain unchanged pages , 或者 Retain flash pages 都不能保存住boot 的程序
3、如何重新映射APP的中断向量表。
第三个问题,我看到有的文章中说修改boot 程序中的 interrupt_stubs.s51文件
OFFSET EQU 0x800。这样做,是不是跳转到了APP的程序空间中,会不会bootloader 和APP 的中断程序相互影响
在Serial Boot Loader For CC253x SoC.pdf 中 figure 1 中描述的 Re-localed ISR's to 0x2000 ---0x2089是如何实现的。
你准备使用什么通信接口进行BootLoader呢?串口吗?
你这里说的应该是OTA吧,通过无线下载程序。
OFFSET EQU 0x800
COMMON INTVEC(1)
;
; interrupt vectors in boot code simply jump to the user's LJMP
; instruction based at the known offset of 0x800 (flash page 1).
根据描述,这个是可以跳转到用户程序的。
这个
http://software-dl.ti.com/download/lprf/Y5@_WTNJ9J49N5DQTNBDH38GVEKSTCSJ/Z-Stack_Home_1.2.2a.exe
你下载了吧?
安装后C:\Texas Instruments\Z-Stack Home 1.2.2a.44539\Documents
有相关的文档。我没看太懂,你看看能否懂。
感谢gaoyang9992006的回答,问题还是解决不了。盼望有TI工作人员能给予指点,谢谢!
顶一下,在线等
我之前做过在线升级。给你几个思路,希望可以帮助你。
1、下面节点的在线升级。CC2530是需要外扩flash的,自身的flash压根不够用。
2、将CC2530片内flash分区,TI好像有个文档介绍了flash的地址及分区。你只要将代码区分为两个部分,一个bootloader 。一个APP code。
3、自己写一个bootloader。这个bootloader的功能就是拷贝功能。将代码从外扩flash拷贝到片内flash。
4、在.xcl配置文件里面要修改相应的地址。
感谢xiaohui bu 的解答,我现在已经可以把 bootloader 和 APP code 分别下载到cc2530的flash 中,也可以 运行了,我也是准备弄一个SPI flash 做升级用。再次感谢xiaohui bu
不客气。大家相互交流学习!
你好,请问你是如何解决的,我现在也是程序单步可以跳转到0x2000地址,但实际没有正常执行。bootloader中首次收到SBL写命令后将代码写入2048地址,这里是不是有问题?因为boot文件大小是大于2048的
http://processors.wiki.ti.com/index.php/CC253x_Serial_Boot_Loader. 按照这篇文档一步步做就可以了