Virtera的arm模拟器VM-arm刚刚release了1.0版本。
        VM-arm是个精确的arm架构模拟器,virtera声称其做了高度优化(这年头没有什么不说自己是“优化”的)。它的动态指令编码技术dynamic instruction recompiler通过VirtualMHz Translation Engine实现,该引擎动态地将ARM指令转换为本地指令序列。实现指令级模拟的技术有很多,动态指令编译是效果比较好的一种--当然,Virtera实现的怎么样我就不知道底细了 ;-P

        名字中的VM代表VirtualMHz,意指模拟器实现的时钟频率。按Virtera的说法,模拟器里的100.0 VirtualMHz可以等同真实的ARM设备的100MHz频率。
        目前这个版本的vm-arm实现了大部分Intel StrongARM SA-1100的特性(只是这个片子好老了呀...):比如支持Exceptions, aborts, interrupts;CP15(MMU),和外部memory的接口,外设控制,GPIO;不支持则有:大端的模拟,DMA,电源管理控制器(强!呵呵),USB,cache(详情请看vm-arm手册),Thumb(其实1100本来就没实现thumb)。
        说了半天规格,还是要动动手才行。

        下个试用版还很麻烦,让人深恶痛绝的注册过程,填写名字国家公司所用系统等等......之后下载信息会发到你填写的email地址--如果你够衰,填的资料有问题,那可能连个回音儿都没有。
        email地址里给了个7天内有效的下载链接,附件带了license文件。安装包支持Fedora Core 的3个版本,Debian 3.0,SuSE Linux 8.2,SuSE Linux 9.2,Red Hat 9.0和Mandrake 9.2。鬼license同时只能被一个进程使用...
        经过一番注册,下载,安装,还有设置路径安装license之后......

        VM-arm软件包实际上包括两个模拟器,vm-arm和vm-pda,前者不能模拟设备,比如LCD等,后者则可以vm-pda,而且现在已经支持了Sharp Zaurus SL-5500 PDA!编个小arm程序没有意思,所以下了个OpenZaurus的kernel和文件系统(不用觉得神秘莫测,vm-arm的手册里有说明,很简单)。Zaurus的模拟包括320 * 240屏幕,可触摸(废话这是...鼠标点击即可,响应速度看情况,不过这可能也跟QPIE有关),串口,64MRam和32MRom,没有模拟的则有音频,电源管理,红外等。

        跑了一下,第一次开机会有个设置的过程(参见下图,这些图其实都是QPIE了哈,和vm-arm反倒关系没那么大了 ;-P),以后的从开机到桌面出现用了45秒。操作的时候总的表现嘛,速度还算不错(我试用时使用的机器是Fedora Core 3,kernel 2.6.11-1.27,P42.8A,1G RAM,i865G)。按人的感观来看比bochs要好,虽然一个是x86,一个是arm,跑得也是不同的东西,但是可以从人机交互的反应速度上感觉到。和QEMU好像差不多,不过都是人的感觉哈,不精确的哈。

        PDA里console
        
        
        主界面之settings
        
        
        菜单和PIM页
        
        
        旋转屏幕哈哈