在编译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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top