吴忠躺衫网络科技有限公司

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

RTThread物聯網操作系統 ? 來源:互聯網 ? 作者:佚名 ? 2018-02-08 08:50 ? 次閱讀

本文描述如何在windows及linux平臺使用RT-Thread QEMU BSP,并運行RT-Thread GUI示例。

1 本文的目的和結構

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

1.2 本文的結構本文首先介紹qemu-vexpress-a9 BSP在windows平臺的使用明細,其次介紹在linux平臺的使用明細。

2 在windows平臺使用qemu-vexpress-a9 BSP

2.1 準備工作

RT-Thread源碼

RT-Thread env工具

env是RT-Thread推出的圖形界面輔助工具,用來配置基于RT-Thread操作系統開發的項目工程。env自帶有編譯器和QEMU,因此在windows平臺可以不用下載編譯器和QEMU。請點擊下面鏈接獲取env詳細信息及env運行環境要求:

解壓RT-Thread源碼,在BSP目錄下找到qemu-vexpress-a9文件夾,RT-Thread qemu-vexpresss-a9 BSP實現了LCD、鍵盤、鼠標、SD卡、以太網卡、串口等相關驅動。

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.1 1 qemu-vexpress-a9文件夾

2.2 運行qemu-vexpress-a9 BSP工程1、打開env文件夾,根據系統類型(32位/64位)雙擊對應的console.exe文件打開env控制臺:

圖 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啟動虛擬機及BSP工程,qemu.bat是windows批處理文件,此文件位于BSP文件夾下,主要包括QEMU的執行指令,第一次運行工程會在BSP文件夾下創建一份空白的sd.bin文件,這是虛擬的sd卡,大小為64M。env命令行界面顯示RT-Thread系統啟動過程中打印的初始化信息及版本號信息等,如下圖所示:

圖 2.2 3 運行工程

4、若電腦安裝有360安全衛士會有警告,點擊允許程序運行,這時qemu虛擬機就運行起來了。虛擬機中央的白色區域是虛擬的LCD屏,讀者可以自己寫些GUI相關代碼,相關圖形圖像信息會出現在這塊虛擬的LCD屏中,后面本文將演示RT-Thread提供的GUI示例代碼。

圖 2.2 4虛擬屏

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

圖 2.2 5 格式化sd卡

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

圖 2.2 6 文件系統其他命令

2.3 運行RT-Thread GUI示例1、關掉QEMU虛擬機,回到ENV控制臺。0.6.4版本的env工具中加入了自動更新軟件包和自動生成mdk/iar工程的選項,默認不開啟。可以使用menuconfig –s或者menuconfig --setting配置:

圖 2.3 1 menuconfig -s命令

選中“auto update pkgs config”,在使用menuconfig功能后env會自動使用pkgs --update命令來下載并安裝軟件包,同時刪除舊的軟件包:

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.3 2 自動更新配置

2、使用menuconfig命令進入配置界面,進入“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命令啟動QEMU虛擬機及工程,可以看到QEMU虛擬的顯示屏上顯示了示例代碼展示的圖片、文字和圖形信息:

圖 2.3 5 虛擬屏GUI 示例展示

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

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 1 Eclipse Marketplace

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 2 調試工具安裝

2、首次調試工程需要配置調試參數,如下面圖片所示,打開調試配置界面及配置調試參數:

圖 2.4 3 eclipse調試配置選項

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 4 創建新的調試項目

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 5 選擇調試文件

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 6 選擇調試工具

圖 2.4 7 選擇斷點

3、調試相關參數配置好后就可以開始調試了,回到env命令行界面輸入qemu-dbg.bat開啟調試模式:

圖 2.4 8 啟動調試

這時候啟動的QEMU虛擬機處于暫停狀態,等待連接調試:

圖 2.4 9 虛擬屏調試初始界面

4、點擊eclipse調試配置界面的“Debug”按鈕,或者點擊調試項目名稱,開啟eclipse調試界面,這時就可以對工程進行調試了:

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 10 開始調試

圖 2.4 11 eclipse調試項目選擇

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 2.4 12 eclipse調試界面

3 在linux平臺使用qemu-vexpress-a9 BSP

3.1 準備工作

下載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命令安裝的編譯器版本太舊會導致編譯報錯,可依次使用如下命令下載安裝新版本.

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

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

圖 3.1 1 編譯器路徑修改

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

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 3.2 1 menuconfig配置界面

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

圖 3.2 2 .env文件夾

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

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

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

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 3.3 1 scons命令編譯工程

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

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 3.3 2 qemu.sh文件新增執行權限

3、輸入./qemu.sh命令執行腳本文件,這時候虛擬機便運行起來,如下圖所示,命令行顯示了RT-Thread操作系統啟動過程所打印的相關信息,白色窗口為虛擬的LCD屏,讀者可參考在windows平臺運行RT-Thread GUI示例和使用eclipse調試的內容,同樣可以在linux平臺實現,本文不在贅述。

如何在windows和linux平臺使用RT-Thread QEMU BSP,并運行RT-ThreadGUI示例

圖 3.3 3 虛擬機運行界面

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11345

    瀏覽量

    210417
  • WINDOWS
    +關注

    關注

    4

    文章

    3570

    瀏覽量

    89313

原文標題:【應用筆記】如何在windows及linux平臺使用RT-Thread QEMU BSP

文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    何在Ubuntu平臺使用QEMU運行RT-Threadqemu-vexpress-a9BSP工程?

    本文描述了如何在 Ubuntu 平臺使用 QEMU 運行 RT-Thread qemu-vexp
    發表于 03-30 07:40

    何在Windows平臺使用VSCode開發RT-Threadqemu-vexpress-a9BSP工程?

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

    如何使用QEMU運行RT-Thread動態模塊組件?

    本文描述了在 Windows 平臺使用 QEMU 運行 RT-Thread 動態模塊及動態庫。
    發表于 03-30 07:40

    怎么使用Eclipse開發RT-Thread?

    Windows 平臺使用 Eclipse 開發 RT-Thread qemu-vexpress-a9 BSP 工程的時候怎么使用 Ecl
    發表于 04-02 07:48

    Windows上使用VS Code開發RT-Thread qemu-vexpress-a9 BSP工程

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

    何在Window及Ubuntu平臺使用QEMU運行 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應用筆記描述了如何在 Window 及 Ubuntu 平臺使用 QEMU 運行 RT-Thread
    發表于 10-26 15:19

    Windows平臺使用VSCode調試 RT-Thread qemu-vexpress-a9 BSP工程

    摘要本應用筆記描述了在 Windows 平臺使用 VS Code 調試 RT-Thread qemu-vexpress-a9 BSP 工程。
    發表于 10-26 15:25

    Windows平臺使用Eclipse調試RT-Thread qemu-vexpress-a9 BSP工程

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

    RT-Thread BSP qemu-virt64-aarch64的編譯環境搭建步驟

      最近需要使用RT-Thread smart 開發調試一些軟件功能,由于軟件功能平臺無關,使用外部硬件操作,會耗費更多的時間在后臺?! 〈蛩闶褂?b class='flag-5'>BSP qemu-virt64-aar
    發表于 04-04 17:04

    RT-Thread BSP qemu-virt64-aarch64文件系統

      前言   前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環境,運行后發現,文件系統沒有掛載上,感覺是沒有 mkfs。   通過
    發表于 05-16 10:29

    RT-Thread文檔_Nordic BSP 上手指南

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

    手把手教你在RT-THREAD bsp運行pikascript腳本點亮小燈

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

    RT-Thread qemu mps2-an385 bsp移植制作 :環境搭建篇

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

    RT-Thread BSP qemu-virt64-aarch64文件系統

    前面大體上搭建了 RT-Thread BSP qemu-virt64-aarch64 的交叉編譯環境,運行后發現,文件系統沒有掛載上,感覺是沒有 mkfs。
    的頭像 發表于 10-08 16:34 ?1028次閱讀
    <b class='flag-5'>RT-Thread</b> <b class='flag-5'>BSP</b> <b class='flag-5'>qemu</b>-virt64-aarch64文件系統

    QEMU系列】不用開發板運行RT-Thread指南-ARM架構

    成為一個門檻。本文將詳細介紹如何在QEMU虛擬機的Vexpress-A9平臺運行RT-Thread,幫助開發者在沒有實際硬件開發板的情況下
    的頭像 發表于 08-09 08:35 ?1056次閱讀
    【<b class='flag-5'>QEMU</b>系列】不用開發板<b class='flag-5'>運行</b><b class='flag-5'>RT-Thread</b>指南-ARM架構
    波音百家乐现金网投注平台排名导航 | 网上玩百家乐有钱| 德庆县| 百家乐注册送免费金| 百家乐官网筹码防伪定制| 网上百家乐公司| 金木棉百家乐官网的玩法技巧和规则| 大发888真人网址的微博| 百家乐大小是什么| 百家乐官网马渚| 皇冠投注| KTV百家乐的玩法技巧和规则| E乐博百家乐官网娱乐城| 亿博国际| 威尼斯人娱乐789399| 百家乐平台开发| 百家乐官网稳赢秘笈| 古浪县| 大发888下载专区| 娱乐城百家乐可以代理吗| 百家乐官网发牌牌规| 真人百家乐官网来博| 大发888促销代码| 百家乐好津乐汇| 百家乐官网过滤工具| 百家乐官网2号干扰| 德州扑克大盲注| 电脑百家乐的玩法技巧和规则| 单机百家乐官网的玩法技巧和规则| 品尊国际娱乐| 大发888游戏破解秘籍| 沙龙百家乐娱乐平台| 风水24山辛山乙| 百家乐官网最大的赌局| 松滋市| 德州扑克大赛| 巨星百家乐的玩法技巧和规则| 澳门百家乐官网网络游戏信誉怎么样 | 百家乐官网娱乐网会员注册 | 网上现金棋牌游戏| 百家乐网络游戏信誉怎么样|