我有一个hex文件,可以在Arduino设备上运行的Atmel芯片上闪存。
在将这个文件放入我的Arduino之前,我想修改这个文件的某些方面,但是我没有源C ++;只是hex文件。
有没有有效的方法来获取.hex文件并重新组装C代码?如果是这样,怎么样?
答案 0 :(得分:11)
在给出其他答案时可能尚未提供此信息。它将.hex转换回汇编程序。您可能需要了解原始AVR的架构。对我编写和编译的代码很有用。我用AVR-25测试了Tiny 85.希望它有所帮助。有一个同样的东西的离线版本会很高兴! http://www.onlinedisassembler.com/ 另一种商业选择是来自https://www.hex-rays.com/
的IDA答案 1 :(得分:8)
我会查看avr-objdump(gulp)的输出:
avr-objdump -j .sec1 -d -m avr5 foo.hex
您必须将“-m”后面的字词更改为您的架构。即使/如果这样可行,它也会给你汇编代码,这些代码可能看起来不像你写的任何东西。变量名称会有所不同,方便的Arduino函数看起来就像凌乱的Assembly垃圾。 我希望有更好的方法,对不起。
另请参阅 AVR GCC forum - Using avr-objdump to disassemble hex code 。