TI中文支持网
TI专业的中文技术问题搜集分享网站

如何利用UniFlash读出完整的 可以反汇编的.out文件

我面临的状况是 我们开发的 拥有全部源代码的产品 在一段时间后小批量出现莫名其妙的报警 完全不符合程序的逻辑

我用UNIFLASH从几台故障机中读取器件内的程序区域,均与正常的烧录完成的器件中读出的不同,而几台故障机之间确是相同的。

我们的记录中不存在不同版本使用了相同的版本号,除非处于开发测试阶段的版本流入了生产单位。

我目前的想法是,既然我可以从器件中读取整个flash区域,也有cmd文件,是否可以通过某种方式获得故障机中读取的COFF文件的反汇编,来理清问题。

目前我从器件 28034 中读取的3E8000到 3F8000区域读取的 .out文件,用dis2000反汇编出来的都是数据格式,解析不出来代码。

mangui zhang:

所有flash内容都当作data来处理了,编译器输出的ELF文件 才会存在段信息
所以不是正常编译出来的.out文件可能不支持直接反汇编,因为信息不全,比如cmd, map等等

xyz549040622:

如果能被你轻易反汇编出来,那就不安全的,放弃这个办法吧。还是从代码层面进行分析,找到是硬件问题还是软件问题,这样比较靠谱。

user3476154:

好吧 可是什么样的情况会让flash区域的内容都变掉呢 这里应该不能被代码修改掉吧

Green Deng:

回复 user3476154:

正常情况下flash中的程序是不会被修改的,要修改flash中的程序需要用到flash API函数

赞(0)
未经允许不得转载:TI中文支持网 » 如何利用UniFlash读出完整的 可以反汇编的.out文件
分享到: 更多 (0)