反汇编hex文件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

思路:原谅虫子买个关子,当看了就知道了

1.软材料

IDA5.0。下载地址:/showthread.php?s=&threadid=29335 jtag最新固件,见附件

hexbin,见附件,(语法:hexbin filename.hex [filename.bin] )

stk500_M8源程序。(附件中有我移植好的减少代码的m16源程序)

2.硬材料,见附件电路图

好了,准备好了,开始做菜了:)

1)用ida打开固件,如下图:

点击此处下载ourdev_179161.rar(文件大小:100K)

到这步时用hexbin把hex转为bin文件,出现如下提示(不转也可以)

到这里,出现了死胡同。经过简单研究,发现。。。

出现这种情况是因为在ida目录中的cfg文件下avr.cfg文件关于atmega16的有关器件容量配置信息没写,结果默认为8kB,添加所选部分就ok了

保存好文件,最后重新打开

以上是虫子加的一些注释,明显的为iar编译的文件

2007-10-30,22:50:11 资料邮件回复引用

复↑↑↓↓

编辑

广告投诉

这就完成了jtag部分,到这里应该看出isp的

起始代码应该为0x1700(word).好以下讲述isp的移植部分

空间优化主要有以下几方面。。。

(为了简单,原ISP里利用的定时中断虫子直接用延时代替了)

1。状态机用字节

2。用if替换switch

3。其它杂项就不说了。

还有一点,当用到enum和结构时,对工程作如下配置(勾上)也能显著优化空间

最后一步就是连接选项....

在link里加上:-Wl,--section-start=.text=0x2e00

做完修改后,f7,build.然后打开。。。

生成的hex文件,把其内容剪切到刚生成的jtag hex固件中就可以了。

忘了说一点了,jtag hex的生成先在ida中修改好,然后用二进制编辑文件修改原jtag固件。

相关文档
最新文档