反汇编hex文件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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固件。