Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
macOS
qemu-vexpress-a9
vscode
RT-Thread with VS Code之MacOS Silicon+ QEMU篇 - 系列3
发布于 2023-04-10 22:26:58 浏览:918
订阅该版
[tocm] ## 0. 前言 前段时间分别在Win和Mac M1/M2 Silicon硬件环境下折腾了VS Code + RT-Thread的编译问题。 本文简单探讨Mac Silicon硬件环境下,使用RT-Thread Master主仓库代码+QEMU模拟器的模拟问题,方便在无硬件条件下进行RT-Thread原型快速开发,也为脱离硬件条件分析RT-Thread调度原理提供基本的开发环境基础。 前文提要: [RT-Thread-RT-Thread with VS Code之Windows篇 - 系列1 / RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/564516da5e187209.html) [RT-Thread-RT-Thread with VS Code之MacOS篇 - 系列2 / RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/190a666d2e48955c.html) 本文在第2篇文章的基础上开展讨论。 ## 1. 工具需求 - arm-none-eabi-gcc,系列2文章已经讨论; - VS Code + Scons,系列2文章已经讨论; - brew,Silicon处理器下为Homebrew,本文讨论安装过程; - QEMU for ARM,本文讨论安装过程。本文下载了qemu 7.2.1版本的源代码,且解压到用户根目录下的`qemu-7.2.1`目录,如下图高亮处所示; - rt-thread master代码,可以在gitee或者github上下载,本文下载的代码解压到用户根目录下的`rt-thread-master`目录,如下图高亮处所示。 ![folder-dir.png](https://oss-club.rt-thread.org/uploads/20230410/9585661b9c602e277d48b3f5b68618cb.png.webp) ## 2. Mac Silicon环境下brew安装 **Step 1. 基础brew** 参考链接:[MacBook使用笔记:安装Homebrew(M1) - 知乎](https://zhuanlan.zhihu.com/p/372576355) 在Mac上打开终端工具,复制如下命令到终端中,安装homebrew。 ```c /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" ``` ![brew-install-1.png](https://oss-club.rt-thread.org/uploads/20230410/2a5db6d114d5d81b493a0c55c980848a.png.webp) **Step 2. 选择下载源 - 此处选择中科大下载源** 选择`1`,即中科大下载源后,再根据提示输入`Y `,会提示输入本机密码。正确输入密码后,自动下载相关文件,等待终端完成。 ![brew-install-2.png](https://oss-club.rt-thread.org/uploads/20230410/ca8fa4e2038c8465d0eb5b1581212ad7.png.webp) **Step 3. 下载完成生效brew** 安装脚本下载和执行完成后,根据提示,可以重启终端,或者输入如下命令,其中,本文中`lichuang`是Mac用户名,请按照实际情况进行对应修改。 ```c source /Users/lichuang/.zprofile ``` ![brew-install-3.png](https://oss-club.rt-thread.org/uploads/20230410/7f95c8ead609bf5e352ee93d1f28e856.png.webp) **Step 4. 确认brew安装成功** 安装完毕后,输入如下命令,查看brew版本。 ```c brew --version //或者 brew -v ``` 不出意外,如下图所示,会提示git部分有问题。根据提示,分别按照提示输入如下两条命令即可(`按照实际提示命令输入`) ```c 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成功安装,并显示版本号。 ![brew-install-4.png](https://oss-club.rt-thread.org/uploads/20230410/822230e41021f4d91bee905239871608.png.webp) ## 3. Mac Silicon环境下QEMU for ARM安装 **Step 1. 确认qemu源代码的目录** 本文使用Qemu 7.2.1。从官方链接中下载qemu 7.2.1版本的源代码,且解压到用户根目录下的`qemu-7.2.1`目录。 下载链接:https://www.qemu.org/download/#source ![qemu-download](https://oss-club.rt-thread.org/uploads/20230410/34e78c85ed90f5cdaa1afe3c78c65aee.png.webp) 打开终端,依次使用如下命令进入qemu目录。命令行的含义分别为:进入目录,创建build文件夹,进入build文件夹,配置make选项。 ```c cd qemu-7.2.1 mkdir build cd build ../configure --target-list=arm-softmmu ``` 如果是纯净系统,则会提示Ninja未安装。 ![qemu-ninja.png](https://oss-club.rt-thread.org/uploads/20230410/34ab2eb69462b4ee2af6692d03aaf1e3.png.webp) **Step 2. 依此根据错误提示安装pkg-config, glib, pixman等工具** ![qemu-pkgconfig.png](https://oss-club.rt-thread.org/uploads/20230410/329c55a6b7dfdc860811afadbd1aee33.png.webp) ![qemu-glib.png](https://oss-club.rt-thread.org/uploads/20230410/33befad062b4a6c2a1378de4f80be226.png.webp) 依次使用`brew install xx`命令安装相关工具后,完成了qemu的编译准备。为了防止复现出错,下图是本人在纯净MacOS环境下使用brew安装的相关工具图。该图可以通过进入`\opt\homebrew\Cellar`目录确认。 ![qemu-brew-list.png](https://oss-club.rt-thread.org/uploads/20230410/3e9f42a29ca301ce807c5a244442a63c.png.webp) **Step 3. 编译QEMU** 完成上述步骤,依此在终端环境中,使用如下命令编译qemu,过程中会出现如下图所示的系列进度条。等待进度条完毕,若在终端中使用`qeme-system-arm --version`能显示qemu版本,表示安装成功。 ```c make -j8 sudo make install ``` ![qemu-make.png](https://oss-club.rt-thread.org/uploads/20230410/f1f95ba6b39526861c8ea0660c2b2055.png.webp) ![qemu-version-done.png](https://oss-club.rt-thread.org/uploads/20230410/fc0dc26cbcc5e98d36d328ef6674f5e6.png.webp) **Qemu Summary** 上述3个小步骤,可以用如下终端中的命令行进行小结。 ```c 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。 [RT-Thread-RT-Thread with VS Code之MacOS篇 - 系列2 / RT-Thread问答社区 - RT-Thread](https://club.rt-thread.org/ask/article/190a666d2e48955c.html) 然后,在VS Code命令行输入`./qemu.sh`,即可完成RT-Thread在Mac Silicon硬件+QEMU ARM环境下的仿真。 ![qemu-rtthread.png](https://oss-club.rt-thread.org/uploads/20230410/6a2e17886db89da7c4d7307d217fef20.png.webp) ## 小结 本文简单讨论了Mac Silicon硬件环境下,使用VS Code + Qemu对RT-Thread RTOS的模拟。对于暂时没有硬件环境,或者希望研究RT-Thread内核原理的开发者,可以方便构建工程原型。 Happy RTT!
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
lchnu
Witness, Understand, Skill
文章
10
回答
229
被采纳
88
关注TA
发私信
相关文章
1
RT-Thread Studio 跨平台
2
能否提供macos版的开发软件
3
rtgui/driver.h No such file
4
pkgs --update出错,ImportError requests
5
在macOS 如何使用柿饼派m3开发板进行开发?
6
Macos 如何打开 menucofig
7
qemu-vexpress-a9下,ping百度可以,本机IP不通(已解决)
8
studio QEMU-VEXPRESS-A9,TAP 网卡配置失败
9
qemu-vexpress-a9运行 qemu-dbg.sh 提示错误
10
使用Vscode+qemu调试RT-Thread,F5调试时报错
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
USB
DMA
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
FAL
rt-smart
I2C_IIC
ESP8266
UART
WIZnet_W5500
ota在线升级
PWM
cubemx
flash
freemodbus
BSP
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
flashDB
GD32
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
SFUD
msh
keil_MDK
ulog
C++_cpp
MicroPython
本月问答贡献
xusiwei1236
5
个答案
2
次被采纳
踩姑娘的小蘑菇
1
个答案
2
次被采纳
用户名由3_15位
7
个答案
1
次被采纳
bernard
4
个答案
1
次被采纳
张世争
1
个答案
1
次被采纳
本月文章贡献
聚散无由
2
篇文章
15
次点赞
catcatbing
2
篇文章
5
次点赞
Wade
2
篇文章
2
次点赞
Ghost_Girls
1
篇文章
6
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部