繁体   English   中英

Arduino:如何在AVR Studio中调试十六进制文件

[英]Arduino: how to debug hex file in AVR Studio

编译Arduino草图时,它会创建一个.hex文件(存储在一个临时文件夹中)。 当我在AVR Studio 4.18中打开此文件时,它尝试从没有代码存在的位置开始。 我应该怎么做才能在AVR Studio模拟器中调试那些Arduino十六进制文件?

嗯,当我选择Simulator 2时效果很好。

从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

不能,您将需要目标文件。 如果要使用AVR模拟器,则必须使用C或汇编语言编写代码,并使用GCC编译器或等效程序在AVR Studio中进行构建。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM