前言
前段時間分別在Win和Mac M1/M2 Silicon硬件環(huán)境下折騰了VS Code + RT-Thread的編譯問題。
本文簡單探討Mac Silicon硬件環(huán)境下,使用RT-Thread Master主倉庫代碼+QEMU模擬器的模擬問題,方便在無硬件條件下進(jìn)行RT-Thread原型快速開發(fā),也為脫離硬件條件分析RT-Thread調(diào)度原理提供基本的開發(fā)環(huán)境基礎(chǔ)。
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環(huán)境下brew安裝
Step 1. 基礎(chǔ)brew
在Mac上打開終端工具,復(fù)制如下命令到終端中,安裝homebrew。
Step 2. 選擇下載源 - 此處選擇中科大下載源
選擇1,即中科大下載源后,再根據(jù)提示輸入Y,會提示輸入本機密碼。正確輸入密碼后,自動下載相關(guān)文件,等待終端完成。
Step 3. 下載完成生效brew
安裝腳本下載和執(zhí)行完成后,根據(jù)提示,可以重啟終端,或者輸入如下命令,其中,本文中l(wèi)ichuang是Mac用戶名,請按照實際情況進(jìn)行對應(yīng)修改。
source /Users/lichuang/.zprofile
Step 4. 確認(rèn)brew安裝成功
安裝完畢后,輸入如下命令,查看brew版本。
brew --version
//或者
brew -v
不出意外,如下圖所示,會提示git部分有問題。根據(jù)提示,分別按照提示輸入如下兩條命令即可(按照實際提示命令輸入)
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環(huán)境下QEMU for ARM安裝
Step 1. 確認(rèn)qemu源代碼的目錄
本文使用Qemu 7.2.1。從官方鏈接中下載qemu 7.2.1版本的源代碼,且解壓到用戶根目錄下的qemu-7.2.1目錄。
打開終端,依次使用如下命令進(jìn)入qemu目錄。命令行的含義分別為:進(jìn)入目錄,創(chuàng)建build文件夾,進(jìn)入build文件夾,配置make選項。
cd qemu-7.2.1
mkdir build
cd build
../configure --target-list=arm-softmmu
如果是純凈系統(tǒng),則會提示Ninja未安裝。
Step 2. 依此根據(jù)錯誤提示安裝pkg-config, glib, pixman等工具
依次使用brew install xx命令安裝相關(guān)工具后,完成了qemu的編譯準(zhǔn)備。為了防止復(fù)現(xiàn)出錯,下圖是本人在純凈MacOS環(huán)境下使用brew安裝的相關(guān)工具圖。該圖可以通過進(jìn)入opthomebrewCellar目錄確認(rèn)。
Step 3. 編譯QEMU
完成上述步驟,依此在終端環(huán)境中,使用如下命令編譯qemu,過程中會出現(xiàn)如下圖所示的系列進(jìn)度條。等待進(jìn)度條完畢,若在終端中使用qeme-system-arm --version能顯示qemu版本,表示安裝成功。
make -j8
sudo make install
Qemu Summary
上述3個小步驟,可以用如下終端中的命令行進(jìn)行小結(jié)。
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環(huán)境下編譯RTT且運行
打開VS Code軟件,使用打開工程選項,依次進(jìn)入到rt-thread-master/bsp/qemu-vexpress-a9文件夾中,打開工程。在完成系列2文章配置的前提下,可以快速一鍵編譯該bsp。
然后,在VS Code命令行輸入./qemu.sh,即可完成RT-Thread在Mac Silicon硬件+QEMU ARM環(huán)境下的仿真。
小結(jié)
本文簡單討論了Mac Silicon硬件環(huán)境下,使用VS Code + Qemu對RT-Thread RTOS的模擬。對于暫時沒有硬件環(huán)境,或者希望研究RT-Thread內(nèi)核原理的開發(fā)者,可以方便構(gòu)建工程原型。
-
ARM處理器
+關(guān)注
關(guān)注
6文章
360瀏覽量
41742 -
模擬器
+關(guān)注
關(guān)注
2文章
875瀏覽量
43223 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1289瀏覽量
40129 -
gcc編譯器
+關(guān)注
關(guān)注
0文章
78瀏覽量
3385 -
qemu
+關(guān)注
關(guān)注
0文章
57瀏覽量
5357
發(fā)布評論請先 登錄
相關(guān)推薦
RT-Thread記錄(一、版本開發(fā)環(huán)境及配合CubeMX)
![<b class='flag-5'>RT-Thread</b>記錄(一、版本<b class='flag-5'>開發(fā)</b>環(huán)境及配合CubeMX)](https://file.elecfans.com//web2/M00/4C/58/pYYBAGKtyOGACMdxAABXG3HKIdk106.png)
【RT-Thread學(xué)習(xí)筆記】如何優(yōu)雅地退出QEMU模擬器?
![【<b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記】如何優(yōu)雅地退出<b class='flag-5'>QEMU</b><b class='flag-5'>模擬器</b>?](https://file.elecfans.com/web2/M00/56/6F/pYYBAGLfRjOAcPKBAAFd6YnXym4812.png)
如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例
![如何在windows和linux平臺使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>QEMU</b> BSP,并運行<b class='flag-5'>RT</b>-ThreadGUI示例](https://file.elecfans.com/web1/M00/45/E4/o4YBAFp7oDmAJmgMAAAVSNIpyFs909.png)
RT-Thread編程指南
RT-Thread用戶手冊
RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個步驟
![<b class='flag-5'>RT-Thread</b><b class='flag-5'>開發(fā)</b>,如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個步驟](https://file1.elecfans.com//web2/M00/A6/D1/wKgZomUMQKSAAGYNAADF5bX7DBc399.png)
RT-Thread軟件包定義和使用
![<b class='flag-5'>RT-Thread</b>軟件包定義和使用](https://file.elecfans.com/web1/M00/51/37/pIYBAFsCPbCARj8DAAASmGgmf14053.png)
RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述
![<b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述](https://file.elecfans.com/web2/M00/52/31/pYYBAGLKk5WAA__jAADjdAdXhIs410.jpg)
RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
![<b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
基于RT-Thread Studio學(xué)習(xí)
![基于<b class='flag-5'>RT-Thread</b> Studio學(xué)習(xí)](https://file1.elecfans.com/web2/M00/82/C1/wKgaomRhn_SAM7fdAACQhFt0KEA325.jpg)
RT-Thread qemu mps2-an385 bsp移植制作 :環(huán)境搭建篇
![<b class='flag-5'>RT-Thread</b> <b class='flag-5'>qemu</b> mps2-an385 bsp移植制作 :環(huán)境搭建篇](https://file1.elecfans.com/web2/M00/8E/CD/wKgaomTJ-ySAZ7tRAAJpdTlNcRE617.jpg)
評論