Part Number: TMS320C6748
Tool/software: TI C/C++ Compiler
Trying to understand why loaded data is different than i think it should be.
My project is compiled under Linux using an older toolset ; typical files are compiled like this ;
ti_c6x_v7.2.3_linux/bin/cl6x -eo .obj -gq -ml3 -al -s -dCHIP_6748 -mv6740
likewise for the linker element;
ti_c6x_v7.2.3_linux/bin/lnk6x -c ... -o tslave1Ctl.out -m tslave1Ctl.map
if i add some compiler flags to generate a listing file for my source.c files i can see the relative offset for opcodes
for the .text sections.
750 00000000 _sysjob:
751 ;** --------------------------------------------------------------------------*
752 .dwcfi cfa_offset, 0
753 .dwcfi save_reg_to_reg, 228, 19
754 00000000 01BC54F6 STW .D2T2 B3,*SP--(8) ; |41|
If i use the map file produced from the linker - i can determine where the .text section from the various
modules are linked.
c6077100 00001dc0 sysreq.obj (.text)
If i read the memory locations that i believe hold the .text data for which i have a listing file for ,
the data values ( opcodes ) do not agree.
dm c6077100
Addr Data
c6077100: ac4531f7 1838428 188c068 c0264
so using a similar disassembler for discovery ( again under linux );
TMS320C6x Disassembler v7.2.3
Tools Copyright (c) 1996-2011 Texas Instruments Incorporated
../dis6x -mv6740 -o=0xac4531f7
[ A2] STNDW.D2T2 B25:B24,*--B17(9)
trying the other endian... as a curiosity.
../dis6x -mv6740 -o=0xf73145ac
.word 0xf73145ac
Can anyone explain the disagreement?
What am i missing?
Thanks