1本文的目的和結構
1.1本文的目的和背景
RT-Thread 完全開源開放,支持幾十款 BSP,支持多種編譯器,支持眾多基礎組件以及數量持續增長的軟件包,然而對于工程項目開發來說,只需要支持一款或者有限幾款 MCU,使用一種熟悉的 IDE 開發環境,使用有限的外設和組件,本文檔旨在指導用戶在全功能 RT-Thread 版本基礎上,根據項目需求搭建 RT-Thread 工程框架。
1.2本文的結構
本文首先介紹了一下必須的準備工作,然后介紹了如何使用 RT-Thread 提供的 Env 工具配置工程,最后介紹了如何添加自己的應用代碼和管理自己的模塊。
2準備工作
下載 RT-Thread 源代碼。
準備 Env 開發環境
安裝好 MDK 軟件或者 IAR 軟件。
3標準工程管理
3.1選擇 BSP
用戶獲取 RT-Thread 源代碼后就可以根據自己手上的開發板型號找到對應的 BSP,就可以運行 BSP 提供的默認工程了。大部分 BSP 都支持 MDK﹑IAR 開發環境和 GCC 編譯器,并且已經提供了默認的 MDK 和 IAR 工程。
本文后續章節將使用正點原子 STM32F4 探索者開發板演示相關操作。此開發板 MCU 型號是 STM32F407ZGT6,對應使用的 BSP 為 stm32f4xx-HAL,在 RT-Thread 源代碼的 BSP 目錄下。
這個 BSP 支持 MCU 型號為 stm32f4xx 的 開發板, 默認使用串口 2 作為 shell 控制臺輸出使用串口,用戶可以查看 README.md 文件查看自己開發板使用的串口。本文使用 SEGGER JLINK 連接 JTAG 調試,使用 USB SLAVE(USART1)供電。
3.2搭建項目框架
打開 Env 工具進入 stm32f4xx-HAL 目錄,運行scons --dist命令。使用此命令會在 stm32f4xx-HAL BSP 目錄下生成名為 dist 目錄,這便是開發項目的目錄結構,RT-Thread 源碼位于項目文件夾內,僅包含stm32f4xx-HAL 的 BSP,可以隨意拷貝到任何目錄下運行。
3.3修改工程模板
對工程的一些基本配置,用戶需要針對自己的需求做一些工程配置,比如配置 MCU 型號,設置調試選項等。建議大家直接修改工程模板,這樣下面階段生成的新工程,也都會包含對模板的修改,MDK 的模板工程為 template.uvprojx。IAR 的模板工程為 template.eww,注意 IAR 工程模板這樣修改可能會導致生成的新工程低版本 IAR 軟件用不了。
下圖為修改 MDK 工程模板文件的芯片型號示例。
然后根據自己使用的調試工具選擇對應的調試選項,相關配置修改完成后就可以關閉模板工程。
注意:有其他需要對工程配置進行修改的地方都建議修改模板文件,但是自己應用代碼的添加不建議在工程模板里添加。
3.4配置和裁剪 RT-Thread
每個 BSP 下的工程都有默認的配置,比如系統內核支持的最大線程優先級、系統時鐘頻率、使用的設備驅動、控制臺使用的串口等。RT-Thread 操作系統具有高度的可裁剪性,用戶可以根據自己的需求使用 env 工具進行配置和裁剪。
雙擊 env.exe 打開配置界面,然后使用cd d: epository t-threadspstm32f4xx-HAL命令進入 BSP 工程目錄,cd 后面跟用戶自己的工程目錄。然后在使用menuconfig命令打開配置界面。
menuconfig 常用快捷鍵如圖所示:
3.5使能在線軟件包
下圖使能了 mqtt 相關的軟件包。
3.6生成工程
配置工程后都使用scons --target=mdk5命令或者scons --target=iar命令生成 MDK 或者 IAR 工程。如果大家直接修改 MDK 工程文件 project.uvprojx 或者 IAR 的工程文件 project.ewww 添加自己的代碼,或者修改工程的一些基本配置,生成的新工程會覆蓋之前對工程文件 project 的手動修改。
打開新生成的 MDK 工程 project.uvprojx ,可以看到我們選擇的 paho mqtt 相關的軟件包源文件已經被添加到了工程中。
3.7驗證工程
編譯工程,生成目標代碼,然后就可以下載至開發板運行。本文使用終端軟件 PuTTY 接收工程控制臺對應串口 2 發送的數據,電腦右鍵→屬性→設備管理器→端口(COM 和 LPT),即可查看串口 2 對應的 COM 號,本文為 COM14。打開 PuTTY 按照下圖配置,波特率一般配置為 115200。
點擊 open 打開,重啟開發板后會看到 RT-Thread 的啟動 logo 信息。
3.8添加文件到工程
BSP 下的 applications 文件夾用于存放用戶自己的應用代碼,目前只有一個 main.c 文件。如果用戶的應用代碼不是很多,建議相關源文件都放在這個文件夾下面,本文在 applications 文件夾下新增了 2 個簡單的文件 hello.c 和 hello.h。
/*file:hello.h*/
-
mcu
+關注
關注
146文章
17148瀏覽量
351186 -
BSP
+關注
關注
1文章
87瀏覽量
26151 -
RT-Thread
+關注
關注
31文章
1289瀏覽量
40124
原文標題:創建標準的 RT-Thread 項目工程
文章出處:【微信號:RTThread,微信公眾號:RTThread物聯網操作系統】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論