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.
Tool/software:
Hi
In our application we will need to provide a hex file as a flashable image for the SW.
The SW will run on multicore therefore the hex file need to be generated from the .mcelf from the system project.
What is the process to get the hex file generated as the system project does offer the option to generate a file from the build ?
I tried to call the tiobj2bin script as a post build step but I'm getting the following error:
Tool invocation:
C:/ti/ccstheia151/ccs//utils/tiobj2bin/tiobj2bin.bat ./Debug/Multicore_LedBlinkingApp_am263px-lp_system_nortos.mcelf ./Debug/Multicore_LedBlinkingApp_am263px-lp_system_nortos.mcelf.hex C:/ti/ccstheia151/ccs//tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmofd.exe C:/ti/ccstheia151/ccs//tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmhex.exe C:/ti/ccstheia151/ccs//utils/tiobj2bin/mkhex4bin.exe
Result:
[1010]Use of uninitialized value $str in pattern match (m//) at XML_TI_OFD.pm line 2146.
[1011]Use of uninitialized value in multiplication (*) at script/mkhex4bin.pl lin
I can't really really find an answer online about what cause this error.
Also it seems the .mcelf can be opened using a hexview tool. Doing so, the hex address mapping does not correspond to what is specified in the projects linker scripts.
Your help in understanding what the process is highly appreciated.
Looking forward to reading from you.
Regards
Seb
Note: I'm using mcu_plus_sdk_am263px_10_00_00_35
Hi Sebastien,
In our application we will need to provide a hex file as a flashable image for the SW.
Is this is a requirement for the flashing tool that you are using?
I also got more info on hex conversion tool, we currently do not have a hex conversion tool for mcelf format
Hi
Thanks for your feedback.
I will check internally but I think it will be a problem for us.
Effectively the hex file is needed to update the ECUs in the field with a "classic" flashing tool.
Could you please confirm what is the plan your side ?
Is it simply not coming or the hex conversion of the mcelf will become available in a subsequent version of CCS ?
What other avenues can we explore to generate this hex file ?
Thanks
Regards
Seb
Hi Sebatian,
Based on your rquest, I have been able to get this request prioritized We have a plan to build the tooling the same is expected to be available in Q1 2025 SDK release.
Hi
Thanks for your feedback.
This is good in a way but also bad as it will be too late for us.
Any workaround you can suggest in the meantime using any combination of tools like tiarmhex or bin2hex or something or any kind of script ?
Thanks
Regards
Seb
Sebastian,
Since this is a new tool development it will not be possible to provide something immediately,
You can use .appimage format till SDK 11.0 comes, that is when appimage format will be decommissioned. We already have hex image format generator as part of arm hex utility generator.
Hi
Thanks for the reply.
Would it be possible to describe a bit more how to proceed ?
As the hex tool is disabled / does not exist in CCS THEIA for a system project, it is as simple as writing a script which calls on tiarmhex.exe to convert the appimage file in the system folder into the required hex file format or there is more to it ?
Looking forward to getting more details.
Thanks.
Regards
Seb
Hi Sebastian,
Yes it will be a command line script you can write, for more details please follow this:16. Hex Conversion Utility Description — TI Arm Clang Compiler Tools User's Guide
This option is present in CCS 12.8 Eclipse IDE, the ide shows below option for generating hex tool:
/cfs-file/__key/communityserver-discussions-components-files/908/pastedimage1619276318581v2.png
Hi Nilabh
Thanks for your feedback. I'm also in relation with Chris Lande on the subject.
He also pointed me to the same documentation but it seems the tool is having issues with images created from a system project.
Here is the latest error I get using the .appimage instead of the .mcelf :
I’m invoking the tool with this command line:
C:/ti/ccstheia151/ccs//utils/tiobj2bin/tiobj2bin.bat ./Debug/Multicore_LedBlinkingApp_am263px-lp_system_nortos.appimage ./Debug/Multicore_LedBlinkingApp_am263px-lp_system_nortos.appimage.hex C:/ti/ccstheia151/ccs//tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmofd.exe C:/ti/ccstheia151/ccs//tools/compiler/ti-cgt-armllvm_4.0.0.LTS/bin/tiarmhex.exe C:/ti/ccstheia151/ccs//utils/tiobj2bin/mkhex4bin.exe
I believe the command line is correct and calls for the right OFD and Hex generation tools but it is running into the following error :
"./Debug/Multicore_LedBlinkingApp_am263px-lp_system_nortos.appimage"
Use of uninitialized value $str in pattern match (m//) at XML_TI_OFD.pm line 2146.
Use of uninitialized value $targ_num in hash element at XML_TI_OFD.pm line 1325.
Unexpected target: unknown at script/mkhex4bin.pl line 270.
C:/ti/ccstheia151/ccs//utils/tiobj2bin/mkhex4bin.exe failure occurred. Giving up.
It seems to be an internal error thrown by the tool but I’m stuck to debug it.
Can the tool create an hexfile for a multicore .appimage ?
The documentation provided on the hex tool is not clear on this point.
Thanks for your help.
Regards
Seb
Hi Sebastian,
Unfortunately, I am not aware of this error, Let try to pull in experts from our tools team on this.
George Mock Could you please help us here.
Hi Sebastian,
We recommend not using tiobj2bin.bat, which is an old tool that is not very well supported. Instead you should switch to using tiarmobjcopy, which is documented here and is located in the same \bin directory as tiarmclang. This avoids use of the older tiarmhex hex utility as well. Is it possible to switch?
-Alan
Hi
Thanks Alan for your answer. Apologies for the delayed reply, I will look into this and come back to you.
Thanks
Regards
Seb