1.1 RT-Thread構(gòu)建系統(tǒng)
在開始前,需要熟悉RT-Thread的構(gòu)建系統(tǒng),在官方的文檔界面可以看到關(guān)于構(gòu)建系統(tǒng)的各個(gè)組成部分的介紹。
其中Kconfig用于對(duì)系統(tǒng)的功能進(jìn)行裁剪,生成的配置信息會(huì)在rtconfig.h中存儲(chǔ),SCons則根據(jù)配置文件來(lái)編譯源代碼并生成可執(zhí)行文件。
關(guān)于各部分的具體介紹和運(yùn)行機(jī)制,可以在RTThread官網(wǎng)找到相關(guān)的資料。
1.2 制作BSP
1.2.1 復(fù)制BSP模板和生成驅(qū)動(dòng)代碼
根據(jù)官方的倉(cāng)庫(kù)中的BSP制作指南,復(fù)制bsp_template文件夾中的內(nèi)容到新的文件夾中,其中的文件作用是將RASC代碼配置工具生成的代碼連接到Scons生成體系中,并且board文件夾下的Kconfig和ports文件夾提供了外部接口,方便基于FSP提供的代碼接口添加用戶自定義的外設(shè)。
接下來(lái)就是使用RASC代碼配置工具生成對(duì)應(yīng)的芯片和開發(fā)板的FSP代碼,由于HMI-Board不是官方的板卡,選擇板卡為自定義板卡,芯片選擇R7FA6M3AH3CFB。生成的工程路徑為上述的工程模板放置的文件路徑。
在RASC中添加uart9,并對(duì)其參數(shù)進(jìn)行修改,值得注意的是,這里的實(shí)例名以及中斷函數(shù)名由于在接口文件中已經(jīng)定義好了,所以是固定的。
RASC中添加串口和GPIO驅(qū)動(dòng)代碼,點(diǎn)擊生成工程代碼按鈕。
1.2.2 修改Keil配置參數(shù)
打開生成的Keil工程,在工程配置界面,修改Option和調(diào)試器中Flash下載界面算法選擇,具體的配置如下圖所示。
同時(shí)在C/C++ 配置:修改編譯參數(shù)選項(xiàng)關(guān)閉部分警告,刪除“-Wextra“、”-Wconversion“、”-Wshadow ” 。
同時(shí)復(fù)制libraries文件夾到工程中,其中的HAL_Driver包含了設(shè)備驅(qū)動(dòng)框架實(shí)現(xiàn),將芯片的外設(shè)對(duì)接到RTThread中。
1.2.3 修改Kconfig選項(xiàng)
Kconfig適用于配置和裁剪工程的工具,修改的Kconfig文件位于board/Kconfig和libraries/Kconfig,內(nèi)容包含以下兩點(diǎn):
芯片型號(hào)和系列
BSP上的外設(shè)支持選項(xiàng)
具體的操作可以參考官方的指南,這里不再贅述。
1.2.4 修改工程構(gòu)建和配置參數(shù)
官方指南在這一部分也給出了詳細(xì)的說明,這里說一下自己在移植中遇到的問題。
在修改SConstruct中的內(nèi)容時(shí),需要根據(jù)自身的需要修改RTTread源碼所在文件路徑,文件路徑的格式最好采用相對(duì)路徑(相對(duì)于SConstruct腳本所處文件路徑),這樣便于移植,RTThread源碼的路徑在頂層的Kconfig文件中同樣需要進(jìn)行修改。
同樣地,對(duì)于驅(qū)動(dòng)接口、外擴(kuò)軟件包等文件夾路徑,需要根據(jù)工程目錄下的文件分布做出相應(yīng)的調(diào)整,在該模板中,這些參數(shù)的配置是在主目錄的Kconfig中配置的。
由于芯片的內(nèi)核為Cortex-M4,rtconfig.py中的CPU 內(nèi)核配置也需要進(jìn)行相應(yīng)的修改,修改為M4內(nèi)核。
在boardSConscript中需要添加board文件路徑到頭文件引用變量中,以下為修改部分:
CPPPATH = [cwd]
src = Glob('*.c')
objs = DefineGroup('Drivers', src, depend = [''], CPPPATH = CPPPATH)
修改完上述的問題,在env工具輸入命令scons –target=mdk5生成工程。打開project工程,編譯下載后,可以通過串口得到打印的信息。
1.3 總結(jié)
通過制作BSP的過程,對(duì)Kconfig和Scons的運(yùn)作原理有了清晰的了解,可以根據(jù)自己的想法對(duì)工程進(jìn)行相應(yīng)的修改,加深了對(duì)于工程管理的認(rèn)識(shí)。
-
GPIO
+關(guān)注
關(guān)注
16文章
1214瀏覽量
52215 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
305瀏覽量
23780 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1300瀏覽量
40264 -
Flash存儲(chǔ)
+關(guān)注
關(guān)注
0文章
38瀏覽量
8329 -
HAL驅(qū)動(dòng)
+關(guān)注
關(guān)注
0文章
3瀏覽量
1200
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論