Other Parts Discussed in Thread: CC3220SF, , UNIFLASH
Tool/software: Code Composer Studio
nortos: How to convert *.out to *.bin?
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: Code Composer Studio
nortos: How to convert *.out to *.bin?
Hi,
Are you trying to convert the .out of a complied example to a .bin manually? All of the examples in the CC32xx SDK should have a post-build setup that performs the conversion from .out to .bin automatically.
If you really want to perform it manually, you can use the following command:
${CG_TOOL_ROOT}/bin/armobjcopy -O binary --only-section .text --only-section .const --only-section .cinit --only-section .resetVecs ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin
Where ${CG_TOOL_ROOT} is the path to your compiler bin folder, ex. ccs/tools/compiler/ti-cgt-arm_20.2.1.LTS
and where ${BuildArtifactFileName} is the name of your .out file.
Let me know if you need more clarification on converting .out files, or have further questions on the .bin build process.
Regards,
Michael
Hi,
Thank you for your detailed reply.
My CCS version is 9.2. The result of automatic compilation is as below:
......
Finished building target: "uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out"
C:/ti/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/armobjcopy -O binary --only-section .text --only-section .const --only-section .cinit --only-section .resetVecs uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out uartecho_CC3220SF_LAUNCHXL_nortos_ccs.bin
makefile:175: recipe for target 'post-build' failed
process_begin: CreateProcess(NULL, C:/ti/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/armobjcopy -O binary --only-section .text --only-section .const --only-section .cinit --only-section .resetVecs uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out uartecho_CC3220SF_LAUNCHXL_nortos_ccs.bin, ...) failed.
make (e=2): 系统找不到指定的文件。
gmake[2]: [post-build] Error 2 (ignored)
In CCS9.2, I can't find 'armobjcopy ', but I find 'arm-none-eabi-objcopy'. So I edited the makefile. But, still failed. The result is:
Finished building target: "uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out"
C:/ti/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/arm-none-eabi-objcopy -O binary --only-section .text --only-section .const --only-section .cinit --only-section .resetVecs uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out uartecho_CC3220SF_LAUNCHXL_nortos_ccs.bin
makefile:175: recipe for target 'post-build' failed
C:/ti/ccs920/ccs/tools/compiler/ti-cgt-arm_18.12.3.LTS/bin/arm-none-eabi-objcopy:uartecho_CC3220SF_LAUNCHXL_nortos_ccs.out: file truncated
gmake[2]: [post-build] Error 1 (ignored)
What's the mean?
Thank you sincerely!
Hi,
The post build step I provided assumes you are using CCS 10, or at least have the latest v.20.2.1 TI ARM compiler.
For earlier versions of CCS + the TI ARM compiler the steps are different. Looking through my old workspace materials, it appears that the old method to make the .bin from a .out used this command:
${CCS_INSTALL_ROOT}/utils/tiobj2bin/tiobj2bin ${BuildArtifactFileName} ${BuildArtifactFileBaseName}.bin ${CG_TOOL_ROOT}/bin/armofd ${CG_TOOL_ROOT}/bin/armhex ${CCS_INSTALL_ROOT}/utils/tiobj2bin/mkhex4bin
Does running that command as a post-build step work for you?
Regards,
Michael
Hi,
Running that command as a post-build step can generate *. bin. Then I burn the *.bin using UniFlash5.2.0, but the board(LAUNCHCC3220MODASF) didn't work as I designed.
I am sure my burn process is OK.