首页
关于
Search
1
云服务器使用
7 阅读
2
C语言基础知识
6 阅读
3
获取歌曲资源
2 阅读
4
一、QEMU简介
2 阅读
5
二、QEMU快速入门
2 阅读
默认分类
私密
统计
食
打扮自己?
游戏
qemu
嵌入式
生活常识
股票
人工智能AI
C/C++
编程语言
C
C++
JavaScript
C#
TypeScript
Java
Python
登录
Search
Typecho
累计撰写
18
篇文章
累计收到
0
条评论
首页
栏目
默认分类
私密
统计
食
打扮自己?
游戏
qemu
嵌入式
生活常识
股票
人工智能AI
C/C++
编程语言
C
C++
JavaScript
C#
TypeScript
Java
Python
页面
关于
搜索到
2
篇与
qemu
的结果
2025-02-19
二、QEMU快速入门
本章节主要讲述了 qemu 的依赖安装和编译运行过程,统一使用 开源仓库的stable-9.2 分支依赖安装以下将需要安装的依赖分为了基本的依赖和qemu特需的依赖1、基本依赖安装gcc:gcc版本 >= 7.4安装python:python版本 >= 3.8安装gitapt-get install git -y apt-get install git-lfs -y2、qemu依赖安装安装pkg-configapt-get install pkg-config -y安装glib-2.48apt-get install libglib2.0-0 libglib2.0-dev -y安装tomli库:pip install tomli安装pixmanapt-get install libpixman-1-dev安装bison、flexapt-get install bison flex安装Ninja:apt-get install ninja-build编译、运行QEMU准备好 QEMU 的依赖环境后,先下载QEMU,再进行编译、运行1、下载 QEMUgit clone -b stable-9.2 https://github.com/qemu/qemu.git2、编译cd qemu // 进入clone下来的qemu中 mkdir build && cd build ../configure --target-list=aarch64-softmmu,arm-softmmu make -j4
2025年02月19日
2 阅读
0 评论
0 点赞
2025-02-19
一、QEMU简介
简介QEMU是一个著名的虚拟化仿真开源项目,Android Studio中的仿真器就是基于QEMU。QEMU有两个作用:仿真(Emulation),虚拟化(Virtualization);对于嵌入式领域来说,更重要的是他的仿真功能QEMU是一个能在任何平台上运行的汇编指令级别的仿真软件,目前能支持x86、ARM、MIPS、RISC-V等多种架构的CPU及单板的仿真QEMU不能提供精准的硬件仿真时序仿真,却能提供快速的汇编指令的仿真。这句话可能比较抽象,换个说法可能比较好理解一点:如果你是程序员,QEMU能提供一个你的软件可运行的单板,软件会以为自己运行在一块真实的单板上;如果你是芯片工程师,QEMU可能就不够用了,因为QEMU不能仿真各种PIN引脚的脉冲波形借助QEMU,软件开发人员可以快速得到一个虚拟的单板,完成gdb、DT(Developer Test)等开发活动。最最重要的是:QEMU上运行的OS、APP均与单板二进制完全一致,无需为QEMU单独构建镜像QEMU能做什么?QEMU能让你的程序认为,它运行在一块真实的单板上,因为QEMU仿真的是单板;真实单板难以获取,QEMU就是为了解决这件事而生的;QEMU能让你在一台x86的电脑上,运行ARM、RISC-V架构的程序,因为QEMU仿真了ARM、RISC-V单板;QEMU能做单板上所有数字器件的仿真,但是对模拟器件的仿真无能为力。如何仿真单板?我们的嵌入式程序想在单板上运行,需要有两个前提条件:1、单板上的 CPU 认识这个程序的汇编指令 2、程序中所访问的设备,比如:串口,在这个单板上必须真实地存在,且和程序所期待的串口完全相符那么,QEMU 就只需要做两件事,程序就以为自己运行在真实的单板上了:1、仿真目标程序的汇编指令集(ISA:Instructio Set Architecture) 2、仿真这个串口,以及目标程序用到的设备仿真的运行速度会不会比真实单板慢?会的,首先先明晰两个概念:host:宿主机,指你的 QEMU 所运行的环境 guest:客户机,要在你的 QEMU 里运行的系统1、如果 host 和 guest 不是同构处理器(比如: host 是 x86,guest 是 ARM),QEMU 被迫翻译每一条汇编指令,这种翻译方法被称为 TCG,TCG 让代码的执行效率只有 host 的30%左右(注意不是单板的30%)但是,在大部分时候,嵌入式的处理器本身就比 x86 弱,因此,在绝大多数场景下,TCG 带来的执行效率降低远比不上“可以随时得到的单板”这个收益2、如果 host 和 guest 是同构处理器(比如:host 是 x86,guest 也是 x86),我们可以开启 KVM 加速,这时你会发现,guest 上运行的程序的速度,几乎和你真实单板一模一样,甚至有机会更快
2025年02月19日
2 阅读
0 评论
0 点赞