「经验」太坎坷,CC2650STK(SensotTag)调试笔记

弄死过两个CC2650STK,又救活了。

想用BLE做点东西,以前使用CC2541

因为是单个理器的关系,在做耗时操作时会导致蓝牙中断,问题一直没法解决

这次论坛活动弄了一套CC2650STK的开发板

看着网站上说(包括TI官网)可以使用JLINK调试

我就天真的以为真的可以

手里有一些开发板上带的JLKINK(NXP LPC54102开发板和FREESCALE的K40开发板)和淘宝上买的JLINK V8

按照TI官网的说明一步步调试

可是怎么也调不通,提示Can not find ICE-Pick……等错误

好容易有一次IAR下载的进度条开始往前走了一点,没等走完又报错

结果是原来好用的SensorTag变成石头了

后来又经过无数次的看贴和调试都没成功

前些天EEWORLD论坛又有活动,Mouser上买LAUNCHPAD 28377S的开发板半价

最高返200E金币

顺便带了一块LAUNCHXL2-RM46的开发板

为来应该买SensorTag Debugger DevPack调试CC2650STK的

觉得一块SensorTag Debugger DevPack虽然便宜,可除了调试CC2650以外也没别的用

就决定买LAUNCHXL2-RM46,220MHz的RM46L852处理器看起来还挺爽

关键板载XDS110仿真器,顺便可以用来调试CC2650,能不能行买来再说

到货后第一个就用来调试CC2650STK

先是用IAR打开examples\cc2650stk\sensortag例程

编译完下载时IAR提示更新XDS110的固件

更新完成后IAR提示Fatal error: Failed to connect to the XDS emulator (connect ICEPick)错误

结果就是不好用,各种试都不行

取下CC2650再用CCS仿真载上带的RM46L852也不好用

各种试还不行是原来板子上的XDS110就是坏的,还是被IAR升级升坏的呢?

心想这下完蛋了CC2650没调成RM46L852也不能用了

在网上好个找贴子最后有人说使用2.2.4.2的固件可以用

按照提示用C:\ti\ccsv6\ccs_base\common\uscif\xds110中的xdsdfu.exe把固件刷成2.2.4.2后

RM46L852可以用了

CC2650还是不行,用CSS也提示错误,大部分是固件版本不兼容等等

看了无数贴,试了无数次都是一样的结果

准备放那吃灰吧

有空时又试了下Flash Programmer 2

也是提示错误,Failed to enumerate XBAL devices

又试了UniFlash

虽然磕磕绊绊经常断,不过好在可以读取BLE MAC,有时候FLASH数据也能读出来

真是太神奇了,这说明XDS110基本上是可以用的

于是用UniFlash写examples\cc2650stk\sensortag\iar\app\FlashOnly_OAD\Exe\sensortag_cc2650stk_app.hex文件到CC2650

有时候能写成功,可是成功后装上电池也没有反应

有时候CC2650STK上的红灯会一直亮

后来拿一块好的CC2650STK用UniFlash读出FLASH和坏的比较一下发现数据很不一样,也不知道是为什么

今天又看到一个贴子说Flash Programmer 2 的XDS110默认是 4线JTAG可以改成2线cJTAG

http://www.deyisupport.com/question_answer/wireless_connectivity/bluetooth/f/103/t/94918.aspx

按照提示把XDS110.dat 和XDS110c2.dat文件名互换了一下

插上开发板打开Flash Programmer 2发现可以检测到CC2650器件了

靠,太神奇了

于是又用Flash Programmer 2读器件MAC,读FLASH都可以

因为Flash Programmer 2可以把FLASH导出.bin文件

如果我把好的CC2650STK的FLASH读出来,再写到坏的CC2650STK里

是不是能先把坏的救活?

管他有啥用先弄好再说

试了一下能读好的,也能写坏的

写好以后坏的还是坏的,装上电池就是没反应

再用Flash Programmer 2读两个的FLASH比较,一模一样

真是的了,啥毛病,搞不懂

再试试把好的CC2650STK中的固件再写回好的CC2650STK

结果好的也变石头了,两石头

两个CC2650STK都挂了,什么心情,恨死TI了,让我费了这么大劲

后来又查资料,查到XDS110可以使用xdsdfu -s 01234567 –r来修改SN

这样一台电脑就可以插多个不同SN的XDS110设备来同时调试多个MCU

觉得改不改没啥用,也没别的招,试试吧

改完以后电脑提示找到新硬件

然后使用CCS仿真,居然能下载了

又迈了一步

下载examples\cc2650stk\sensortag到CC2650

点运行,CC2650没反应

点暂停看到程序运行在Hwi.c中的Void Hwi_excHandler(UInt *excStack, UInt lr)函数中的

while (Hwi_excHandlerFunc == NULL) {

;

}

啥原因也不清楚

CSS不行就用IAR试试

打开examples\cc2650stk\sensortag编译,下载

下载成功,点运行,CC2650也没有反应

点暂停,程序不知道跑哪了,找不到当前位置

看来是examples\cc2650stk\sensortag程序有问题

更有可能是我没弄明白examples\cc2650stk\sensortag是不是直接编译仿真就可以

又看到examples\hex下有cc2650stk_sensortag_rel.hex文件

抱着试试看的态度用Flash Programmer 2刷了一下

插上电池亮了,用手机也能搜到

对比了一下cc2650stk_sensortag_rel.hex是335K

IAR编译的sensortag_cc2650stk_app.hex是153K

应该不是一个项目的关系?

先不管,把另一个CC2650STK也刷回来再说

看了一下,刷好这个是旧的,因为旧的在到手时就发现TMP006掉碴了,不好用

再刷新的CC2650STK的时候中途总是断

Flash Programmer 2提示Unable to start target CPU

用UniFlash下载会在下载的过程中提示Status: Cortex_M3_0: JTAG Communication Error: (Error -1170 @ 0x0) Unable to access the DAP.后中断

试了无数次都一样

新的不能下载

旧的再下载还是能下

一批的东西,PCB和芯片全一样的两个CC2650STK差距怎么就这么大呢

不死心,您猜怎么着?

最后新板使用IAR Project菜单中的Download下的Download File把cc2650stk_sensortag_rel.hex烧进去的

现在两个CC2650都能启动,都可以用手机搜到

这件事太乱太乱,只能等冷静下来好好梳理了

经过这几天的尝试总结如下:

1、JLINK调试CC2650是不行的,至少硬件V8以下,软件V6.10a版本以下不行

能试的我都试了,不过我的V8是D版,开发板带的JLINK硬件版本是1.0

2、LAUNCHXL2-RM46开发板带的XDS110可以仿真CC2650

需要烧最新的固件,需要改序列号

3、另外我把C:\ti\ccs_base下的文件覆盖到C:\ti\ccsv6\ccs_base下了,不知道会有什么用

4、LAUNCHXL2-RM46开发板带的XDS110仿真CC2650,有时会提示ID不对

是因为板上的RM46L852 MCU和CC2650共用一个调试口

又不能物理断开,如果有这种提示可以按住开发板上的PORRST按钮,这是一个硬件复位

据RM46L852手册上说,硬件复位时的RM46L852所有引脚都为高阻态

这样就不会影响CC2650调试了

5、C:\ti\simplelink\ble_sdk_2_02_00_31\examples\cc2650stk\sensortag下的项目和cc2650stk(SensorTag)出厂时带的固件不一样至少直接编译时是不一样的

可能是我没弄明白

6、C:\ti\simplelink\ble_sdk_2_02_00_31\examples\hex\cc2650stk_sensortag_rel.hex这个固件和出厂带的基本一样

Jlink调试CC2650报错

CCS调试CC2650时遇到的其中一个错误

Flash Programmer 2插入XDS110时报错 Failed to enumerate XBAL devices

Flash Programmer 2改成默认2线cJTAG后可以找到CC2650

Flash Programmer 2成功连接设备

Flash Programmer 2成功给旧板下载固件

Flash Programmer 2有时左边会只显示一个XDS110硬件

Flash Programmer 2成功读取CC2650 FLASH

Flash Programmer 2使用Read Flash to File把新板的固件导出到电脑

Flash Programmer 2把成功从新板导出的固件烧回到旧板,校验成功,可就是不好用

Flash Programmer 2读取CC2650 MAC地址

UniFlash读取到的MAC地址和Flash Programmer 2读取的一样

使用UniFlash烧新板导出的固件到旧板

UniFlash烧固件的过程

CCS有时会报错

IAR使用XDS110给CC2650下载固件的过程

修改序列号后的XDS110在使用UniFlash给旧板烧固件时没有错误提示

修改序列号后的XDS110在使用UniFlash给新板烧固件时总是有错误提示

错怪C:\ti\simplelink\ble_sdk_2_02_00_31\examples\cc2650stk\sensortag项目了刚才重装了一下,使用IAR下载成功
除了TMP006收到就坏了,其它都好用

(0)

相关推荐

  • 【精品博文】nios程序烧写到epcs方法

    折腾了好久,才把nios程序烧写到epcs方法弄明白,网上搜了下,这方面资料很多,看了半天也没怎么弄明白,无奈,只好去找官方文档,看完,只想说,官方文档确实给力.下面列出参考资料,并跟大家分享个人经验 ...

  • 从「经验」中学习! 【每日一词Word of the Day】

    experience n. 经验:经历:体验 v. 经历:体验 [发音要点] ex-per-i-ence (请注意听Herman老师的语音讲解) [构词] experience= ex- + peri ...

  • 「经验」生化曝气池泡沫问题全解析及控制办法

    在污水处理过程中,相信大家都常常会遇到曝气池产生大量的泡沫的情况,而且如果静止时,就会从池中溢出,引起外部设备外部池壁的严重污染,使操作条件恶化,严重影响了周围的环境.今天就带大家来看看面对这些该如何 ...

  • 「经验」十年数控加工操作技巧与心得

    转眼间操作数控车床也有十年之久,平时积累了一些数控车床的加工技巧与心得,今天来与各位同仁一起交流探讨一下. 因加工零件的更换频繁及工厂条件受限,十年来我们都是自己编程,自己对刀,自己调试及完成零件的加 ...

  • 开分9.2!B站这「国创」太好看了,都给我追!

    关 注 电 影 派,和 片 荒 说 拜 拜 电影派 Vol.2592 前天,派爷应邀参加了一场首映礼. 映前,队伍排成了长龙,人潮涌动. 观影时,气氛更热. 笑声与尖叫声此起彼伏. 一集放完,掌声雷动 ...

  • 便便粘马桶是「湿气」太重吗?可能是得了这种病

    说起来有点窘,但肯定很多人都遇到过这种"窘况".有人就问了: 这是不是体内湿气重? 吃什么能祛湿啊? 导致大便变粘的原因有很多. 吃太多脂肪.蛋白质类食物,比如坚果.肉类,肠道无法 ...

  • 「干货」太全了!急性心梗的识别与处理,赶紧存起来

    2020-10-03 16:27:04 本病在欧美最常见,在美国每年约有150万人发生心肌梗死.曾经的中国在世界上属低发区,但近年来呈上升趋势. 冠状动脉解剖 冠状动脉分为左冠脉系统和右冠脉系统; 左 ...

  • 【衡道丨笔记】「白求恩·肿瘤病理学社」「肺」常病理时间课程学习笔记(六)

    「白求恩·肿瘤病理学社」项目由白求恩公益基金会发起,旨在提升相关疾病病理诊断的规范化,进一步扩大和实现精准治疗前的准确诊断. 今天由上海市肺科医院的谢晓枫老师带来肺癌病理诊断系列课程<「肺」常病 ...

  • 「Alt」键10大功效,简直太实用了!

    本文作者:易雪龙 来源:Word联盟(ID:Wordlm123) 「Alt+回车」强制换行 单元格中内容过长,我们可以将光标定位到需要换行的地方,然后使用「Alt+回车」快捷键就能够强制换行. 「Al ...

  • 「理论」四十八法实战经验

    四十八法就是先辈总结的实战经验 (1)击人必须手脚腰三劲齐到. (2)进攻之前先考虑好退路. (3)打人用根节发力稳而狠,手为梢,膀为根,步为根,用半步距离短.速度快.变化灵.重心稳. (4)高挑低搂 ...