基于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 作为调试代理。用户在进行调试开发时,对于底层使用的调试代理是透明的。
SkyEye:
SkyEye是一个开源软件(OpenSource Software)项目,中文名字是"天目"。SkyEye的目标是在通用的Linux和Windows平台上实现一个纯软件集成开发环境,模拟常见的嵌入式计算机系统(这里假定"仿真"和"模拟"的意思基本相同);可在SkyEye上运行μCLinux以及μC/OS-II等多种嵌入式操作系统和各种系统软件(如TCP/IP,图形子系统,文件子系统等),并可对它们进行源码级的分析和测试。
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:
csdn:http://blog.csdn.net/lxzhg
realboard是高速稳定的开发板平台仿真软件,包括CPU核,硬件外设,以及必要的调试支持。它运行在win32平台,能够代替真实的硬件开发板和调试器,使整个嵌入式项目能够在PC端独立完成开发调试,既能降低门槛,又能节省成本。
到目前为止,realboard能够支持的外设,基本上覆盖了s3c44b0x的所有功能:
其他嵌入式模拟器:
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
基于ARM的模拟器的更多相关文章
- 课程设计个人报告——基于ARM实验箱的捕鱼游戏的设计与实现
课程设计个人报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.个人贡献 参与课设题目讨论及部分过程 资料收集 负责代码调试 捕鱼游戏相应功能的实现 实验环境 Eclipse软件开发环境: ARM实验 ...
- 课程设计小组报告——基于ARM实验箱的捕鱼游戏的设计与实现
课程设计小组报告--基于ARM实验箱的捕鱼游戏的设计与实现 一.任务简介 1.1 任务内容 捕鱼游戏这个项目是一个娱乐性的游戏开发,该游戏可以给人们带来娱乐的同时还可以给人感官上的享受,所以很受人们的 ...
- 20155338课程设计个人报告——基于ARM实验箱的Android交友软件的设计与实现
课程设计个人报告--基于ARM实验箱的Android交友软件的设计与实现 个人贡献 实验环境的搭建 代码调试 在电脑上成功运行 研究程序代码撰写小组报告 一.实验环境 1.Eclipse软件开发环境: ...
- 基于ARM处理器的反汇编器软件简单设计及实现
写在前面 2012年写的毕业设计,仅供参考 反汇编的目的 缺乏某些必要的说明资料的情况下, 想获得某些软件系统的源代码.设计思想及理念, 以便复制, 改造.移植和发展: 从源码上对软件的可靠性和安全性 ...
- 基于ARM的车牌识别技术研究与实现
在云盘里包含了我本科毕业设计的全部资料和代码.主要涉及下面摘要中的几个部分.虽然系统无法实用,但是适合机器视觉和嵌入式方向的入门.希望能对有志从事相关方向的朋友有所帮助.本人现在在深圳从事机器视觉算法 ...
- 浅析基于ARM的Linux下的系统调用的实现
在Linux下系统调用是用软中断实现的,下面以一个简单的open例子简要分析一下应用层的open是如何调用到内核中的sys_open的. t8.c 1: #include <stdio.h> ...
- 基于ARM Cortex-M0+ 的Bootloader 参考
源: 基于ARM Cortex-M0+内核的bootloader程序升级原理及代码解析
- 《基于Arm实验箱的国密算法应用》课程设计 结题报告
<基于Arm实验箱的国密算法应用>课程设计 结题报告 小组成员姓名:20155206赵飞 20155220吴思其 20155234昝昕明 指导教师:娄嘉鹏 设计方案 题目要求:基于Arm实 ...
- 20155234 昝昕明《基于ARM实验箱的国密算法应用》课程设计个人报告
20155234 昝昕明<基于ARM实验箱的国密算法应用>课程设计个人报告 个人贡献 参与课设题目讨论及完成全过程: 资料收集: SM1算法及和ARM之间通信 负责串口代码调试: 协调完成 ...
随机推荐
- Meta对照表
Http Content_type对照表: 文件扩展名 Content-Type(Mime-Type) 文件扩展名 Content-Type(Mime-Type) .*( 二进制流,不知道下载文件类型 ...
- JavaScript基础之运算符及全面的运算符优先级总结
算数运算符: 加+,减—,乘*,除/,求余%,加加++,减减——, 加减乘除求余运算与数学上的用法完全一样. 不过,加号+还有连接字符串的作用,其他运算符还可以将字符串数字转换成数值型,参见JavaS ...
- Android签名详解
1.什么是签名? 如果这个问题不是放在Android开发中来问,如果是放在一个普通的版块,我想大家都知道签名的含义.可往往就是将一些生活中常用的术语放在计算机这种专业领域,大家就开始迷惑了. ...
- SIMATIC PID温度控制
SIMATIC PID温度控制 // VAR_INPUT ------------------------------------------------------------------- #if ...
- USBDM BDM Interface for Freescale Microcontroller -- Firmware
USBDM BDM Interface for Freescale Microcontroller -- Firmware BDM firmware for USBDM BDMs Refer to s ...
- PGXZ-腾讯全功能分布式关系数据集群
PGXZ-腾讯全功能分布式关系数据集群
- Revit API通过相交过滤器找到与风管相交的对象。
相交过滤器的应用,比几何相交法简便.Excluding剔除 //找到与风管相交的对象,通过相交过滤器. [TransactionAttribute(Autodesk.Revit.Attributes. ...
- XCODE调试时不显示变量值/指针地址的解决方案
转:http://blog.csdn.net/samuelltk/article/details/41250151
- Java Jackson - Json Polymorphism
from://http://www.studytrails.com/java/json/java-jackson-Serialization-polymorphism.jsp Jackson prov ...
- .NET:默认是按值传递的
小测试 代码 using System; using System.Collections.Generic; using System.Linq; using System.Text; using S ...