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