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.

TMS320C6678: Updated symExtract file

Part Number: TMS320C6678

Hello,

Could someone provide me with an updated symExtract file? I'm using the one that came with the Processor SDK installation and it's not copying the common symbols from the ibl_c66x_init.map file into the ibl_init_symbols.inc file. 

This is what is inside the ibl_init_symbols.inc file :

/* File autogenerated by symExtract during build process. Do not edit */
=0x;
=0x;
=0x;
=0x;
=0x;

Here's the code inside the symExtract file :

if [ $# -lt 3 ]; then
echo usage: $0 \<input file\> \<output file\> symbol1 \[symbol2 ...\]
exit
fi

args=("$@")

rm -f $2

echo "/* File autogenerated by symExtract during build process. Do not edit */" > $2

carg=2
while [ $carg -lt $# ]; do
symbol=`cat $1 | sed -n /${args[$carg]}\$/p | sed -n 1p`
addr=`echo $symbol | sed -e s/\ .*//`
sym=`echo $symbol | sed -e s/^.*\ //`
echo $sym=0x$addr\; >> $2
let carg=carg+1
done

Thanks,

Viney

  • Hi Viney,

    I've forwarded this to the software experts. Their feedback should be posted here.

    BR
    Tsvetolin Shulev
  • Thanks, Tsvetolin.

    From the logs, it looks like a certain format is expected inside the ibl_init_symbols.inc file.

    C:/ti/ccsv6/tools/compiler/c6000_7.4.16"/lib/rts64plus_elf.lib

    <Linking>

    "ibl_c66x\ibl_init_symbols.inc", line 2: error: expecting "";"" instead of "x"

    "ibl_c66x\ibl_init_symbols.inc", line 2: error: expecting filename, option,

      MEMORY, or SECTIONS instead of ";"

    "ibl_c66x\ibl_init_symbols.inc", line 3: error: expecting filename, option,

      MEMORY, or SECTIONS instead of "="

    "ibl_c66x\ibl_init_symbols.inc", line 4: error: expecting filename, option,

      MEMORY, or SECTIONS instead of "="

    "ibl_c66x\ibl_init_symbols.inc", line 5: error: expecting filename, option,

      MEMORY, or SECTIONS instead of "="

    "ibl_c66x\ibl_init_symbols.inc", line 6: error: expecting filename, option,

      MEMORY, or SECTIONS instead of "="

    error: errors encountered during linking; "ibl_c66x/ibl_c66x.out" not built

    >> Compilation failure

    make[2]: *** [iblMain] Error 1

    make[2]: Leaving directory `/c/ti/pdk_c667x_2_0_4/packages/ti/boot/ibl/src/make'

    make[1]: *** [le_target] Error 2

    make[1]: Leaving directory `/c/ti/pdk_c667x_2_0_4/packages/ti/boot/ibl/src/make'

    make: *** [evm_c6678_i2c] Error 2

  • I manually edited the ibl_init_symbols.inc file to include the addresses and names of the common symbols. Your makefile code is not doing what it is supposed to do. Please fix it so customers in the future don't have to go through the trouble of manually fixing errors.
  • Can you specify how you are invoking the script and if you are building this in Windows (MinGW-MSYS) or Linux environment. I am unable to reproduce, this issue when I invoke the script in MinGW using the following command.

    bash ../util/symExtract/symExtract ibl_c66x/ibl_c66x_init.map ibl_c66x/ibl_init_symbols.inc iblBootBtbl iblMalloc iblFree iblMemset iblMemcpy