[英]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.