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

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

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

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

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

評(píng)論