1# QEMU(Quick Emulator)<a name="ZH-CN_TOPIC_0000001101286951"></a> 2 3- [简介](#section11660541593) 4- [目录](#section161941989596) 5- [约束](#section119744591305) 6- [QEMU安装](#section119744591307) 7- [使用说明](#section169045116126) 8- [贡献](#section169045116136) 9- [相关仓](#section1371113476307) 10 11## 简介<a name="section11660541593"></a> 12 13QEMU可以模拟内核运行在不同的单板,解除对物理开发板的依赖。 14 15## 目录<a name="section161941989596"></a> 16 17``` 18/device/qemu 19├── arm_virt # arm virt单板 20│ └── liteos_a # 与liteos_a内核相关的配置 21│ └── config # 驱动相关配置 22├── drivers # 与平台相关的驱动目录 23│ └── libs # 驱动库 24│ └── virt # virt平台 25├── riscv32_virt # riscv32 virt单板 26│ ├── driver # 驱动目录 27│ ├── include # 对外接口存放目录 28│ ├── libc # 基础libc库 29│ ├── fs # fs 配置 30│ ├── test # 测试样例 31│ └── liteos_m # 与liteos_m内核相关的配置 32├── arm_mps2_an386 # cortex-m4 mps2_an386单板 33│ ├── driver # 驱动目录 34│ ├── include # 对外接口存放目录 35│ ├── libc # 基础libc库 36│ ├── fs # fs 配置 37│ ├── test # 测试样例 38│ └── liteos_m # 与liteos_m内核相关的配置 39├── arm_mps3_an547 # cortex-m55 mps3_an547单板 40│ ├── driver # 驱动目录 41│ ├── include # 对外接口存放目录 42│ ├── libc # 基础libc库 43│ ├── fs # fs 配置 44│ ├── test # 测试样例 45│ └── liteos_m # 与liteos_m内核相关的配置 46├── esp32 # Xtensa LX6 esp32单板 47│ ├── hals # 硬件适配层 48│ ├── driver # 驱动目录 49│ ├── include # 对外接口存放目录 50│ ├── libc # 基础libc库 51│ ├── fs # fs 配置 52│ ├── test # 测试样例 53│ └── liteos_m # 与liteos_m内核相关的配置 54├── SmartL_E802 # C-SKY SmartL虚拟单板 55│ ├── hals # 硬件适配层 56│ ├── driver # 驱动目录 57│ ├── libc # 基础libc库 58│ ├── fs # fs 配置 59│ ├── test # 测试样例 60│ └── liteos_m # 与liteos_m内核相关的配置 61``` 62 63## 约束<a name="section119744591305"></a> 64 65只适用于OpenHarmony内核。 66 67## QEMU安装<a name="section119744591307"></a> 68 691. 安装依赖(Ubuntu 18+) 70 71 ``` 72 sudo apt install build-essential zlib1g-dev pkg-config libglib2.0-dev binutils-dev libboost-all-dev autoconf libtool libssl-dev libpixman-1-dev virtualenv flex bison 73 ``` 74 752. 获取源码 76 77 ``` 78 wget https://download.qemu.org/qemu-6.2.0.tar.xz 79 ``` 80 81 或 82 83 [官网下载: qemu-6.2.0.tar.xz](https://download.qemu.org/qemu-6.2.0.tar.xz) 84 853. 编译安装 86 87 ``` 88 tar -xf qemu-6.2.0.tar.xz 89 cd qemu-6.2.0 90 mkdir build && cd build 91 ../configure --prefix=qemu_installation_path 92 make -j16 93 ``` 94 95 等待编译结束, 执行安装命令: 96 97 ``` 98 make install 99 ``` 100 101 最后将安装路径添加到环境变量中: 102 103 ``` 104 vim ~/.bashrc 105 ``` 106 107 在~/.bashrc最末尾加入: 108 109 ``` 110 export PATH=$PATH:qemu_installation_path 111 ``` 112 113## 使用说明<a name="section169045116126"></a> 114 115arm架构参考: 116- [QEMU教程 for arm - liteos_a](https://gitee.com/openharmony/device_qemu/blob/HEAD/arm_virt/liteos_a/README_zh.md) 117- [QEMU教程 for arm - linux](https://gitee.com/openharmony/device_qemu/blob/HEAD/arm_virt/linux/README_zh.md) 118 119cortex-m4架构参考[QEMU教程 for cortex-m4](https://gitee.com/openharmony/device_qemu/blob/HEAD/arm_mps2_an386/README_zh.md)。 120 121cortex-m55架构参考[QEMU教程 for cortex-m55](https://gitee.com/openharmony/device_qemu/blob/HEAD/arm_mps3_an547/README_zh.md)。 122 123risc-v架构参考[QEMU教程 for risc-v](https://gitee.com/openharmony/device_qemu/blob/HEAD/riscv32_virt/README_zh.md)。 124 125Xtensa架构参考[QEMU教程 for Xtensa](https://gitee.com/openharmony/device_qemu/blob/HEAD/esp32/README_zh.md)。 126 127C-SKY架构参考[QEMU教程 for C-SKY](https://gitee.com/openharmony/device_qemu/blob/HEAD/SmartL_E802/README_zh.md)。 128 129## 贡献<a name="section169045116136"></a> 130 131[如何参与](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/contribute/%E5%8F%82%E4%B8%8E%E8%B4%A1%E7%8C%AE.md) 132 133[Commit message规范](https://gitee.com/openharmony/device_qemu/wikis/Commit%20message%E8%A7%84%E8%8C%83?sort_id=4042860) 134 135## 相关仓<a name="section1371113476307"></a> 136 137[内核子系统](https://gitee.com/openharmony/docs/blob/HEAD/zh-cn/readme/%E5%86%85%E6%A0%B8%E5%AD%90%E7%B3%BB%E7%BB%9F.md) 138 139**device\_qemu** 140 141[kernel\_liteos\_a](https://gitee.com/openharmony/kernel_liteos_a/blob/HEAD/README_zh.md) 142 143[kernel\_liteos\_m](https://gitee.com/openharmony/kernel_liteos_m/blob/HEAD/README_zh.md) 144