0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

使用RT-Thread Master+QEMU模擬器進(jìn)行RT-Thread原型快速開發(fā)

冬至子 ? 來(lái)源:lchnu ? 作者:lchnu ? 2023-09-27 14:50 ? 次閱讀

前言

前段時(shí)間分別在Win和Mac M1/M2 Silicon硬件環(huán)境下折騰了VS Code + RT-Thread的編譯問題。

本文簡(jiǎn)單探討Mac Silicon硬件環(huán)境下,使用RT-Thread Master主倉(cāng)庫(kù)代碼+QEMU模擬器的模擬問題,方便在無(wú)硬件條件下進(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目錄,如下圖高亮處所示。

1.jpg

2.Mac Silicon環(huán)境下brew安裝

Step 1. 基礎(chǔ)brew

在Mac上打開終端工具,復(fù)制如下命令到終端中,安裝homebrew。

1.jpg

Step 2. 選擇下載源 - 此處選擇中科大下載源

選擇1,即中科大下載源后,再根據(jù)提示輸入Y,會(huì)提示輸入本機(jī)密碼。正確輸入密碼后,自動(dòng)下載相關(guān)文件,等待終端完成。

1.jpg

Step 3. 下載完成生效brew

安裝腳本下載和執(zhí)行完成后,根據(jù)提示,可以重啟終端,或者輸入如下命令,其中,本文中l(wèi)ichuang是Mac用戶名,請(qǐng)按照實(shí)際情況進(jìn)行對(duì)應(yīng)修改。

source /Users/lichuang/.zprofile

1.jpg

Step 4. 確認(rèn)brew安裝成功

安裝完畢后,輸入如下命令,查看brew版本。

brew --version
//或者
brew -v
不出意外,如下圖所示,會(huì)提示git部分有問題。根據(jù)提示,分別按照提示輸入如下兩條命令即可(按照實(shí)際提示命令輸入)

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成功安裝,并顯示版本號(hào)。

1.jpg

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目錄。

1.jpg

打開終端,依次使用如下命令進(jìn)入qemu目錄。命令行的含義分別為:進(jìn)入目錄,創(chuàng)建build文件夾,進(jìn)入build文件夾,配置make選項(xiàng)。

cd qemu-7.2.1
mkdir build
cd build
../configure --target-list=arm-softmmu
如果是純凈系統(tǒng),則會(huì)提示Ninja未安裝。

1.jpg

Step 2. 依此根據(jù)錯(cuò)誤提示安裝pkg-config, glib, pixman等工具

1.jpg

1.jpg

依次使用brew install xx命令安裝相關(guān)工具后,完成了qemu的編譯準(zhǔn)備。為了防止復(fù)現(xiàn)出錯(cuò),下圖是本人在純凈MacOS環(huán)境下使用brew安裝的相關(guān)工具圖。該圖可以通過進(jìn)入opthomebrewCellar目錄確認(rèn)。

1.jpg

Step 3. 編譯QEMU

完成上述步驟,依此在終端環(huán)境中,使用如下命令編譯qemu,過程中會(huì)出現(xiàn)如下圖所示的系列進(jìn)度條。等待進(jìn)度條完畢,若在終端中使用qeme-system-arm --version能顯示qemu版本,表示安裝成功。

make -j8
sudo make install

1.jpg

2.jpg

Qemu Summary

上述3個(gè)小步驟,可以用如下終端中的命令行進(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且運(yùn)行
打開VS Code軟件,使用打開工程選項(xiàng),依次進(jìn)入到rt-thread-master/bsp/qemu-vexpress-a9文件夾中,打開工程。在完成系列2文章配置的前提下,可以快速一鍵編譯該bsp。

然后,在VS Code命令行輸入./qemu.sh,即可完成RT-Thread在Mac Silicon硬件+QEMU ARM環(huán)境下的仿真

1.jpg

小結(jié)

本文簡(jiǎn)單討論了Mac Silicon硬件環(huán)境下,使用VS Code + Qemu對(duì)RT-Thread RTOS的模擬。對(duì)于暫時(shí)沒有硬件環(huán)境,或者希望研究RT-Thread內(nèi)核原理的開發(fā)者,可以方便構(gòu)建工程原型。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ARM處理器
    +關(guān)注

    關(guān)注

    6

    文章

    360

    瀏覽量

    41515
  • 模擬器
    +關(guān)注

    關(guān)注

    2

    文章

    855

    瀏覽量

    42978
  • RT-Thread
    +關(guān)注

    關(guān)注

    31

    文章

    1239

    瀏覽量

    39431
  • gcc編譯器
    +關(guān)注

    關(guān)注

    0

    文章

    78

    瀏覽量

    3297
  • qemu
    +關(guān)注

    關(guān)注

    0

    文章

    57

    瀏覽量

    5298
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    RT-Thread記錄(一、版本開發(fā)環(huán)境及配合CubeMX)

    RT-Thread 學(xué)習(xí)記錄的第一篇文章,RT-Thread記錄(一、RT-Thread 版本、RT-Thread Studio開發(fā)環(huán)境 及
    的頭像 發(fā)表于 06-20 00:28 ?4925次閱讀
    <b class='flag-5'>RT-Thread</b>記錄(一、版本<b class='flag-5'>開發(fā)</b>環(huán)境及配合CubeMX)

    RT-Thread學(xué)習(xí)筆記】如何優(yōu)雅地退出QEMU模擬器

    RT-Thread學(xué)習(xí)筆記】如何優(yōu)雅地退出QEMU模擬器?我想重新編譯源碼,再次運(yùn)行新的代碼,怎么辦呢?如何才能退出這個(gè)QEMU命令行控制臺(tái)?
    的頭像 發(fā)表于 07-26 04:06 ?5502次閱讀
    【<b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記】如何優(yōu)雅地退出<b class='flag-5'>QEMU</b><b class='flag-5'>模擬器</b>?

    如何在windows和linux平臺(tái)使用RT-Thread QEMU BSP,并運(yùn)行RT-ThreadGUI示例

    開發(fā)板的情況下體驗(yàn)RT-Thread,RT-Thread使用QEMU模擬了ARM vexpress A9
    的頭像 發(fā)表于 02-08 08:50 ?1.3w次閱讀
    如何在windows和linux平臺(tái)使用<b class='flag-5'>RT-Thread</b> <b class='flag-5'>QEMU</b> BSP,并運(yùn)行<b class='flag-5'>RT</b>-ThreadGUI示例

    RT-Thread編程指南

    RT-Thread編程指南——RT-Thread開發(fā)組(2015-03-31)。RT-Thread做為國(guó)內(nèi)有較大影響力的開源實(shí)時(shí)操作系統(tǒng),本文是RT
    發(fā)表于 11-26 16:06 ?0次下載

    RT-Thread用戶手冊(cè)

    RT-Thread用戶手冊(cè)——本書是RT-Thread的編程手冊(cè),用于指導(dǎo)在RT-Thread實(shí)時(shí)操作系統(tǒng)環(huán)境下如何進(jìn)行編 程。
    發(fā)表于 11-26 16:16 ?0次下載

    RT-Thread開發(fā),如何有效學(xué)習(xí)RT-Thread的五個(gè)步驟

    RT-Thread推出RT-Thread Inside戰(zhàn)略開放RT-Thread開發(fā)平臺(tái)授權(quán)合作,與硬件十萬(wàn)個(gè)為什么合作首次推出第一款RT-
    的頭像 發(fā)表于 09-25 09:55 ?3.4w次閱讀
    <b class='flag-5'>RT-Thread</b><b class='flag-5'>開發(fā)</b>,如何有效學(xué)習(xí)<b class='flag-5'>RT-Thread</b>的五個(gè)步驟

    RT-Thread軟件包定義和使用

    RT-Thread軟件包是運(yùn)行于RT-Thread物聯(lián)網(wǎng)操作系統(tǒng)平臺(tái)上,面向不同應(yīng)用領(lǐng)域的通用軟件組件 。RT-Thread 同時(shí)提供了開放的軟件包平臺(tái),為開發(fā)者提供了眾多可重用軟件包
    的頭像 發(fā)表于 05-21 11:29 ?1w次閱讀
    <b class='flag-5'>RT-Thread</b>軟件包定義和使用

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例

    RT-Thread全球技術(shù)大會(huì):RT-Thread測(cè)試用例集合案例 ? ? ? ? ? 審核編輯:彭靜
    的頭像 發(fā)表于 05-27 16:34 ?1962次閱讀
    <b class='flag-5'>RT-Thread</b>全球技術(shù)大會(huì):<b class='flag-5'>RT-Thread</b>測(cè)試用例集合案例

    RT-Thread學(xué)習(xí)筆記 RT-Thread的架構(gòu)概述

    的種種優(yōu)越之處。RT-Thread 是一款完全由國(guó)內(nèi)團(tuán)隊(duì)開發(fā)維護(hù)的嵌入式實(shí)時(shí)操作系統(tǒng)(RTOS),具有完全的自主知識(shí)產(chǎn)權(quán)。經(jīng)過 16 個(gè)年頭的沉淀,伴隨著物聯(lián)網(wǎng)的興起,它正演變成一個(gè)功能強(qiáng)大、組件豐富的物
    的頭像 發(fā)表于 07-09 11:27 ?4321次閱讀
    <b class='flag-5'>RT-Thread</b>學(xué)習(xí)筆記 <b class='flag-5'>RT-Thread</b>的架構(gòu)概述

    RT-Thread文檔_RT-Thread 簡(jiǎn)介

    RT-Thread文檔_RT-Thread 簡(jiǎn)介
    發(fā)表于 02-22 18:22 ?5次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 簡(jiǎn)介

    RT-Thread文檔_Keil 模擬器 STM32F103 上手指南

    RT-Thread文檔_Keil 模擬器 STM32F103 上手指南
    發(fā)表于 02-22 18:22 ?4次下載
    <b class='flag-5'>RT-Thread</b>文檔_Keil <b class='flag-5'>模擬器</b> STM32F103 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread 潘多拉 STM32L475 上手指南
    發(fā)表于 02-22 18:23 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> 潘多拉 STM32L475 上手指南

    RT-Thread文檔_RT-Thread SMP 介紹與移植

    RT-Thread文檔_RT-Thread SMP 介紹與移植
    發(fā)表于 02-22 18:31 ?9次下載
    <b class='flag-5'>RT-Thread</b>文檔_<b class='flag-5'>RT-Thread</b> SMP 介紹與移植

    基于RT-Thread Studio學(xué)習(xí)

    前期準(zhǔn)備:從官網(wǎng)下載 RT-Thread Studio,弄個(gè)賬號(hào)登陸,開啟rt-thread學(xué)習(xí)之旅。
    的頭像 發(fā)表于 05-15 11:00 ?3494次閱讀
    基于<b class='flag-5'>RT-Thread</b> Studio學(xué)習(xí)

    RT-Thread qemu mps2-an385 bsp移植制作 :環(huán)境搭建篇

    最近打算系統(tǒng)地研究一下 RT-Thread,包括 RT-Thread BSP 的移植,由于一直在使用 QEMU 進(jìn)行一些軟件功能的驗(yàn)證,qemu
    的頭像 發(fā)表于 08-02 14:45 ?514次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>qemu</b> mps2-an385 bsp移植制作 :環(huán)境搭建篇