工具/软件:TI C/C++编译器
试图了解加载的数据与我认为的数据不同的原因。
我的项目是在Linux下使用较旧的工具集编译的;典型的文件就是这样编译的;
TI_C6x_v 7.2 .3_linux/bin/cl6x -EO.obj -GQ-ml3-al-s-dCHIP_6748-mv6740
链接程序元素也是如此;
TI_C6x_v 7.2 .3_linux/bin/lnk6x -c... -o tslave1ctl.out -m tslave1ctl.map
如果我添加一些编译器标志来为我的source.c文件生成列表文件,我可以看到操作代码的相对偏移量
文本部分。
75万 0000万 _sysjob:
751;**------------------ *
752 .dwcfi CFA_offset,0
753 .dwcfi save_reg_to_reg,228,19
75.4万00000 01BC54F60万 01BC54F6 STW .d2T2 B3,*SP--(8) ,|41|
如果我使用从链接器生成的映射文件-我可以确定. text部分在各种中的位置
模块已链接。
c607.71万 0.0001万dc0 sysreq.obj (.text)
如果我读取了我认为包含.text数据的存储位置,而我有一个列表文件,
数据值(操作码)不一致。
DM c607.71万
地址 数据
c607.71万:ac4531f7 18.38428188亿 c068 c0264
因此,使用类似的反汇编程序进行查找(同样在Linux下);
TMS320C6x反汇编 器版本7.2 .................3.
工具版权所有(c) 1996-2011 Texas2011 Texas Instruments Incorporated
./dis6x -mv6740 -o=0xac4531f7
[ a2] STNDW.D2T2 B25:B24,*--B17 (9)
尝试另一个尾端...作为好奇心。
./dis6x -mv6740 -o=0xf7.3145万ac
Word 0xf7.3145万ac
有人能解释这种分歧吗?
我缺少什么?
谢谢