为什么CC2650每次只能烧写一次代码 第二次必须使用Flash Program 2 擦除后,才能往里面重新写入代码
仿真器:XDS100V3 PCB:淘宝上购买的CC2650核心板(CC2650 7x7 +天线+晶振+剩余的引出GPIO口)
在Flash Program 2 连接后,可以看到CC2650的芯片版本是2.2。
接线接了TMS、RTCK、PD、3V3、GND、TRST
蓝牙栈:2_01_00_44423 IAR:
计算机操作系统:XP
程序使用的是蓝牙栈自带的例子程序:SimpleBLEPeripheral
第一次烧写的过程如下:
把App和Stack的Option -General Option -Target-Device改成TexasInstruments CC2650F128
分别编译成功后,先烧写Stack:在Stack工程窗口-> project -> Download ->Download active Application
烧写Stack成功后,切到App窗口选择Download and Debug绿色箭头。全速运行。烧写成功。断开仿真器和电脑的usb连接
第二次烧写过程:
App编译成功后,连接仿真器和电脑的usb线,在app窗口直接点选择Download and Debug绿色箭头。就报错,如下图
Stack按照第一次的烧写过程也无法烧写成功。报错内容也和上图类似。
后来只能使用SmartRF Flash Program 2 - > Erase unprotected pages 擦除成功后,方能按照第一次烧写的过程烧写入Stack和App。
(第一次使用SmartRF Flash Program 2的时候曾近使用过一次CC26XX/CC13XX Froced Mass Erase)
但是这样每次修改App还需要修改擦除、烧写Stack、烧写App很麻烦。
试过好几种方法,按照SWRU393.pdf的方式重装SDK、IAR、修改环境变量等等还是没用。
后来又换了一台电脑(系统是Win7 64bit)安装SDK和IAR还是遇到一样的问题。
被这个问题已经卡住好几天了,请教大家如何解决?
jia,
老实说,很难讲。。。
你要不试一下CCS?下载最新的CCS试试看。
Y
jia,
老实说,很难讲。。。
你要不试一下CCS?下载最新的CCS试试看。
会不会是XDS100V3或者核心板有问题?
另外,我有些担心,是否使用Flash Programmer 2中的CC26XX/CC13XX Froced Mass Erase,会把CC2650芯片里的保护部分擦除,
而这些保护部分是无法依靠重新烧写stack恢复的?
jia,
force mass erase 你不用担心,不会擦除不该擦除的部分,只会擦除app和stack的空间。
是不是你的XDS还是核心板的问题不好说啊,因为不是TI官方的。。。
但是TI都是把参考设计公开的,他们也不至于会有低级错误吧,可能是XDS的问题概率高一点,要是可以,换个XDS试试?
不是应该接TCK么?
Y
jia,
force mass erase 你不用担心,不会擦除不该擦除的部分,只会擦除app和stack的空间。
是不是你的XDS还是核心板的问题不好说啊,因为不是TI官方的。。。
但是TI都是把参考设计公开的,他们也不至于会有低级错误吧,可能是XDS的问题概率高一点,要是可以,换个XDS试试?
使用最新的ccs就没有这样的问题了。
是不是iar和别的软件有冲突?
Xiaoliang Peng
不是应该接TCK么?
XDS100vs的那个口和芯片上的tck是一回事
复位应该接仿真器的SRST而不是TRST,我也在这纠结了好久。。。
TRST 接错了,换SRST
cc26系列调试接口有cjtag和传统jtag两种方式!
楼主用的第一种,建议把复位引脚也接上!
xianglin dong
TRST 接错了,换SRST
你是对的,复位应该接SRST