首页 » 科学 » 太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒

太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒

admin 2025-01-14 03:14:49 0

扫一扫用手机浏览

文章目录 [+]

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

由于是单个理器的关系,在做耗时操作时会导致蓝牙中断,问题一贯没法办理

太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒 太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒 科学

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

太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒 太坎坷CC2650STK(SensotTag)调试笔记_固件_提醒 科学
(图片来自网络侵删)

看着网站上说(包括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收到就坏了,其它都好用

点击阅读原文可与作者互换、沟通。

以上图文内容均是EEWORLD论坛网友:littleshrimp 原创,在此感谢。

欢迎微博@EEWORLD

如果你也写过此类原创干货请关注微信"大众号:EEWORLD(电子工程天下)回答“投稿”,也可将你的原创发至:bbs_service@eeworld.com.cn,一经入选,我们将帮你登上头条!

与更多行业内网友进行互换请上岸EEWORLD论坛。

相关文章