• 基于ARM的模拟器


    基于ARM的模拟器

    ARM的ARMulator:

      ARMulator 是一个在 ARM 公司推出的集成开发环境 ADS (ARM Developer Suite)中提供的指令集模拟器。它与运行在通用计算机(通常是x86体系结构)上的调试器相连接,模拟 ARM 微处理器体系结构和指令集,提供了开发和调试 ARM 程序的软件仿真环境。ARMulator 不仅可以仿真 ARM 处理器的体系结构和指令集,还可以仿真存储器和处理器外围设备,例如中断控制器和定时器等,这样就模拟了一个进行嵌入式开发的最小子系统,另外使用者还可以扩展添加自己的外设。

    简介:

      ARMulator 同时支持全部的标准C库函数,这样所有的C程序都可以在仿真器上运行。ARMulator 通过 Semihosting 方式来实现程序中输入/输出功能。Semihosting是指在 ARM 程序开发调试的过程中,目标系统还不具备输入/输出的功能,通过调试代理向调试器请求 I/O。ARMulator 就是这里所说的调试代理之一,其他还有 Angel、Multi-ICE也通过类似的方式来实现 I/O 功能。ARMulator 在 Windows 平台上实现为动态链接库文件(.dll),在 Linux 或者 Solaris 系统上实现为共享库文件(.so)。前者的使用一般是通过 ARM 公司提供的图形界面调试器 AXD 中,选择目标系统为 ARMulate.dll,这样就设置了 ARMulator 作为调试代理。用户在进行调试开发时,对于底层使用的调试代理是透明的。

    http://www.arm.com

    SkyEye:

      SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。

    http://www.skyeye.org/

    GNU的ARMulator:

    http://www.uclinux.org/pub/uClinux/utilities/armulator/

    Softgun:   

      Softgun 是 ARM 嵌入式系统的仿真器,可模拟 ARM9 CPU ,支持 MMU、很多Netsilicon NS9750外设,PCI总线、网络控制器、闪存以及 CAN总线。 它的目的是帮助没有真实硬件的嵌入式系统开发。

     

     

     

     

     

     

     

     

     

     

     

     

     

    http://sourceforge.jp/projects/sfnet_softgun/releases/?file_id=1597133

     

    realboard:

    http://www.hugacy.com

    csdn:http://blog.csdn.net/lxzhg

    realboard是高速稳定的开发板平台仿真软件,包括CPU核,硬件外设,以及必要的调试支持。它运行在win32平台,能够代替真实的硬件开发板和调试器,使整个嵌入式项目能够在PC端独立完成开发调试,既能降低门槛,又能节省成本。

    到目前为止,realboard能够支持的外设,基本上覆盖了s3c44b0x的所有功能:

    a. 6个时钟和一个看门狗

    b. 中断控制器,支持时钟/看门狗中断,串口收发中断,DMA中断,IIC中断等

    c. 串口(Demo版本仅支持UART0),包括FIFO模式和非FIFO模式,及BDMA模式

    d. 4个通道DMA支持

    e. 电源管理(PWM)

    f.  Nand/Nor Flash存贮器

    g. LCD控制器

    realboard的IIC仿真测试效果图

    在realboard上运行ucosii操作系统效果图:

    realboard的ucosii操作系统运行效果图

    在realboard上运行u-boot效果图:

    realboard的u-boot仿真运行效果图

     

    其他嵌入式模拟器:

    QEMU:

    著名的android emulator就是基于QEMU的。

    QEMU是一套由Fabrice Bellard所编写的模拟处理器的自由软件。它与Bochs,PearPC近似,但其具有某些后两者所不具备的特性,如高速度及跨平台的特性。经由kqemu这个开源的加速器,QEMU能模拟至接近真实电脑的速度。QEMU有两种主要运作模倾:

      • 模拟模式,亦即是使用者模式。QEMU 能启动那些为不同中央处理器编译的Linux程序。而Wine及Dosemu是其主要目标。
      • System mode模拟模式,亦即是系统模式。QEMU能模拟整个电脑系统,包括中央处理器及其他周边设备。它使得为系统源代码进行测试及除错工作变得容易。其亦能用来在一部主机上虚拟数部不同虚拟电脑。

    QEMU的主体部份是在LGPL下发布的,而其系统模式模拟与kqemu加速器则是在GPL下发布。使用kqemu可使QEMU能模拟至接近实机速度,但其在虚拟的操作系统是Microsoft Windows 98或以下的情况下是无用的。

    优点:

      • 可以模拟 IA-32 (x86)个人电脑,AMD64个人电脑, MIPS R4000, 升阳的 SPARC sun3 与 PowerPC (PReP 及 Power Macintosh)架构
      • 支持其他架构,不论在主机或虚拟系统上(请参看QEMU主页以获取完整的清单)
      • 增加了模拟速度,某些程式甚至可以实时运行
      • 可以在其他平台上运行Linux的程式
      • 可以储存及还原运行状态(如运行中的程式)
      • 可以虚拟网络卡
      • 可模拟多CPU


    原创文章欢迎转载,转载请注明出处:http://www.cnblogs.com/zhouchanwen
  • 相关阅读:
    Java GC系列(2):Java垃圾回收是如何工作的?
    BZOJ 2878 【NOI2012】 迷失游乐园
    BZOJ 2876 【NOI2012】 骑行川藏
    UOJ #126 【NOI2013】 快餐店
    BZOJ 3122 【SDOI2013】 随机数生成器
    BZOJ 1833 【ZJOI2010】 数字计数
    BZOJ 1269 【AHOI2006】 文本编辑器
    BZOJ 3930 【CQOI2015】 选数
    BZOJ 4569 【SCOI2016】 萌萌哒
    BZOJ 2756 【SCOI2012】 奇怪的游戏
  • 原文地址:https://www.cnblogs.com/zhouchanwen/p/2384391.html
Copyright © 2020-2023  润新知