电子说
前言
前段时间分别在Win和Mac M1/M2 Silicon硬件环境下折腾了VS Code + RT-Thread的编译问题。
本文简单探讨Mac Silicon硬件环境下,使用RT-Thread Master主仓库代码+QEMU模拟器的模拟问题,方便在无硬件条件下进行RT-Thread原型快速开发,也为脱离硬件条件分析RT-Thread调度原理提供基本的开发环境基础。
1.工具需求
arm-none-eabi-gcc;
VS Code + Scons;
brew,Silicon处理器下为Homebrew,本文讨论安装过程;
QEMU for ARM,本文讨论安装过程。本文下载了qemu 7.2.1版本的源代码,且解压到用户根目录下的qemu-7.2.1目录,如下图高亮处所示;
rt-thread master代码,可以在gitee或者github上下载,本文下载的代码解压到用户根目录下的rt-thread-master目录,如下图高亮处所示。
2.Mac Silicon环境下brew安装
Step 1. 基础brew
在Mac上打开终端工具,复制如下命令到终端中,安装homebrew。
Step 2. 选择下载源 - 此处选择中科大下载源
选择1,即中科大下载源后,再根据提示输入Y,会提示输入本机密码。正确输入密码后,自动下载相关文件,等待终端完成。
Step 3. 下载完成生效brew
安装脚本下载和执行完成后,根据提示,可以重启终端,或者输入如下命令,其中,本文中lichuang是Mac用户名,请按照实际情况进行对应修改。
source /Users/lichuang/.zprofile
Step 4. 确认brew安装成功
安装完毕后,输入如下命令,查看brew版本。
brew --version
//或者
brew -v
不出意外,如下图所示,会提示git部分有问题。根据提示,分别按照提示输入如下两条命令即可(按照实际提示命令输入)
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /opt/homebrew/Library/Taps/homebrew/homebrew-cask
输入上述命令后,再次查看brew版本,提示Homebrew成功安装,并显示版本号。
3.Mac Silicon环境下QEMU for ARM安装
Step 1. 确认qemu源代码的目录
本文使用Qemu 7.2.1。从官方链接中下载qemu 7.2.1版本的源代码,且解压到用户根目录下的qemu-7.2.1目录。
打开终端,依次使用如下命令进入qemu目录。命令行的含义分别为:进入目录,创建build文件夹,进入build文件夹,配置make选项。
cd qemu-7.2.1
mkdir build
cd build
../configure --target-list=arm-softmmu
如果是纯净系统,则会提示Ninja未安装。
Step 2. 依此根据错误提示安装pkg-config, glib, pixman等工具
依次使用brew install xx命令安装相关工具后,完成了qemu的编译准备。为了防止复现出错,下图是本人在纯净MacOS环境下使用brew安装的相关工具图。该图可以通过进入opthomebrewCellar目录确认。
Step 3. 编译QEMU
完成上述步骤,依此在终端环境中,使用如下命令编译qemu,过程中会出现如下图所示的系列进度条。等待进度条完毕,若在终端中使用qeme-system-arm --version能显示qemu版本,表示安装成功。
make -j8
sudo make install
Qemu Summary
上述3个小步骤,可以用如下终端中的命令行进行小结。
brew install ninja pkgconfig glib pixman
git clone https://git.qemu.org/git/qemu.git
cd qemu
mkdir build
cd build
../configure --target-list=arm-softmmu
make -j8
sudo make install
4. VS Code环境下编译RTT且运行
打开VS Code软件,使用打开工程选项,依次进入到rt-thread-master/bsp/qemu-vexpress-a9文件夹中,打开工程。在完成系列2文章配置的前提下,可以快速一键编译该bsp。
然后,在VS Code命令行输入./qemu.sh,即可完成RT-Thread在Mac Silicon硬件+QEMU ARM环境下的仿真。
小结
本文简单讨论了Mac Silicon硬件环境下,使用VS Code + Qemu对RT-Thread RTOS的模拟。对于暂时没有硬件环境,或者希望研究RT-Thread内核原理的开发者,可以方便构建工程原型。
全部0条评论
快来发表一下你的评论吧 !