正文共:3797 字 44 圖 預(yù)計(jì)閱讀時(shí)間: 10 分鐘 作者:劉恒 本文多圖,請(qǐng)注意流量消耗 一、準(zhǔn)備工具1、PC機(jī),本教程用的windows 7 ,64位操作系統(tǒng)。 二、安裝工具軟件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,直接跳過此步。 4、安裝jlink驅(qū)動(dòng)安裝一路next即可。 5、安裝env到RT-Thread官網(wǎng)下載安裝,env使用教程鏈接: 6、安裝CH340T USB轉(zhuǎn)串口驅(qū)動(dòng)驅(qū)動(dòng)和安裝方法網(wǎng)上搜索。 三、制作stm32f103-yf-ufun bsp本教程參考RT-Thread官網(wǎng)文檔《STM32 系列 BSP 制作教程》,官網(wǎng)文檔鏈接: 1、到RT-Thread官網(wǎng),找到github代碼倉(cāng)庫(kù)地址,克隆一份master分支到本地,本地自動(dòng)創(chuàng)建名為rt-thread的文件夾。 2、復(fù)制通用模板 粘貼到路徑rt-threadspstm32 并重命名為stm32f103-yf-ufun,由于我這里已有與一份stm32f103-yf-ufun,這里重命名為stm32f103-yf-ufun-2為例說明。 3、使用 CubeMX 工具配置工程 由于模板工程用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)路徑生成的工程如下圖,紅框的兩個(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 文件 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生成的工程代碼中拷貝。 預(yù)編譯宏定義是STM32F103xE 打開路徑rt-threadspstm32stm32f103-yf-ufun-2中的工程模板,MDK5的工程模板是template.uvprojx,MDK5的工程模板是template.uvproj,IAR的工程模板是template.eww,分別配置三個(gè)模板 6、重新生成工程
使用env工具輸入命令scons --target=mdk5重新生成工程 到這一步為止,新的bsp就可以使用了。 7、測(cè)試生成的工程 工程編譯成功 把ufun開發(fā)板用之前準(zhǔn)備的USB數(shù)據(jù)線連接到PC,仿真器與ufun開發(fā)板調(diào)試口連接 MDK5中下載flash到目標(biāo)板測(cè)試 按下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)行測(cè)試成功。 輸入命令scons,用env自帶的gcc編譯器編譯成功。 到此,新的ufun開發(fā)板bsp就制作完成了。 |
|