CC2530芯片准备实现串口更新程序,参考Serial Boot Loader for CC253x.pdf 文档,新建立了一个最小功能在没有中断情况下可以更新程序;
当程序代码增加一段中断代码时候在通过串口更新就会提示 Load lmage Did Not Finish Successfully
请教一下这个是什么原因啊,难道更新的APP程序不能有中断吗?
更新app程序是用TI工具 SerialBootTool
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
CC2530芯片准备实现串口更新程序,参考Serial Boot Loader for CC253x.pdf 文档,新建立了一个最小功能在没有中断情况下可以更新程序;
当程序代码增加一段中断代码时候在通过串口更新就会提示 Load lmage Did Not Finish Successfully
请教一下这个是什么原因啊,难道更新的APP程序不能有中断吗?
更新app程序是用TI工具 SerialBootTool
增加的源码如下所示
unsigned int count; //用于定时器计数 /**************************************************************************** * 名 称: InitT3() * 功 能: 定时器初始化,系统不配置工作时钟时默认是2分频,即16MHz * 入口参数: 无 * 出口参数: 无 ****************************************************************************/ void InitT3() { T3CTL |= 0x08 ; //开溢出中断 T3IE = 1; //开总中断和T3中断 T3CTL |= 0xE0; //128分频,128/16000000*N=0.5S,N=62500 T3CTL &= ~0x03; //自动重装 00->0xff 62500/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的状态 } }
现在可以跳转了,感谢。昨天下午尝试了好多次都不能跳转程序,另外请教一下,下载程序SerialBootTool这个工具,下发的协议有吗?就是吧bin文件分包下发到设备端,串口协议是怎么约定的
The Processors Wiki was removed on January 15, 2021
Visit TI.com Get support 我看到的信息就是这个