一、準(zhǔn)備工具
1、PC機(jī),本教程用的windows 7 ,64位操作系統(tǒng)。2、USB數(shù)據(jù)線一根,一端接PC USB接口,另一端接開發(fā)板micro USB接口。3、jlink、st-link或其它仿真器一臺(tái),不是必須,為方便調(diào)試,最好有,這里用st-link轉(zhuǎn)換的jlink。4、ufun開發(fā)板一塊。
二、安裝工具軟件
1、安裝MDK4、MDK5、IAR其中一個(gè)或全部IDE
安裝方法網(wǎng)上搜索。
2、安裝STM32CubeMX
安裝方法網(wǎng)上搜索。
ufun開發(fā)板的MCU是STM32F103RCT6,先用STM32CubeMX下載STM32CubeF1 Firmware Package,啟動(dòng)STM32CubeMX,Help -> Manage embedded software packages
打開嵌入式包管理器,選擇STM32Cube MCU Packages選項(xiàng)卡,點(diǎn)開STM32F1系列前的黑三角,選中最新的版本包,單擊Install Now,開始下載包。
等待下載完成,自動(dòng)解壓
完成上述過程,單擊Close
3、st-link轉(zhuǎn)換的jlink
如果你有jlink,直接跳過此步。這樣折騰是為了后期使用SEGGER的SystemView,轉(zhuǎn)換方法SEGGER官網(wǎng)有。到下面鏈接找:Converting ST-LINK On-Board Into a J-Linkhttps://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
4、安裝jlink驅(qū)動(dòng)
安裝一路next即可。驅(qū)動(dòng)可以去官網(wǎng)下載。
5、安裝env
到RT-Thread官網(wǎng)下載安裝
6、安裝CH340T USB轉(zhuǎn)串口驅(qū)動(dòng)
驅(qū)動(dòng)和安裝方法網(wǎng)上搜索。
三、制作stm32f103-yf-ufun bsp
本教程參考RT-Thread官網(wǎng)文檔《STM32 系列 BSP 制作教程》
1、到RT-Thread官網(wǎng),找到github代碼倉庫地址,克隆一份master分支到本地,本地自動(dòng)創(chuàng)建名為rt-thread的文件夾。
2、復(fù)制通用模板本次ufun開發(fā)板MCU型號(hào)為STM32F103RCT6,用的 F1 系列 BSP 模板。到路徑rt-threadspstm32libraries emplates中,復(fù)制一份文件夾stm32f10x
粘貼到路徑rt-threadspstm32
并重命名為stm32f103-yf-ufun,由于我這里已有與一份stm32f103-yf-ufun,這里重命名為stm32f103-yf-ufun-2為例說明。
3、使用 CubeMX 工具配置工程進(jìn)入路徑rt-threadspstm32stm32f103-yf-ufun-2oardCubeMX_Config雙擊CubeMX_Config.ioc,用STM32CubeMX打開模板STM32CubeMX工程
由于模板工程用STM32CubeMX版本5.0.0創(chuàng)建,我安裝的STM32CubeMX版本5.2.0,單擊Migrate。
單擊原芯片型號(hào),修改為目標(biāo)板ufun MCU型號(hào)
等出現(xiàn)如下界面
紅框中輸入目標(biāo)芯片STM32F103RC,并雙擊對(duì)應(yīng)的芯片STM32F103RCTx
按下圖步驟配置外部晶振
按下圖步驟配置串行線調(diào)試
按下圖步驟配置USART1異步模式,與ufun開發(fā)板上的USB轉(zhuǎn)串口對(duì)接的是USART1
按下圖步驟配置時(shí)鐘,這里把頻率配置最大
按下面步驟工程名稱,和生產(chǎn)目標(biāo)代碼的位置,第3步選擇路徑到文件夾board,下面的工具鏈一欄自動(dòng)填入,無需手工選擇
單擊右上部的GENERATE CODE,生成代碼。提示目標(biāo)工程已存在,是否覆蓋,單擊Yes覆蓋舊文件。
目標(biāo)路徑生成的工程如下圖,紅框的兩個(gè)文件夾不需要,直接刪除
打開路徑rt-threadspstm32stm32f103-yf-ufun-2oardCubeMX_ConfigSrc下的文件main.c,把其中的函數(shù)SystemClock_Config,拷貝到路徑rt-threadspstm32stm32f103-yf-ufun-2oard下的文件board.c中,替換board.c中的函數(shù)SystemClock_Config。
打開路徑rt-threadspstm32stm32f103-yf-ufun-2oard下的文件board.h,修改 STM32_FLASH_SIZE 和 STM32_SRAM_SIZE 這兩個(gè)宏控制的參數(shù)。本次制作的bsp所用的STM32F103RCTx芯片的flash大小為256k,ram的大小為48k,因此對(duì)該文件作出如下的修改:
4、修改 BSP 中的 Kconfig 文件 打開路徑rt-threadspstm32stm32f103-yf-ufun-2oard中的文件Kconfig,把芯片型號(hào)SOC_STM32F103RB改為SOC_STM32F103RC,片上外設(shè)配置有GPIO和UART1即可。
5、修改構(gòu)建工程相關(guān)文件
打開路徑rt-threadspstm32stm32f103-yf-ufun-2oardlinker_scripts中的3個(gè)鏈接腳本文件,修改其中的flash和ram大小與目標(biāo)芯片一致
打開路徑rt-threadspstm32stm32f103-yf-ufun-2oard中文件SConscript,修改啟動(dòng)文件和目標(biāo)芯片,這里參考STM32CubeMX生成的工程代碼,其中使用的startup_stm32f103xe.s,確保startup_stm32f103xe.s在以下三個(gè)路徑都有,如果沒有,可以到STM32CubeMX生成的工程代碼中拷貝。rt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesarmrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesgccrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesiar
預(yù)編譯宏定義是STM32F103xE
打開路徑rt-threadspstm32stm32f103-yf-ufun-2中的工程模板,MDK5的工程模板是template.uvprojx,MDK5的工程模板是template.uvproj,IAR的工程模板是template.eww,分別配置三個(gè)模板修改正確的目標(biāo)芯片和下載程序用的仿真器,并配置仿真器目標(biāo)芯片,以下已MDK5的工程模板配置截圖展示。
6、重新生成工程在路徑rt-threadspstm32stm32f103-yf-ufun-2中,打開env
輸入menuconfig,回車
確保啟用GPIO,UART1
使用env工具輸入命令scons --target=mdk5重新生成工程
到這一步為止,新的bsp就可以使用了。接下來我們可以分別使用命令scons --target=mdk4和scons --target=iar,來更新mdk4和iar的工程,使得該BSP變成一個(gè)完整的
7、測試生成的工程打開MDK5目標(biāo)工程,修改ufun開發(fā)板上LED3閃爍控制引腳為PA3,如下圖
工程編譯成功
把ufun開發(fā)板用之前準(zhǔn)備的USB數(shù)據(jù)線連接到PC,仿真器與ufun開發(fā)板調(diào)試口連接
MDK5中下載flash到目標(biāo)板測試
按下ufun的復(fù)位鍵,LED3閃爍正常
在設(shè)備管理器中找到ufun開發(fā)板上USB轉(zhuǎn)串口對(duì)應(yīng)的串口號(hào)
用串口工具打開,配置串口參數(shù)如下圖
打開串口,回車,出現(xiàn)tshell提示符
按下ufun的復(fù)位鍵,打印RT-Thread啟動(dòng)信息
按下tab鍵,輸出可用命令
再分別對(duì)MDK4,IAR的目標(biāo)工程進(jìn)行測試成功。
輸入命令scons,用env自帶的gcc編譯器編譯成功。
到此,新的ufun開發(fā)板bsp就制作完成了。用文件對(duì)比工具,對(duì)比新的bsp與已有bsp中的文件,清除不必要的文件,確保bsp干凈整潔。依照其它bsp,完善readme文件,這樣就可以提交到GitHub的bsp了。
-
物聯(lián)網(wǎng)
+關(guān)注
關(guān)注
2931文章
46245瀏覽量
392468 -
操作系統(tǒng)
+關(guān)注
關(guān)注
37文章
7152瀏覽量
125581 -
物聯(lián)網(wǎng)操作系統(tǒng)
+關(guān)注
關(guān)注
3文章
114瀏覽量
13596
原文標(biāo)題:【新手教學(xué)】手把手教你將物聯(lián)網(wǎng)操作系統(tǒng)RT-Thread 移植到ufun開發(fā)板
文章出處:【微信號(hào):elecfans,微信公眾號(hào):電子發(fā)燒友網(wǎng)】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
RT-Thread Nano硬核移植指南:手把手實(shí)現(xiàn)VGLite圖形驅(qū)動(dòng)適配 | 技術(shù)集結(jié)

手把手教你實(shí)戰(zhàn)RT-Thread Nano,不信都這樣了你還不會(huì)
移植RT-Thread操作系統(tǒng)到GD32星空派開發(fā)板
移植RT-Thread操作系統(tǒng)到GD32星空派開發(fā)板
手把手教你學(xué)LabVIEW視覺設(shè)計(jì)
手把手教你開發(fā)基于單片機(jī)的wifi通信的物聯(lián)網(wǎng)項(xiàng)目(遠(yuǎn)程燈控制)

手把手教你移植openharmony3.0到stm32(liteos_m)

MQTT移植到stm32開發(fā)板——使用TencentOS tiny操作系統(tǒng)

國民技術(shù)攜手RT-Thread共同推進(jìn)MCU與RT-Thread操作系統(tǒng)廣泛適配
移植RT-Thread到GD32星空派開發(fā)板

RT-Thread操作系統(tǒng)應(yīng)用開發(fā)寒假師資培訓(xùn)

評(píng)論