Part Number:CC2652RB
Hi Ti,
我在用 simplelink_cc13x2_26x2_sdk_4_30_00_54\examples\rtos\CC2652RB_LAUNCHXL\drivers\spimaster\tirtos\ccs 例程时发现一个奇怪的现象。
当我烧写 .out 文件后,即使板子重新断电,程序还能正常运行。
但当我烧写 .hex 文件后,程序当时是可以正常运行的,断电后却运行不起来了(通过检查,发现是使能了 backdoor 而代码的起始地址又不正确导致)
我的操作步骤如下:
首先我在 CCS 中导入了 spimaster 例程,然后使能了 .hex 工具,如下:
然后右击 rebuild 工程,这样就产生了项目的 .out 和 .hex 文件,如下:
再然后通过 smartRF flash programmer2 分别烧写以上两个固件:
烧写完固件后,读取 CCFG 区域的内容如下(左图为 .out 文件,右图为 .hex 文件):
通过技术手册的描述可知,.hex 文件使能了backdoor却没有给出有效的起始地址,导致程序上电后不能正常工作。
但是我通过 .syscfg 文件看到 backdoor 并没有使能:
以上的结果让我很是奇怪,不知道是由什么原因引起的,以及要怎么解决这个问题呢?
谢谢!
Cherry Zhou:
您好我们已收到您的问题并升级到英文论坛,如有答复将尽快回复您。谢谢!
,
junde deng:
我发现关闭上面说的 ”Arm Hex Utility",然后在如下界面通过命令生成 .hex 文件就一切正常:
(命令为:${CG_TOOL_HEX} -order MS –memwidth=8 –romwidth=8 –intel -o ${ProjName}_${ConfigName}.hex ${ProjName}.out)
,
YiKai Chen:
不知道為什麼ti spimaster這個例程沒有在hex utility裡面使用–intel,應該是沒有使用intel格式造成的問題
,
Cherry Zhou:
您好,您可以参考以上回复和该回复:
我们尝试了您的以上操作,发现这是默认 Arm Hex Utility option的预期操作和行为。
请您输入“Output Format Options”,然后选择Intel hex作为输出格式,默认使用的是 Tektronix(在该指南中有指出:ARM Assembly Language Tools User's Guide),但是这个没办法对SimpleLink 器件进行充分编程, 因此您现在看到的默认的 CCFG 设置 (就像闪存编程器 2 擦除了器件存储器一样) ,该设置在使用 .out file或-INTEL option生成十六进制文件的时候会被修复、正如Post-build steps command所示。
希望以上回答对您有所帮助,如有其他问题请随时联系我们。