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 准備工作
2.1 准備工作
-
RT-Thread源碼,https://github.com/RT-Thread/rt-thread
-
RT-Thread env工具,https://www.rt-thread.org/page/download.html
env是RT-Thread推出的圖形界面輔助工具,用來配置基於RT-Thread操作系統開發的項目工程。env自帶有編譯器和QEMU,因此在windows平台可以不用下載編譯器和QEMU。請點擊下面鏈接獲取env詳細信息及env運行環境要求:https://www.rt-thread.org/document/site/zh/5chapters/01-chapter_env_manual/
解壓RT-Thread源碼,在BSP目錄下找到qemu-vexpress-a9文件夾,RT-Thread qemu-vexpresss-a9 BSP實現了LCD、鍵盤、鼠標、SD卡、以太網卡、串口等相關驅動。
2.2 運行qemu-vexpress-a9 BSP工程
1、打開env文件夾,雙擊env.exe文件打開env控制台:
2、在命令行模式下使用cd D:\repository\rt-thread\bsp\qemu-vexpress-a9
命令切換到RT-Thread源碼文件夾下的qemu-vexpress-a9 BSP根目錄,目錄根據自己的RT-Thread源代碼目錄輸入,然后輸入scons
命令編譯工程:
3、編譯完成后輸入qemu.bat
啟動虛擬機及BSP工程,qemu.bat是windows批處理文件,此文件位於BSP文件夾下,主要包括QEMU的執行指令,第一次運行工程會在BSP文件夾下創建一份空白的sd.bin文件,這是虛擬的sd卡,大小為64M。env命令行界面顯示RT-Thread系統啟動過程中打印的初始化信息及版本號信息等,如下圖所示:
4、若電腦安裝有360安全衛士會有警告,點擊允許程序運行,這時qemu虛擬機就運行起來了。
5、RT-Thread支持finsh,用戶可以在命令行模式操作,輸入help
或按tab鍵可以查看所有支持的命令,輸入list_device
可以查看所有設備。這里可以看到設備里包括了我們前面提到的虛擬的sd卡“sd0”,接下來我們可以使用mkfs sd0
命令格式化sd卡,執行該命令會將sd卡格式化成FatFS文件系統。FatFs是專為小型嵌入式設備開發的一個兼容微軟fat的文件系統,采用ANSI C編寫,采用抽象的硬件I/O層以及提供持續的維護,因此具有良好的硬件無關性以及可移植性。
了解FatFS詳細信息請點擊鏈接:http://elm-chan.org/fsw/ff/00index_e.html
6、第一次格式化sd卡后文件系統不會馬上裝載上,第二次啟動才會被正確裝載。我們退出虛擬機,然后在env命令行界面輸入qemu.bat
重新啟動虛擬機及工程,輸入ls
命令可以看到新增了Directory目錄,文件系統已經裝載上,然后可以使用RT-Thread提供的其他命令體驗文件系統
2.3 運行RT-Thread GUI示例
1、關掉QEMU虛擬機,回到ENV控制台,輸入menuconfig
命令進入配置界面:
2、進入“RT-Thread oneline packages” → “system packages” → “RT-Thread GUI Engine”子菜單,選中“Enable GUI Engine”和“Enable the example of GUI Engine”:
3、按‘→’鍵選中“save”保存配置,並按“Exit”鍵退出配置界面,回到命令行界面,輸入pkgs --update
下載GUI軟件包及示例代碼:
4、軟件包下載完成后輸入scons
重新編譯工程:
5、編譯完成后輸入qemu.bat
命令啟動QEMU虛擬機及工程,可以看到QEMU虛擬的顯示屏上顯示了示例代碼展示的圖片、文字和圖形信息:
2.4 用eclipse調試qemu-vexpress-a9 BSP工程
1、首先在eclipse的Eclipse Marketplace里下載並安裝支持QEMU的調試工具:
2、首次調試工程需要配置調試參數,如下面圖片所示,打開調試配置界面及配置調試參數:
3、調試相關參數配置好后就可以開始調試了,回到env命令行界面輸入qemu-dbg.bat開啟調試模式:
這時候啟動的QEMU虛擬機處於暫停狀態,等待連接調試:
4、點擊eclipse調試配置界面的“Debug”按鈕,或者點擊調試項目名稱,開啟eclipse調試界面,這時就可以對工程進行調試了: