Chinaunix

标题: 有没好用的ARM指令模拟器? [打印本页]

作者: jimmy_lee    时间: 2016-03-17 09:12
标题: 有没好用的ARM指令模拟器?
本帖最后由 jimmy_lee 于 2016-03-18 10:31 编辑

搭建了一个 ARM GNU toolchain + Eclipse IDE + gdb的嵌入式开发环境,想要一个支持ARM9的指令模拟器,能够在没有硬件的条件下,也能调试一些代码,功能类似于ADS,IAR下的ARM模拟器功能。

首先想到过QEMU,它能通过gdb来调试,但它只能模拟特定的开发板,而我只需要能指令模拟就够了,不需要外设模拟,最主要的问题是,这些开发板总有它特定的内存地址布局,并不一定就能满足我调试的代码内存布局要求。

后来想过用ADS的AXD Debugger,它里面的模拟器以前用过,能满足我的需求,可惜,用GCC编译出来的elf文件,通过AXD无法加载进去。

求推荐!!

-----------------------
补充:要调试的代码,不是在板子上运行ARM Linux,仅仅是bare-metal;对模拟器需求,一方面是为了作一些简单调试,另一方面是想用于死机分析。
作者: 残剑饮血    时间: 2016-03-17 10:55
既然外设都能模拟,何来不能模拟指令之说。
你不和外设不就跟没有外设一样了。
作者: jimmy_lee    时间: 2016-03-17 14:02
不说了嘛,内存的地址空间限制。我希望0~4G的地址空间,都能作为我的有效内存。你若选择某个板子,它的内存空间可能就只是0~1G,而我的代码,可能是要放到2G~3G空间的,那么你用QEMU根本就没法把代码下载下去
回复 2# 残剑饮血


   
作者: 残剑饮血    时间: 2016-03-17 23:50
放哪个地址还要绝对指定吗?变通一下就没法用?
作者: jimmy_lee    时间: 2016-03-18 09:57
嵌入式当中怎么不是绝对指定?
你可以每次模拟的时候修改你的链接脚本来适配模拟板子的地址空间,但这就太麻烦, 个人玩玩还行。
另外一个对这个ARM模拟器的需求,是为了死机分析,dump出我们真实板子的所有内存和core寄存器,加上elf,在模拟器上恢复死机现场,这种情况,QEMU怎么玩?都没法download进去。
回复 4# 残剑饮血


   




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2