Part Number:TMS320C6678
Tool/software: TI C/C++ Compiler
Hi,
Hex6x seems to stuff some zero when creating boot table image. Please take a look the following. This is a later part of boot table image from C:\ti\pdk_c667x_<ver>\packages\ti\boot\examples\srio\srioboot_example\src\srioBootCode.h.
As you see, section 2 has 0x232 bytes of data chunk, but actually, it has 0x234 bytes.
This boot table is pre-built one but I believe this had been created by C:\ti\pdk_c667x_<ver>packages\ti\boot\examples\srio\srioboot_helloworld\evmc6678l\bin\helloworld_elf2HBin.bat:
set C6000_CG_DIR=%C6X_GEN_INSTALL_PATH% set TOOL_DIR="..\..\..\..\..\..\" set TARGET=6678 set ENDIAN=little set PATH=%PATH%;%SystemRoot%\system32;%SystemRoot%; @echo off echo C6000_CG_DIR set as: %C6000_CG_DIR% echo TARGET set as: %TARGET% echo IBL_ROOT_DIR set as : %IBL_ROOT_DIR% echo Converting .out to HEX ... if %ENDIAN% == little ( %C6000_CG_DIR%\bin\hex6x -order L helloworld_image.rmd srioboot_helloworld_evm%TARGET%l.out ) else ( %C6000_CG_DIR%\bin\hex6x -order M helloworld_image.rmd srioboot_helloworld_evm%TARGET%l.out ) ..\..\..\..\..\..\bttbl2hfile\Bttbl2Hfile srioboot_helloworld.btbl srioboot_helloworld.h srioboot_helloworld.bin ..\..\..\..\..\..\hfile2array\hfile2array srioboot_helloworld.h srioBootCode.h bootCode move srioBootCode.h ..\..\..\srioboot_example\src\
Hex6x creates boot table formatted data and Bttbl2Hfile/hfile2array makes it c-formatted array. I checked Bttbl2Hfile/hfile2array source code (existing at C:\ti\pdk_c667x_<ver>\packages\ti\boot) but i could not see any code stuffing zero data. So, I believe Hex6x is actually stuffing. I`m wondering if this could be done by Hex6x without bconvert help. bconvert is a tool to stuff zero to align 4 bytes, which is existing at C:\ti\pdk_c667x_,<ver>\packages\ti\boot\ibl\src\util\bconvert\bconvert64x.c, but as you see in the above makefile, bconver is not being used.
Is my understanding correct ?
Please assume CGT is newer one, i.e., CGT v8.1.3 or something.
Best Regards,
NK