1.1 RT-Thread構(gòu)建系統(tǒng)
在開始前,需要熟悉RT-Thread的構(gòu)建系統(tǒng),在官方的文檔界面可以看到關(guān)于構(gòu)建系統(tǒng)的各個組成部分的介紹。
其中Kconfig用于對系統(tǒng)的功能進行裁剪,生成的配置信息會在rtconfig.h中存儲,SCons則根據(jù)配置文件來編譯源代碼并生成可執(zhí)行文件。
關(guān)于各部分的具體介紹和運行機制,可以在RTThread官網(wǎng)找到相關(guān)的資料。
1.2 制作BSP
1.2.1 復(fù)制BSP模板和生成驅(qū)動代碼
根據(jù)官方的倉庫中的BSP制作指南,復(fù)制bsp_template文件夾中的內(nèi)容到新的文件夾中,其中的文件作用是將RASC代碼配置工具生成的代碼連接到Scons生成體系中,并且board文件夾下的Kconfig和ports文件夾提供了外部接口,方便基于FSP提供的代碼接口添加用戶自定義的外設(shè)。
接下來就是使用RASC代碼配置工具生成對應(yīng)的芯片和開發(fā)板的FSP代碼,由于HMI-Board不是官方的板卡,選擇板卡為自定義板卡,芯片選擇R7FA6M3AH3CFB。生成的工程路徑為上述的工程模板放置的文件路徑。
在RASC中添加uart9,并對其參數(shù)進行修改,值得注意的是,這里的實例名以及中斷函數(shù)名由于在接口文件中已經(jīng)定義好了,所以是固定的。
RASC中添加串口和GPIO驅(qū)動代碼,點擊生成工程代碼按鈕。
1.2.2 修改Keil配置參數(shù)
打開生成的Keil工程,在工程配置界面,修改Option和調(diào)試器中Flash下載界面算法選擇,具體的配置如下圖所示。
同時在C/C++ 配置:修改編譯參數(shù)選項關(guān)閉部分警告,刪除“-Wextra“、”-Wconversion“、”-Wshadow ” 。
同時復(fù)制libraries文件夾到工程中,其中的HAL_Driver包含了設(shè)備驅(qū)動框架實現(xiàn),將芯片的外設(shè)對接到RTThread中。
1.2.3 修改Kconfig選項
Kconfig適用于配置和裁剪工程的工具,修改的Kconfig文件位于board/Kconfig和libraries/Kconfig,內(nèi)容包含以下兩點:
芯片型號和系列
BSP上的外設(shè)支持選項
具體的操作可以參考官方的指南,這里不再贅述。
1.2.4 修改工程構(gòu)建和配置參數(shù)
官方指南在這一部分也給出了詳細的說明,這里說一下自己在移植中遇到的問題。
在修改SConstruct中的內(nèi)容時,需要根據(jù)自身的需要修改RTTread源碼所在文件路徑,文件路徑的格式最好采用相對路徑(相對于SConstruct腳本所處文件路徑),這樣便于移植,RTThread源碼的路徑在頂層的Kconfig文件中同樣需要進行修改。
同樣地,對于驅(qū)動接口、外擴軟件包等文件夾路徑,需要根據(jù)工程目錄下的文件分布做出相應(yīng)的調(diào)整,在該模板中,這些參數(shù)的配置是在主目錄的Kconfig中配置的。
由于芯片的內(nèi)核為Cortex-M4,rtconfig.py中的CPU 內(nèi)核配置也需要進行相應(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的過程,對Kconfig和Scons的運作原理有了清晰的了解,可以根據(jù)自己的想法對工程進行相應(yīng)的修改,加深了對于工程管理的認識。
-
GPIO
+關(guān)注
關(guān)注
16文章
1217瀏覽量
52441 -
調(diào)試器
+關(guān)注
關(guān)注
1文章
306瀏覽量
23847 -
RT-Thread
+關(guān)注
關(guān)注
31文章
1306瀏覽量
40436 -
Flash存儲
+關(guān)注
關(guān)注
0文章
38瀏覽量
8334 -
HAL驅(qū)動
+關(guān)注
關(guān)注
0文章
3瀏覽量
1202
發(fā)布評論請先 登錄
相關(guān)推薦
LabVIEW挑戰(zhàn)賽正式開賽,臺北總決賽等著你!
【DIGILENT挑戰(zhàn)賽】+電子相框
SWM320開發(fā)板設(shè)計挑戰(zhàn)賽—基于RT-Thread 操作系統(tǒng)
5天通過VR學(xué)習(xí)原理圖設(shè)計挑戰(zhàn)賽
5天通過VR學(xué)習(xí)原理圖挑戰(zhàn)賽
分享3天LabVIEW人臉識別挑戰(zhàn)賽設(shè)計心得,贏取學(xué)院課程福利!
RT-Thread的STM32BSP制作教程
等個有“源”人|OpenHarmony 成長計劃學(xué)生挑戰(zhàn)賽報名啟動
#Altium聲源跟蹤小車挑戰(zhàn)賽 活動手冊
【獲獎公示】華秋PCB多層板設(shè)計挑戰(zhàn)賽獲獎名單
Altium聲源跟蹤小車挑戰(zhàn)賽 活動手冊(二)投票指南
【RA4M2設(shè)計挑戰(zhàn)賽】RTT 移植
【精品合集】瑞薩RA4M2物聯(lián)網(wǎng)網(wǎng)關(guān)設(shè)計挑戰(zhàn)賽作品合集
【直播預(yù)告】HMI-Board Windows32
![【直播預(yù)告】<b class='flag-5'>HMI-Board</b> Windows32](https://file1.elecfans.com//web2/M00/AF/FF/wKgZomVTSv6AdnxQAArtnFz0ZNU280.png)
評論