编译 Arduino 草图时,它会创建一个.hex
文件(存储在临时文件夹中)。当我在 AVR Studio 4.18 中打开此文件时,它会尝试从不存在代码的位置开始。我应该怎么做才能在 AVR Studio 模拟器中调试那些 Arduino 十六进制文件?
问问题
6986 次
3 回答
0
从 atmel 查找 avr-objdump 和 hex2bin 的手册页。这应该使您能够反汇编程序文件以生成模拟器可能需要的内容。
查看此主题,它解释了目标代码和机器代码之间的区别: 汇编代码与机器代码与目标代码?
简而言之,您的十六进制文件是原始机器代码:操作码、参数、字符串等 - 即数据、代码和文本部分,为了方便起见,所有这些都混合在一起并进行了十六进制编码。以十六进制编码的程序文件比以二进制格式读取程序文件更容易:)
编辑:
据我记得(自从我使用 AVR Studio 已经有好几年了),您可以在 AVR Studio 中加载 hex 文件并创建一个反汇编。然后将其复制/粘贴到 .asm 文件并生成目标文件——如果这确实是您需要的。
此页面包含有关 AVR Studio 和生成反汇编的一些信息:http ://www.avrfreaks.net/index.php?name=PNphpBB2&file=printview&t=50456&start=0
于 2012-05-21T01:04:14.280 回答
0
你不能,你需要目标文件。如果您想使用 AVR 模拟器,您必须使用 C 或汇编语言编写代码,并使用 GCC 编译器或等效程序在 AVR 工作室中构建它。
于 2011-06-27T00:29:11.680 回答
0
嗯,当我选择模拟器2时效果很好......
于 2011-07-07T08:08:26.630 回答