TI中文支持网
TI专业的中文技术问题搜集分享网站

LAUNCHXL-CC26X2R1: Demo(simple_central)生成Bin文件异常

Part Number:LAUNCHXL-CC26X2R1

诉求:simple_central生成用于OAD的Bin文件,编译过程报错,生成BIN文件过大

对比测试simple_peripheral_oad_onchip工程可以正常生成且Bin大小合理。

操作过程如下:

1、添加HEX转BIN指令(${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/tools/common/oad/oad_image_tool –verbose ccs ${PROJECT_LOC} 7 -hex1 ${ConfigName}/${ProjName}.hex -k ${COM_TI_SIMPLELINK_CC13XX_CC26XX_SDK_INSTALL_DIR}/tools/common/oad/private.pem -o ${ConfigName}/${ProjName}_oad)

2、配置文件增加OAD

3、编译工程报错

Finished building target: "simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out"
E:/ble_css/ccs/tools/compiler/ti-cgt-armllvm_1.3.1.LTS/bin/tiarmhex.exe -order MS –memwidth=8 –romwidth=8 –intel -o simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.hex simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out
Translating to Intel format…
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .resetVecs ==> .resetVecs
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .rodata.1 ==> .rodata.1
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .text ==> .text
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .rodata.2 ==> .rodata.2
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .cinit ==> .cinit
"simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.out" .ccfg ==> .ccfg
E:/Ti_cc2642/simplelink_cc13xx_cc26xx_sdk_6_41_00_17/tools/common/oad/oad_image_tool –verbose ccs E:/Ti_cc2642/sdk2/simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang 7 -hex1 Release/simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang.hex -k E:/Ti_cc2642/simplelink_cc13xx_cc26xx_sdk_6_41_00_17/tools/common/oad/private.pem -o Release/simple_central_CC26X2R1_LAUNCHXL_tirtos7_ticlang_oad
makefile:198: recipe for target 'post-build' failed
Traceback (most recent call last):
File "oad_image_tool.py", line 542, in <module>
File "oad_image_tool.py", line 341, in main
File "oad_image_tool.py", line 184, in createAppStackBinfile
File "imgBinUtil.py", line 252, in updateImgLen
File "imgBinUtil.py", line 105, in writeBytes
OverflowError: can't convert negative int to unsigned
[20640] Failed to execute script 'oad_image_tool' due to unhandled exception!
gmake[2]: [post-build] Error 1 (ignored)

4、有生成BIN,但是太大了不符合预期

Nick Sun:

您好,

图中似乎是Python报错,这个错误通常是由整数溢出引起的。当算术运算的结果超过为该变量分配的内存中可以存储的最大值时,就会发生整数溢出。

似乎是在调用OAD tool的时候出现的错误。所以最后生成的oad.bin文件肯定是有问题的。

我们建议您参考这个文档去修改文件oad:Adding BLE OAD to an Existing Project

,

疾风亦有归途:

您好!

我有如下疑问

1、linker defines是哪里?

2、.opt是那个文件?

3、4  .cfg是那个文件

5、移除这个文件(ccfg_app_ble.c)就行还是将ccfg_app_ble.c连接到bim_onchip_CC26X2R1_LAUNCHXL_nortos_ticlang,没太明白

,

Nick Sun:

您好,

不好意思久等了。我发现您之前使用的是simple_peripheral_oad_onchip来进行修改的。我发的文档是基于offchip可能您修改这些并不能达成您想要的效果。

你之前是通过simple_central,给它添加相关oad的内容。如果是onchip的话,我们工程师讨论后认为您需要在现有的onchip上进行修改(类似于simple_peripheral_oad_onchip)。所以您应该将simple_central的内容移植到simple_peripheral_oad_onchip上。

希望这个建议能帮助到您。

,

疾风亦有归途:

诉求:可以把SDK Demo中simple_central\multi_role\simple_peripheral等工程编译生成的HEX生成OAD使用的BIN。

1、是不是以后使用的bin必须是将simple_central\multi_role\simple_peripheral等移植到simple_peripheral_oad_onchip上才能生成bin吗?

2、offchip的bin与onchip的bin有什么区别?

,

Nick Sun:

您好,

疾风亦有归途 说:是不是以后使用的bin必须是将simple_central\multi_role\simple_peripheral等移植到simple_peripheral_oad_onchip上才能生成bin吗?

如果要生成的是onchip OAD的工程,我们建议是基于simple_peripheral_oad_onchip来进行修改。

疾风亦有归途 说:offchip的bin与onchip的bin有什么区别?

不能说是bin的区别,是onchip OAD和offchip OAD工程的区别。因为onchip OAD还包含一个persistent app工程,用来执行oad过程,向现有工程添加比较麻烦。

,

疾风亦有归途:

诉求:两个user_APP 分别在flash不同位置,user_APP_A:起始地址0x00->0xAA,user_APP_B:起始地址0xB1->0xB2, A刷写B,或者B刷A。升级方式使用Uart/SPI(非OAD),是否可行?

这个时候我们user_APP是否还要在simple_peripheral_oad_onchip上修改?

如果不依赖simple_peripheral_oad_onchip工程,那么Bin应该怎么生成?

对于我们要实现的AB分区还有什么参考资料和建议?

谢谢!!!

,

Nick Sun:

您好,

这个问题和本帖子主题不是很相关,希望您能重新开一个帖子进行提问,这也能方便其他人进行查询。

感谢您的配合和支持。本帖子将关闭。

赞(0)
未经允许不得转载:TI中文支持网 » LAUNCHXL-CC26X2R1: Demo(simple_central)生成Bin文件异常
分享到: 更多 (0)