微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > Serial Boot Loader for CC2530 APP程序不运行问题求助

Serial Boot Loader for CC2530 APP程序不运行问题求助

时间:10-02 整理:3721RD 点击:

问题1:

注释掉cc2530-sb.xcl中最后一行:// -HFFFF

下载完成用asm("LJMP0x2000\n");跳转不到应用的main函数,而是循环执行boot的main,像是复位。

如果不注释最后一行,程序正常跳转运行应用的mian函数。

问题2:

不注释最后一行,程序正常运行,但是如果有中断产生,产生复位。

1. 注释了-HFFFF会影响CRC的计算,自然是有问题的。

2. 你是否修改了-D_CODE_START=0x2000? 或者你的boot代码里是否包含了interrupt_stubs.s51?

谢谢你的回答!再补充下问题描述如下:

1.整个升级过程中没有CRC校验:

1)在boot代码中把跳转时CRC校验部分注释掉了;

2)APP程序中cc2530-sb.xcl注释// -J2,CRC16  和  // -HFFFF ;

3)option中xMAKE_CRC_SHDW。

2.确定APP的cc2530-sb.xcl已经修改 -D_CODE_START=0x2000;且boot代码包含interrupt_stubs.s51

3.问题2中如果APP中没有产生中断,程序可以一直正常运行。

1. 我基本都是按照文档做,我想不出什么理由不使用crc,建议先按照文档,每一步仔细follow。

2.  那你的.xcl里有-Z(CODE)INTVEC=_CODE_START 吗?

思路很简单的, 通过interrupt_stubs 跳转到应用代码的中断向量表,如果偏移对,映射对,没理由不跳到正确位置。

1.CC2530通过网关进行升级,网关原有一套成熟升级机制,因此CC2530在SBL基础上修改。如果使用CRC那就必须填充-HFFFF,生成bin文件会大,传输bin文件增加了网关流量。如果没有好的解决方式只能在生成bin文件后,手动删除多余0xFF。

2..xcl里有-Z(CODE)INTVEC=_CODE_START ,生成的bin文件填充了0xFF。

问题现象是:boot正常启动,也能正常跳到位置运行APP(组网/收发数据),一旦有中断产生例如timer3/uart,程序就复位。

如果是这样,你可以考虑在IAR里VIEW一下汇编语句和flash里的内容,看对应位置和跳转地址是否是对的.

好的,多谢你的解答

你好,首先建议还是要保留CRC毕竟安全是第一位的,流量多一点少一点都是要走流量,感觉节约流量取消CRC的风险还是挺大的。

另外问一下,上位机是用的单片机?下载的串口协议从哪里找的?我想用树莓派给2530下载程序 没找到串口协议,如果方便请指教,谢谢!

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top