"); //-->
QEMU的英文单词是:QuickEmulator,它是一个小巧的模拟器。还有很多模拟器,比如VMWare、Virtual Box等。
但是VMWare、VirtualBox只能模拟x86、AMD64/Intel64等PC系统;而QEMU可以模拟更多硬件:ARM、MIPS、PPC、x86、AMD64/Intel64。
QEMU用途广泛,比如Xen、Android模拟器等都是基于QEMU的。
在嵌入式领域,很多人使用QEMU来深研Linux,比如研究文件系统、优化等等。
QEMU有两种模式:
用户模式(User Mode)
简单地说,一个使用arm-xxx-gcc编译出来的程序,是给ARM板子使用的,它无法在PC机上运行,只能放到ARM板子上去运行。
借助qemu,可以在PC机上运行ARM程序。比如:
$ gcc -o hello hello.c -static
$ ./hello // 这个hello程序是使用gcc给PC机编译的,可以直接运行
Hello, world!
$ arm-linux-gnueabihf-gcc -o hello hello.c -static // 它是给ARM板子编译的
$ ./hello // 所以无法在PC上运行
bash: ./hello: cannot execute binary file: Exec format error
$ ./qemu-arm ./hello // 我们可以用QEMU在PC上运行它
Hello, world!在PC上使用qemu运行单个ARM程序时,这就是使用QEMU的用户模式。
它会把ARM指令翻译为PC的指令去运行。
注意,你可能无法做上述实验,因为:
a) 你没有安装ARM交叉编译工具链
b) 你没有安装QEMU
你根据下章《QEMU快速使用》安装QEMU后,就可以进行上述实验了。
系统模式(System Mode)
很多时候我们并不满足于在PC上运行单个ARM程序,我们想模拟出整个ARM单板:在这个模拟出来的虚拟ARM单板上,运行Linux系统,在其中运行各种APP。
这时候需要使用QEMU的系统模式。
现在才发现,在qemu 上运行rtt 是用户模式。
专栏文章内容及配图由作者撰写发布,仅供工程师学习之用,如有侵权或者其他违规问题,请联系本站处理。 联系我们
相关推荐
GE01MBK
汽车域控制器种类及其功能详解
金士顿进军PCIe5.0 SSD!首款产品曝光:读速14.8GB/s接近极限
新手求助:VxWorks的入门书籍?
在流程应用中支持高能效边缘AI的设计
巢湖学院飞思卡尔智能车大赛宣传
最安全的加密技术,也禁不住“草台班子”霍霍
自制“钢铁侠机械臂”远程缝合葡萄皮,成本不到1万元
MC9481(电子玩具)迢控发射编码电路
三色墨水屏日历:低功耗、高颜值,轻松打造你的智能桌面!
招聘信息
电控固态开关管理热流:改进的热敏开关以电气方式控制热流
招聘信息
我的飞思卡尔智能车4
GD01原理图
创新影响追踪:MEMS传感器如何改变游戏规则
天津大学第三届飞思卡尔杯智能车竞赛纪念视频
日本智能车比赛2005年
MN6014/S红外线遥控发射电路
动态测试WBG功率半导体裸片
MCl45030(无绳电话和半双工遥控器)红外线、超声波或射频遥控编码和译码电路
Google搜索从入门到精通 v4.0 (一)
Mobileye选用Valens VA7000芯片组集成至自动化驾驶和自动驾驶项目
MN6011(录像机)红外线迢控发射电路
MK5087(通用)红外线遥控发射电路(双吉多领信号产生电路)
关于eking的调试bsp方法的问题
问一个bootloader的问题
可编程轨迹车 智能循迹小车 寻迹小车 电子设计竞赛
GD01扩展硬件原理图
GD01开发板使用说明