This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
诉求: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,但是太大了不符合预期
您好,
图中似乎是Python报错,这个错误通常是由整数溢出引起的。当算术运算的结果超过为该变量分配的内存中可以存储的最大值时,就会发生整数溢出。
似乎是在调用OAD tool的时候出现的错误。所以最后生成的oad.bin文件肯定是有问题的。
我们建议您参考这个文档去修改文件oad:Adding BLE OAD to an Existing Project
您好,
不好意思久等了。我发现您之前使用的是simple_peripheral_oad_onchip来进行修改的。我发的文档是基于offchip可能您修改这些并不能达成您想要的效果。
你之前是通过simple_central,给它添加相关oad的内容。如果是onchip的话,我们工程师讨论后认为您需要在现有的onchip上进行修改(类似于simple_peripheral_oad_onchip)。所以您应该将simple_central的内容移植到simple_peripheral_oad_onchip上。
希望这个建议能帮助到您。
您好,
是不是以后使用的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过程,向现有工程添加比较麻烦。