Part Number:CC2530
CC2530芯片准备实现串口更新程序,参考Serial Boot Loader for CC253x.pdf 文档,新建立了一个最小功能在没有中断情况下可以更新程序;
当程序代码增加一段中断代码时候在通过串口更新就会提示 Load lmage Did Not Finish Successfully
请教一下这个是什么原因啊,难道更新的APP程序不能有中断吗?
更新app程序是用TI工具 SerialBootTool
MX_TI:
增加的源码如下所示
unsigned int count;//用于定时器计数 /**************************************************************************** * 名称: InitT3() * 功能: 定时器初始化,系统不配置工作时钟时默认是2分频,即16MHz * 入口参数: 无 * 出口参数: 无 ****************************************************************************/ void InitT3() {T3CTL |= 0x08 ;//开溢出中断T3IE = 1;//开总中断和T3中断T3CTL |= 0xE0;//128分频,128/16000000*N=0.5S,N=62500T3CTL &= ~0x03;//自动重装 00->0xff62500/255=245(次)T3CTL |= 0x10;//启动EA = 1;//开总中断 }//定时器T3中断处理函数 #pragma vector = T3_VECTOR__interrupt void T3_ISR(void){IRCON = 0x00;//清中断标志, 也可由硬件自动完成if(count++ > 245)//245次中断后LED取反,闪烁一轮(约为0.5 秒时间){//经过示波器测量确保精确count = 0;//计数清零LED1 = ~LED1;//改变LED1的状态}}
,
Galaxy Yue:
您好,
有一种可能是中断在实行过程中改变了程序的跳转地址,所以导致串口更新无法导致正常完成。
您可以尝试使用固定的地址
另,正常来讲是合理的
MX_TI 说:更新的APP程序不能有中断吗
,
MX_TI:
有一种可能是中断在实行过程中改变了程序的跳转地址?中断程序只是执行LED闪烁啊
,
Galaxy Yue:
看您添加的代码是执行LED闪烁这样的,
但通常如果产生中断会有这个可能性
我还在定位其他原因
,
Galaxy Yue:
现在灯闪烁吗
下载boot后,在程序跳转的地方设置断点,看看有没有跳转到app去执行
,
MX_TI:
现在可以跳转了,感谢。昨天下午尝试了好多次都不能跳转程序,另外请教一下,下载程序SerialBootTool这个工具,下发的协议有吗?就是吧bin文件分包下发到设备端,串口协议是怎么约定的
,
YiKai Chen:
可以參考一下 ee.mweda.com/…/392085.html
,
MX_TI:
收到,感谢,有相关文档吗
,
Galaxy Yue:
https://processors.wiki.ti.com/index.php/CC253x_Serial_Boot_Loader
可以看一下这个
,
YiKai Chen:
ti官網的serial boot loader相關文件連結已經失效,或許可以參考一下blog.csdn.net/…/82994025
,
MX_TI:
This Page Does Not Exist 已经失效了,下次发之前先打开看下,谢谢
,
Galaxy Yue:
抱歉,
我的是可以打开的,没留意到对于客户是404
您看YiKai先生发的就好
有问题欢迎再来论坛交流
,
MX_TI:
This Page Does Not Exist
The Processors Wiki was removed on January 15, 2021
You
InformationVisit TI.com Get support 我看到的信息就是这个
,
Galaxy Yue:
明白的,上条回复有讲,我没留意到对于客户是看不到的,对此感到抱歉
希望您能看YiKai先生发的CSDN,
内容并无缺少甚至更为完全