9 嵌入式QEMU教程
文章平均质量分 87
简介:硬件平台均为QEMU模拟器。
1. 当前裸机项目使用ARM Cortex-A7 32位内核、带有GPU(2D 3D显示加速、图片和音频视频编解码)的博通BCM2836芯片(树莓派2B同款硬件,但不使用树莓派的系统和软件)。
2. 当前Linux项目使用ARM Versatile Expre
才鲸嵌入式
2012年开始工作,嵌入式软件开发工程师
展开
-
12 编译2022年最新的BusyBox rootfs 1.35.0源码,并用QEMU模拟器运行
前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。原创 2022-11-26 05:39:00 · 839 阅读 · 0 评论 -
11 编译2022年最新的Linux kernel 6.1源码,并用QEMU模拟器运行
前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。原创 2022-11-26 05:37:16 · 2427 阅读 · 0 评论 -
10 编译2022年最新的U-Boot v2023.01-rc2源码,并用QEMU模拟器运行
前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。原创 2022-11-26 05:35:01 · 1111 阅读 · 0 评论 -
09 编译2022年最新的Linux kernel、U-Boot和BusyBox rootfs源码,并用QEMU模拟器运行
前提:编译U-Boot和Linux kernel源码时,源码版本、PC主机Linux系统版本、交叉编译器版本都有影响,最好按照网上教程中相同的版本来尝试,要不然经常会遇到编译时遇到了问题,但又搜不到解决方法的尴尬局面。必须在Linux系统中编译(如Ubuntu),不能在MSYS2中编译。原创 2022-11-26 05:32:20 · 1185 阅读 · 0 评论 -
08 ARM Cortex-A7汇编语言和指令介绍,ARM汇编语言名为UAL,由编译器指定指令集是ARM还是Thumb,不同指令集的汇编指令是一样的
ARM Cortex-A7是32位CPU核,使用A7的芯片有NXP的i.MX7、博通BCM2836等。A7支持ARM、Thumb、Thumb-2、ThumbEE指令集;ARM Cortex-A7 MPcore属于ARM v7-A架构,处理器支持1~4个核心。ARM Cortex-A7 MPCore架构基础知识写汇编代码时,一条语句并不能决定它使用的是哪种指令集,而是由编译器在编译时按最优化的方式决定它翻译成哪种指令;也可以在编译器中指定固定使用哪种指令;原创 2022-11-19 02:47:16 · 2031 阅读 · 0 评论 -
07 树莓派裸机编程,并在Windows MSYS2 QEMU模拟器中运行
树莓派里面有GPU和ARM CPU,GPU先上电运行,然后再引导ARM运行树莓派的GPU底层固件(Bootloader)是闭源的,但可以在此基础上引导自己的U-Boot、Linux kernel,也可以不用U-Boot和Linux,直接引导裸机程序或者RTOS;这种引导方式和Xilinx ZYNQ类似,ARM和FPGA一个先启动一个后启动。一些其它的树莓派嵌入式相关的开源仓库:(1) 运行在 Raspberry Pi 上的小型嵌入式系统))原创 2022-11-16 22:03:59 · 860 阅读 · 0 评论 -
06 在MSYS2中编译树莓派裸机程序,并在QEMU中运行
repo=mingw64 中能找到/mingw64/bin/qemu-system-aarch64.exe、/mingw64/bin/qemu-system-arm.exe,也能找到安装方法:pacman -S mingw-w64-x86_64-qemu;但也不在ARM官方下载,我们在MSYS2中同样也能找到:在https://packages.msys2.org/base 中能搜到mingw-w64-arm-none-eabi-gcc和mingw-w64-arm-none-eabi-gdb。原创 2022-11-16 20:17:03 · 881 阅读 · 0 评论 -
05 MSYS2中安装树莓派32位和64位ARM交叉编译工具
ARM在Windows下自带的交叉编译工具为gcc-arm-none-eabi-10.3-2021.10-win32.exe,网页路径在https://developer.arm.com/downloads/-/gnu-rm ,交叉编译工具名为arm-none-eabi-gcc,我们不使用树莓派自带的交叉编译工具,而直接使用ARM的;因为树莓派没有在MinGW下编译它的交叉编译工具,而我也不想在Cygwin环境使用树莓派的Linux交叉编译工具。如果有需要,你也可以安装用于64位ARM的交叉编译工具。原创 2022-11-16 14:52:29 · 1767 阅读 · 0 评论 -
04 在MSYS2中安装QEMU
在https://packages.msys2.org/package/ 中能找到mingw-w64-x86_64-qemu;在https://packages.msys2.org/package/mingw-w64-x86_64-qemu?repo=mingw64 中能找到/mingw64/bin/qemu-system-aarch64.exe、/mingw64/bin/qemu-system-arm.exe,也能找到安装方法:pacman -S mingw-w64-x86_64-qemu;原创 2022-11-16 14:49:55 · 1106 阅读 · 0 评论 -
03 树莓派QEMU模拟器介绍
QEMU对树莓派的支持信息详见QEMU源码中的qemu\docs\system\arm\raspi.rst内容如下:QEMU支持的一些嵌入式设备中,树莓派支持的外设最多,甚至都支持了VideoCore firmware (property) 2D 3D显示加速和视频编解码,这和对Intel和AMD的支持差不多了;而其它的嵌入式芯片都没有支持2D显示加速、图片编解码、视频编解码。原创 2022-11-14 22:45:08 · 1668 阅读 · 0 评论 -
02 QEMU默认支持的所有开发板、芯片列表
QEMU默认支持的所有开发板、芯片列表原创 2021-11-12 15:20:41 · 7340 阅读 · 1 评论 -
01 QEMU仿真器-模拟器介绍
如果你也像我一样,虽然学过电子和硬件,也做过boot、系统移植、驱动和应用,但是并不喜欢随身带个板子;验证代码功能时为了节省调试时间,喜欢先用gcc写个纯逻辑的代码工程在PC上先测试一遍,调通逻辑后才上交叉编译工具或者在Keil中用硬件仿真器下到板子里运行。那么此时QEMU硬件模拟器是一个不错的选择,很多开发板都有QEMU版本的模拟器,可以直接把开发板的二进制执行文件通过QEMU来运行,有常用的外设和LCD液晶屏模块,普通功能可以直接运行,但是并不能仿真所有硬件驱动,特别是一些特殊的不通用的驱动。原创 2022-11-14 22:41:41 · 1423 阅读 · 0 评论 -
项目介绍:嵌入式QEMU教程
简介:硬件平台均为QEMU模拟器。1. 当前裸机项目使用ARM Cortex-A7 32位内核、带有GPU(2D 3D显示加速、图片和音频视频编解码)的博通BCM2836芯片(树莓派2B同款硬件,但不使用树莓派的系统和软件)。2. 当前Linux项目使用ARM Versatile Express开发板,从源码编译运行U-Boot、Linux和根文件系统。原创 2022-11-14 22:38:09 · 1852 阅读 · 0 评论