概述
嵌入式软件开发离不开开发板,在没有物理开发板的情况下,可以使用 QEMU 等类似的虚拟机来模拟开发板。QEMU 是一个支持跨平台虚拟化的虚拟机,它可以虚拟很多开发板。为了方便大家在没有开发板的情况下体验 RT-Thread,RT-Thread 使用 QEMU 模拟了 ARM vexpress A9 开发板,并提供了相关的板级支持包(BSP)。本文主要介绍在 Linux 平台使用 RT-Thread 提供的 qemu-vexpress-a9 BSP。
准备工作
-
安装编译器
sudo apt install gcc-arm-none-eabi sudo apt install gdb-arm-none-eabi sudo apt install binutils-arm-none-eabi
-
安装 QEMU
sudo apt install qemu sudo apt install qemu-system-arm
-
安装 scons
sudo apt install scons
-
安装 ncurses 库
sudo apt install libncurses5-dev
-
下载 RT-Thread 源码
git clone https://github.com/RT-Thread/rt-thread.git
启动系统
这里我直接下载目前最新的 4.0.1 版本,解压缩并进入对于的 bsp 目录。
tar zxvf rt-thread-4.0.1.tar.gz
cd rt-thread-4.0.1/bsp/qemu-vexpress-a9/
配置编译器
如果您使用自己手动安装的编译器,需要修改 rtconfig.py 文件中的 EXEC_PATH
值。
配置工程
在 qemu-vexpress-a9 BSP 根目录执行如下命令,启动配置界面。
scons --menuconfig
首次执行该命令会安装及初始化 env 工具,并在用户家目录下面生成 .env
目录,其目录结构如下所示。
$ tree ~/.env/ -L 2
/home/rudy/.env/
├── env.sh # 配置环境变量的脚本,配置后可使用 pkgs 命令
├── local_pkgs #
├── packages #
│ ├── Kconfig #
│ └── packages #
└── tools #
└── scripts #
env.sh 文件是用于配置环境变量的脚本,执行如下命令使环境变量生效。
source ~/.env/env.sh
如果您已经选择了在线软件包,就可以使用如下命令将软件包下载到 BSP 目录下的 packages 目录。
pkgs --update
运行工程
在 qemu-vexpress-a9 BSP 目录下输入 scons
命令编译工程。
编译完成后,执行 qemu.sh 脚本启动虚拟机。
./qemu.sh