Arduino:如何在AVR Studio中调试十六进制文件
-
29-10-2019 - |
题
在编译Arduino草图时,它会创建一个.hex
文件(存储在一个临时文件夹中)。当我在AVR Studio 4.18中打开此文件时,它尝试从没有代码存在的位置开始。我应该怎么做才能在AVR Studio模拟器中调试那些Arduino十六进制文件?
解决方案
嗯,当我选择Simulator 2时效果很好...
其他提示
您不能,将需要目标文件。如果要使用AVR模拟器,则必须使用C或汇编语言编写代码,然后使用GCC编译器或等效程序在AVR Studio中进行构建。
在atmel中查找avr-objdump和hex2bin的手册页。这应该使您能够反汇编程序文件,以便生成模拟器可能需要的文件。
查看本主题,它说明了目标代码和机器代码之间的区别: 汇编代码vs机器代码vs目标代码?
简而言之,您的十六进制文件是原始的机器代码:操作码,参数,字符串等-即数据,代码和文本部分,为了方便起见,它们都混在一起并进行了十六进制编码。十六进制编码的程序文件比二进制格式的文件更容易阅读:)
编辑:
据我所知(使用AVR Studio已经有好几年了),您可以在AVR Studio中加载hex文件并创建反汇编。然后将其复制/粘贴到.asm文件并生成目标文件-如果确实需要此文件。
此页面包含有关AVR Studio和生成反汇编的信息: http://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=50456&start=0
不隶属于 StackOverflow