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

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

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

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

RTThread物聯(lián)網(wǎng)操作系統(tǒng) ? 來(lái)源:互聯(lián)網(wǎng) ? 作者:佚名 ? 2018-02-08 08:50 ? 次閱讀

本文描述如何在windows及linux平臺(tái)使用RT-Thread QEMU BSP,并運(yùn)行RT-Thread GUI示例。

1 本文的目的和結(jié)構(gòu)

1.1 本文的目的 和背景嵌入式軟件開(kāi)發(fā)離不開(kāi)開(kāi)發(fā)板,在沒(méi)有物理開(kāi)發(fā)板的情況下,可以使用QEMU等類似的虛擬機(jī)來(lái)模擬開(kāi)發(fā)板。QEMU是一個(gè)支持跨平臺(tái)虛擬化的虛擬機(jī),它可以虛擬很多開(kāi)發(fā)板。為了方便大家在沒(méi)有開(kāi)發(fā)板的情況下體驗(yàn)RT-Thread,RT-Thread使用QEMU模擬了ARM vexpress A9開(kāi)發(fā)板,并提供了相關(guān)的板級(jí)支持包(BSP)。本文主要介紹在windows平臺(tái)和linux平臺(tái)使用RT-Thread提供的qemu-vexpress-a9 BSP。

1.2 本文的結(jié)構(gòu)本文首先介紹qemu-vexpress-a9 BSP在windows平臺(tái)的使用明細(xì),其次介紹在linux平臺(tái)的使用明細(xì)。

2 在windows平臺(tái)使用qemu-vexpress-a9 BSP

2.1 準(zhǔn)備工作

RT-Thread源碼

RT-Thread env工具

env是RT-Thread推出的圖形界面輔助工具,用來(lái)配置基于RT-Thread操作系統(tǒng)開(kāi)發(fā)的項(xiàng)目工程。env自帶有編譯器和QEMU,因此在windows平臺(tái)可以不用下載編譯器和QEMU。請(qǐng)點(diǎn)擊下面鏈接獲取env詳細(xì)信息及env運(yùn)行環(huán)境要求:

解壓RT-Thread源碼,在BSP目錄下找到qemu-vexpress-a9文件夾,RT-Thread qemu-vexpresss-a9 BSP實(shí)現(xiàn)了LCD、鍵盤、鼠標(biāo)、SD卡、以太網(wǎng)卡、串口等相關(guān)驅(qū)動(dòng)。

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

圖 2.1 1 qemu-vexpress-a9文件夾

2.2 運(yùn)行qemu-vexpress-a9 BSP工程1、打開(kāi)env文件夾,根據(jù)系統(tǒng)類型(32位/64位)雙擊對(duì)應(yīng)的console.exe文件打開(kāi)env控制臺(tái):

圖 2.2 1 env文件夾

2、在命令行模式下使用cd d:projects t-threadspqemu-vexpress-a9命令切換到RT-Thread源碼文件夾下的qemu-vexpress-a9 BSP根目錄,然后輸入scons命令編譯工程:

圖 2.2 2 編譯工程

3、編譯完成后輸入qemu.bat啟動(dòng)虛擬機(jī)及BSP工程,qemu.bat是windows批處理文件,此文件位于BSP文件夾下,主要包括QEMU的執(zhí)行指令,第一次運(yùn)行工程會(huì)在BSP文件夾下創(chuàng)建一份空白的sd.bin文件,這是虛擬的sd卡,大小為64M。env命令行界面顯示RT-Thread系統(tǒng)啟動(dòng)過(guò)程中打印的初始化信息及版本號(hào)信息等,如下圖所示:

圖 2.2 3 運(yùn)行工程

4、若電腦安裝有360安全衛(wèi)士會(huì)有警告,點(diǎn)擊允許程序運(yùn)行,這時(shí)qemu虛擬機(jī)就運(yùn)行起來(lái)了。虛擬機(jī)中央的白色區(qū)域是虛擬的LCD屏,讀者可以自己寫些GUI相關(guān)代碼,相關(guān)圖形圖像信息會(huì)出現(xiàn)在這塊虛擬的LCD屏中,后面本文將演示RT-Thread提供的GUI示例代碼。

圖 2.2 4虛擬屏

5、RT-Thread支持finsh,用戶可以在命令行模式操作,輸入help或按tab鍵可以查看所有支持的命令,輸入list_device可以查看所有設(shè)備。這里可以看到設(shè)備里包括了我們前面提到的虛擬的sd卡“sd0”,接下來(lái)我們可以使用mkfs sd0命令格式化sd卡,執(zhí)行該命令會(huì)將sd卡格式化成FatFS文件系統(tǒng)。FatFs是專為小型嵌入式設(shè)備開(kāi)發(fā)的一個(gè)兼容微軟fat的文件系統(tǒng),采用ANSI C編寫,采用抽象的硬件I/O層以及提供持續(xù)的維護(hù),因此具有良好的硬件無(wú)關(guān)性以及可移植性。

圖 2.2 5 格式化sd卡

6、第一次格式化sd卡后文件系統(tǒng)不會(huì)馬上裝載上,第二次啟動(dòng)才會(huì)被正確裝載。我們退出虛擬機(jī),然后在env命令行界面輸入qemu.bat重新啟動(dòng)虛擬機(jī)及工程,輸入ls命令可以看到新增了Directory目錄,文件系統(tǒng)已經(jīng)裝載上,然后可以使用RT-Thread提供的其他命令體驗(yàn)文件系統(tǒng)。

圖 2.2 6 文件系統(tǒng)其他命令

2.3 運(yùn)行RT-Thread GUI示例1、關(guān)掉QEMU虛擬機(jī),回到ENV控制臺(tái)。0.6.4版本的env工具中加入了自動(dòng)更新軟件包和自動(dòng)生成mdk/iar工程的選項(xiàng),默認(rèn)不開(kāi)啟。可以使用menuconfig –s或者menuconfig --setting配置:

圖 2.3 1 menuconfig -s命令

選中“auto update pkgs config”,在使用menuconfig功能后env會(huì)自動(dòng)使用pkgs --update命令來(lái)下載并安裝軟件包,同時(shí)刪除舊的軟件包:

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

圖 2.3 2 自動(dòng)更新配置

2、使用menuconfig命令進(jìn)入配置界面,進(jìn)入“RT-Thread Components” ——→ “RT-Thread UI Engine”子菜單,按‘↓’鍵下翻選中“Enable the example of UI Engine”:

圖 2.3 3 選擇GUI示例

3、按‘→’鍵選中“save”保存配置,并按“Exit”鍵退出配置界面,回到命令行界面,輸入scons重新編譯工程:

圖 2.3 4 scons命令編譯工程

4、編譯完成后輸入qemu.bat命令啟動(dòng)QEMU虛擬機(jī)及工程,可以看到QEMU虛擬的顯示屏上顯示了示例代碼展示的圖片、文字和圖形信息:

圖 2.3 5 虛擬屏GUI 示例展示

2.4 用eclipse調(diào)試qemu-vexpress-a9 BSP工程1、首先在eclipse的Eclipse Marketplace里下載并安裝支持QEMU的調(diào)試工具:

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

圖 2.4 1 Eclipse Marketplace

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

圖 2.4 2 調(diào)試工具安裝

2、首次調(diào)試工程需要配置調(diào)試參數(shù),如下面圖片所示,打開(kāi)調(diào)試配置界面及配置調(diào)試參數(shù):

圖 2.4 3 eclipse調(diào)試配置選項(xiàng)

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

圖 2.4 4 創(chuàng)建新的調(diào)試項(xiàng)目

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

圖 2.4 5 選擇調(diào)試文件

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

圖 2.4 6 選擇調(diào)試工具

圖 2.4 7 選擇斷點(diǎn)

3、調(diào)試相關(guān)參數(shù)配置好后就可以開(kāi)始調(diào)試了,回到env命令行界面輸入qemu-dbg.bat開(kāi)啟調(diào)試模式:

圖 2.4 8 啟動(dòng)調(diào)試

這時(shí)候啟動(dòng)的QEMU虛擬機(jī)處于暫停狀態(tài),等待連接調(diào)試:

圖 2.4 9 虛擬屏調(diào)試初始界面

4、點(diǎn)擊eclipse調(diào)試配置界面的“Debug”按鈕,或者點(diǎn)擊調(diào)試項(xiàng)目名稱,開(kāi)啟eclipse調(diào)試界面,這時(shí)就可以對(duì)工程進(jìn)行調(diào)試了:

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

圖 2.4 10 開(kāi)始調(diào)試

圖 2.4 11 eclipse調(diào)試項(xiàng)目選擇

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

圖 2.4 12 eclipse調(diào)試界面

3 在linux平臺(tái)使用qemu-vexpress-a9 BSP

3.1 準(zhǔn)備工作

下載RT-Thread源碼,使用命令:git clone https://github.com/RT-Thread/rt-thread.git

安裝QEMU,使用命令:sudo apt-get install qemu

安裝scons,使用命令:sudo apt-get install scons

安裝編譯器,使用apt-get命令安裝的編譯器版本太舊會(huì)導(dǎo)致編譯報(bào)錯(cuò),可依次使用如下命令下載安裝新版本.

安裝ncurses庫(kù),使用命令:sudo apt-get install libncurses5-dev

編譯器安裝好以后需要修改qemu-vexpress-a9 BSP下面的rtconfig.py文件,修改對(duì)應(yīng)路徑為解壓到opt目錄下的編譯器對(duì)應(yīng)的bin目錄,參考下圖,目錄名字因下載的編譯器版本而異:

圖 3.1 1 編譯器路徑修改

3.2 使用menuconfig配置工程1、在qemu-vexpress-a9 BSP根目錄輸入scons --menuconfig開(kāi)啟配置界面,配置操作和windows平臺(tái)一樣:

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

圖 3.2 1 menuconfig配置界面

2、使用scons --menuconfig命令后會(huì)安裝及初始化env工具,并在home目錄下面生成“.env”文件夾,此文件夾為隱藏文件夾,切換到home目錄,使用la命令可查看所有目錄和文件。env.sh文件是需要執(zhí)行的文件,它會(huì)配置好環(huán)境變量,讓我們可以使用pkgs命令來(lái)更新軟件包,輸入source ~/.env/env.sh命令執(zhí)行。若已經(jīng)選擇了在線軟件包,就可以使用pkgs --update命令下載軟件包到BSP目錄下的packages文件夾里:

圖 3.2 2 .env文件夾

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

圖 3.2 3 pkgs --update命令下載軟件包

3.3 運(yùn)行qemu-vexpress-a9 BSP工程1、在qemu-vexpress-a9 BSP目錄下輸入scons命令編譯工程:

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

圖 3.3 1 scons命令編譯工程

2、輸入ls命令查看BSP下面的文件明細(xì),綠色顯示的文件是有執(zhí)行權(quán)限的文件,我們需要給qemu.sh文件新增執(zhí)行權(quán)限,輸入chmod +x qemu.sh命令:

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

圖 3.3 2 qemu.sh文件新增執(zhí)行權(quán)限

3、輸入./qemu.sh命令執(zhí)行腳本文件,這時(shí)候虛擬機(jī)便運(yùn)行起來(lái),如下圖所示,命令行顯示了RT-Thread操作系統(tǒng)啟動(dòng)過(guò)程所打印的相關(guān)信息,白色窗口為虛擬的LCD屏,讀者可參考在windows平臺(tái)運(yùn)行RT-Thread GUI示例和使用eclipse調(diào)試的內(nèi)容,同樣可以在linux平臺(tái)實(shí)現(xiàn),本文不在贅述。

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

圖 3.3 3 虛擬機(jī)運(yùn)行界面

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

    關(guān)注

    87

    文章

    11207

    瀏覽量

    208716
  • WINDOWS
    +關(guān)注

    關(guān)注

    3

    文章

    3521

    瀏覽量

    88317

原文標(biāo)題:【應(yīng)用筆記】如何在windows及l(fā)inux平臺(tái)使用RT-Thread QEMU BSP

文章出處:【微信號(hào):RTThread,微信公眾號(hào):RTThread物聯(lián)網(wǎng)操作系統(tǒng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    何在Ubuntu平臺(tái)使用QEMU運(yùn)行RT-Threadqemu-vexpress-a9BSP工程?

    本文描述了如何在 Ubuntu 平臺(tái)使用 QEMU 運(yùn)行 RT-Thread qemu-vexp
    發(fā)表于 03-30 07:40

    何在Windows平臺(tái)使用VSCode開(kāi)發(fā)RT-Threadqemu-vexpress-a9BSP工程?

    本文描述了在 Windows 平臺(tái)使用 VS Code 開(kāi)發(fā) RT-Thread qemu-vexpress-a9 BSP 工程。
    發(fā)表于 03-30 07:59

    如何使用QEMU運(yùn)行RT-Thread動(dòng)態(tài)模塊組件?

    本文描述了在 Windows 平臺(tái)使用 QEMU 運(yùn)行 RT-Thread 動(dòng)態(tài)模塊及動(dòng)態(tài)庫(kù)。
    發(fā)表于 03-30 07:40

    怎么使用Eclipse開(kāi)發(fā)RT-Thread

    Windows 平臺(tái)使用 Eclipse 開(kāi)發(fā) RT-Thread qemu-vexpress-a9 BSP 工程的時(shí)候怎么使用 Ecl
    發(fā)表于 04-02 07:48

    Windows上使用VS Code開(kāi)發(fā)RT-Thread qemu-vexpress-a9 BSP工程

    了。本文描述了在 Windows 平臺(tái)使用 VS Code 開(kāi)發(fā) RT-Thread qemu-vexpress-a9 BSP 工程。
    發(fā)表于 03-31 18:07

    何在Window及Ubuntu平臺(tái)使用QEMU運(yùn)行 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應(yīng)用筆記描述了如何在 Window 及 Ubuntu 平臺(tái)使用 QEMU 運(yùn)行 RT-Thread
    發(fā)表于 10-26 15:19

    Windows平臺(tái)使用VSCode調(diào)試 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應(yīng)用筆記描述了在 Windows 平臺(tái)使用 VS Code 調(diào)試 RT-Thread qemu-vexpress-a9 BSP 工程。
    發(fā)表于 10-26 15:25

    Windows平臺(tái)使用Eclipse調(diào)試RT-Thread qemu-vexpress-a9 BSP工程

    \\qemu-vexpress-a9 切換到 RT-Thread 源碼文件夾下的 qemu-vexpress-a9 BSP 根目錄,然后輸入 scons 命令編譯工程,如果編譯正確無(wú)誤
    發(fā)表于 10-26 15:31

    RT-Thread BSP qemu-virt64-aarch64的編譯環(huán)境搭建步驟

      最近需要使用RT-Thread smart 開(kāi)發(fā)調(diào)試一些軟件功能,由于軟件功能平臺(tái)無(wú)關(guān),使用外部硬件操作,會(huì)耗費(fèi)更多的時(shí)間在后臺(tái)。  打算使用BSP qemu-virt64-aar
    發(fā)表于 04-04 17:04

    RT-Thread BSP qemu-virt64-aarch64文件系統(tǒng)

      前言   前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環(huán)境,運(yùn)行后發(fā)現(xiàn),文件系統(tǒng)沒(méi)有掛載上,感覺(jué)是沒(méi)有 mkfs。   通過(guò)
    發(fā)表于 05-16 10:29

    RT-Thread文檔_Nordic BSP 上手指南

    RT-Thread文檔_Nordic BSP 上手指南
    發(fā)表于 02-22 18:26 ?7次下載
    <b class='flag-5'>RT-Thread</b>文檔_Nordic <b class='flag-5'>BSP</b> 上手指南

    手把手教你在RT-THREAD bsp運(yùn)行pikascript腳本點(diǎn)亮小燈

    簡(jiǎn)介 這篇文章介紹如何在RT-THREAD bsp運(yùn)行pikascript腳本。 pikascript相當(dāng)于一個(gè)小型的micropython。 原文: https://blog.cs
    的頭像 發(fā)表于 05-25 07:45 ?828次閱讀
    手把手教你在<b class='flag-5'>RT-THREAD</b> <b class='flag-5'>bsp</b>上<b class='flag-5'>運(yùn)行</b>pikascript腳本點(diǎn)亮小燈

    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 ?585次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>qemu</b> mps2-an385 <b class='flag-5'>bsp</b>移植制作 :環(huán)境搭建篇

    RT-Thread BSP qemu-virt64-aarch64文件系統(tǒng)

    前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環(huán)境,運(yùn)行后發(fā)現(xiàn),文件系統(tǒng)沒(méi)有掛載上,感覺(jué)是沒(méi)有 mkfs。
    的頭像 發(fā)表于 10-08 16:34 ?884次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b> <b class='flag-5'>qemu</b>-virt64-aarch64文件系統(tǒng)

    QEMU系列】不用開(kāi)發(fā)板運(yùn)行RT-Thread指南-ARM架構(gòu)

    成為一個(gè)門檻。本文將詳細(xì)介紹如何在QEMU虛擬機(jī)的Vexpress-A9平臺(tái)運(yùn)行RT-Thread,幫助開(kāi)發(fā)者在沒(méi)有實(shí)際硬件開(kāi)發(fā)板的情況下
    的頭像 發(fā)表于 08-09 08:35 ?748次閱讀
    【<b class='flag-5'>QEMU</b>系列】不用開(kāi)發(fā)板<b class='flag-5'>運(yùn)行</b><b class='flag-5'>RT-Thread</b>指南-ARM架構(gòu)