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

RT-Thread Studio驅(qū)動SD卡

如何創(chuàng)建RT-Thread Nano工程
RT-Thread設(shè)備模型框架及創(chuàng)建注冊設(shè)備的實現(xiàn)

RT-Thread全球技術(shù)大會:POSIX FILE select的調(diào)用過程

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

評論