两台电脑使用SmartRF Flash Programmer 下载simpliciTI的程序,一台烧写后执行正常,另一台烧写后,执行出错
一.基本情况:小弟 用CC2530芯片,基于simpliciTI协议栈,写了一个小程序
二.问题介绍:
1.使用PC机A 烧写程序后,程序按正常流程执行. 但是使用PC机B 烧写程序后,程序执行出错,卡死在了某个环节
下载图片如下图所示,都是选择第三个烧写选项
2.再次使用PC机B 烧写程序,此时先进行选项1的擦除操作,然后再选第三项的烧写程序,结果运行就恢复正常了。请问这种现象是什么原因?
下载图如下:
卡死的时候报的什么错误?
我知道一种是,你点选了“Block debug commands” 并选择了“retain IEEE address when ....”的时候,会报错误
1.两台电脑都烧写成功了(都是点erase program and verify一次烧写),差别在于,程序的执行结果不一样,比如我的程序有5个环节,电脑A烧写的程序就可以正常把5个环节都执行完,但是电脑B烧写的程序,只执行到了第二个环节就卡住了,我试过好多次都这样,是否跟电脑的某些配置有关系?
2.如果我是用电脑B烧写程序的时候,先进行第一项erase操作,点击perform,然后再选择第三项erase.program and verify.再次perform. 这样分两步烧写出来的程序就可以正常执行完所有环节,请问一次烧写和分两步烧写有什么区别吗?
1. 失败会有提示,你可以把提示发出来看看
2. 没什么区别。
首先感谢你的回答,可能是我表达不清楚
1.情况是程序已经成功烧写完了
2.问题是使用不同的电脑烧写同一个固件程序,程序最后的执行结果为什么会不一样?
问题基本解决了,原来是两台电脑的smart RF Flash Programmer 的软件版本不一样,PC机A 装的是SmartRF Flash Programmer 1.12.8.0
PC机B 装的是 SmartRF Flash Programmer 1.11.1.0
经过测试发现 如果按照下图进行操作
都勾选图片中的三个选项进行操作
一:SmartRF Flash Programmer 1.12.8.0 只能成功烧写一次,第二次就会提示“Chip is locked! Not able to read IEEE address. (Uncheck the "Retain IEEE address" option.)” 并且simpliciTI 的程序正常运行
二: SmartRF Flash Programmer 1.11.1.0 随便烧几次都可以烧写成功,但只有第一次烧写的程序可以正常运行,后面烧写的程序都会卡住。(具体表现为无线功能挂掉,而定时器可以正常运行)
三:所以说现在的新问题是, SmartRF Flash Programmer 1.11.1.0 后面几次的烧写,会导致simpliciTI协议栈的运行不正常?