0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

教學 | 手把手教你將物聯(lián)網(wǎng)操作系統(tǒng)RT-Thread 移植到ufun開發(fā)板

lPCU_elecfans ? 來源:YXQ ? 2019-06-14 11:29 ? 次閱讀

一、準備工具

1、PC機,本教程用的windows 7 ,64位操作系統(tǒng)。2、USB數(shù)據(jù)線一根,一端接PC USB接口,另一端接開發(fā)板micro USB接口。3、jlink、st-link或其它仿真器一臺,不是必須,為方便調試,最好有,這里用st-link轉換的jlink。4、ufun開發(fā)板一塊。

二、安裝工具軟件

1、安裝MDK4、MDK5、IAR其中一個或全部IDE

安裝方法網(wǎng)上搜索。

2、安裝STM32CubeMX

安裝方法網(wǎng)上搜索。

ufun開發(fā)板的MCU是STM32F103RCT6,先用STM32CubeMX下載STM32CubeF1 Firmware Package,啟動STM32CubeMX,Help -> Manage embedded software packages

打開嵌入式包管理器,選擇STM32Cube MCU Packages選項卡,點開STM32F1系列前的黑三角,選中最新的版本包,單擊Install Now,開始下載包。

等待下載完成,自動解壓

完成上述過程,單擊Close

3、st-link轉換的jlink

如果你有jlink,直接跳過此步。這樣折騰是為了后期使用SEGGER的SystemView,轉換方法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驅動

安裝一路next即可。驅動可以去官網(wǎng)下載。

5、安裝env

RT-Thread官網(wǎng)下載安裝

6、安裝CH340T USB轉串口驅動

驅動和安裝方法網(wǎng)上搜索。

三、制作stm32f103-yf-ufun bsp

本教程參考RT-Thread官網(wǎng)文檔《STM32 系列 BSP 制作教程》

1、到RT-Thread官網(wǎng),找到github代碼倉庫地址,克隆一份master分支到本地,本地自動創(chuàng)建名為rt-thread的文件夾。

2、復制通用模板本次ufun開發(fā)板MCU型號為STM32F103RCT6,用的 F1 系列 BSP 模板。到路徑rt-threadspstm32libraries emplates中,復制一份文件夾stm32f10x

粘貼到路徑rt-threadspstm32

并重命名為stm32f103-yf-ufun,由于我這里已有與一份stm32f103-yf-ufun,這里重命名為stm32f103-yf-ufun-2為例說明。

3、使用 CubeMX 工具配置工程進入路徑rt-threadspstm32stm32f103-yf-ufun-2oardCubeMX_Config雙擊CubeMX_Config.ioc,用STM32CubeMX打開模板STM32CubeMX工程

由于模板工程用STM32CubeMX版本5.0.0創(chuàng)建,我安裝的STM32CubeMX版本5.2.0,單擊Migrate

單擊原芯片型號,修改為目標板ufun MCU型號

等出現(xiàn)如下界面

紅框中輸入目標芯片STM32F103RC,并雙擊對應的芯片STM32F103RCTx

按下圖步驟配置外部晶振

按下圖步驟配置串行線調試

按下圖步驟配置USART1異步模式,與ufun開發(fā)板上的USB轉串口對接的是USART1

按下圖步驟配置時鐘,這里把頻率配置最大

按下面步驟工程名稱,和生產(chǎn)目標代碼的位置,第3步選擇路徑到文件夾board,下面的工具鏈一欄自動填入,無需手工選擇

單擊右上部的GENERATE CODE,生成代碼。提示目標工程已存在,是否覆蓋,單擊Yes覆蓋舊文件。

目標路徑生成的工程如下圖,紅框的兩個文件夾不需要,直接刪除

打開路徑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 這兩個宏控制的參數(shù)。本次制作的bsp所用的STM32F103RCTx芯片的flash大小為256k,ram的大小為48k,因此對該文件作出如下的修改:

4、修改 BSP 中的 Kconfig 文件 打開路徑rt-threadspstm32stm32f103-yf-ufun-2oard中的文件Kconfig,把芯片型號SOC_STM32F103RB改為SOC_STM32F103RC,片上外設配置有GPIO和UART1即可。

5、修改構建工程相關文件

打開路徑rt-threadspstm32stm32f103-yf-ufun-2oardlinker_scripts中的3個鏈接腳本文件,修改其中的flash和ram大小與目標芯片一致

打開路徑rt-threadspstm32stm32f103-yf-ufun-2oard中文件SConscript,修改啟動文件和目標芯片,這里參考STM32CubeMX生成的工程代碼,其中使用的startup_stm32f103xe.s,確保startup_stm32f103xe.s在以下三個路徑都有,如果沒有,可以到STM32CubeMX生成的工程代碼中拷貝。rt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesarmrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesgccrt-threadspstm32librariesSTM32F1xx_HALCMSISDeviceSTSTM32F1xxSourceTemplatesiar

預編譯宏定義是STM32F103xE


打開路徑rt-threadspstm32stm32f103-yf-ufun-2中的工程模板,MDK5的工程模板是template.uvprojx,MDK5的工程模板是template.uvproj,IAR的工程模板是template.eww,分別配置三個模板修改正確的目標芯片和下載程序用的仿真器,并配置仿真器目標芯片,以下已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變成一個完整的

7、測試生成的工程打開MDK5目標工程,修改ufun開發(fā)板上LED3閃爍控制引腳為PA3,如下圖

工程編譯成功

把ufun開發(fā)板用之前準備的USB數(shù)據(jù)線連接到PC,仿真器與ufun開發(fā)板調試口連接

MDK5中下載flash到目標板測試

按下ufun的復位鍵,LED3閃爍正常

在設備管理器中找到ufun開發(fā)板上USB轉串口對應的串口號

用串口工具打開,配置串口參數(shù)如下圖

打開串口,回車,出現(xiàn)tshell提示符

按下ufun的復位鍵,打印RT-Thread啟動信息

按下tab鍵,輸出可用命令

再分別對MDK4,IAR的目標工程進行測試成功。

輸入命令scons,用env自帶的gcc編譯器編譯成功。

到此,新的ufun開發(fā)板bsp就制作完成了。用文件對比工具,對比新的bsp與已有bsp中的文件,清除不必要的文件,確保bsp干凈整潔。依照其它bsp,完善readme文件,這樣就可以提交到GitHub的bsp了。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴

原文標題:【新手教學】手把手教你將物聯(lián)網(wǎng)操作系統(tǒng)RT-Thread 移植到ufun開發(fā)板

文章出處:【微信號:elecfans,微信公眾號:電子發(fā)燒友網(wǎng)】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    移植RT-Thread nanoCW32L083

    移植RT-Thread NanoCW32L083開發(fā)板上,并成功運行。
    的頭像 發(fā)表于 07-03 09:04 ?2.2w次閱讀
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b> nano<b class='flag-5'>到</b>CW32L083

    手把手教你實戰(zhàn)RT-Thread Nano,不信都這樣了你還不會

    手把手教你實戰(zhàn)RT-Thread Nano,不信都這樣了你還不會
    發(fā)表于 11-23 10:30

    手把手教你MQTT客戶端移植stm32開發(fā)板

    手把手教你MQTT客戶端移植stm32開發(fā)板上,使用TencentOS tiny官方
    發(fā)表于 08-03 07:33

    移植RT-Thread操作系統(tǒng)GD32星空派開發(fā)板

    。它把面向對象的設計方法應用到實時系統(tǒng)設計中,使得代碼風格優(yōu)雅、架構清晰、系統(tǒng)模塊化并且可裁剪性非常好。本次移植所使用開發(fā)板為GD32星空派: 2 代碼下載目前
    發(fā)表于 10-13 15:56

    移植RT-Thread操作系統(tǒng)GD32星空派開發(fā)板

    。它把面向對象的設計方法應用到實時系統(tǒng)設計中,使得代碼風格優(yōu)雅、架構清晰、系統(tǒng)模塊化并且可裁剪性非常好。本次移植所使用開發(fā)板為GD32星空派: 2 代碼下載目前
    發(fā)表于 10-13 16:06

    手把手盤古STM32開發(fā)板移植uCOS-II教程

    手把手盤古STM32開發(fā)板移植uCOS-II教程
    發(fā)表于 10-16 09:38 ?22次下載

    手把手教你學LabVIEW視覺設計

    手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視覺設計手把手教你學LabVIEW視
    發(fā)表于 03-06 01:41 ?2991次閱讀

    手把手教你玩USB開發(fā)資料匯總第一部分

    手把手教你開發(fā)—USB開發(fā)板資料,B站有視頻教程
    發(fā)表于 09-09 15:48 ?20次下載

    手把手教你玩USB開發(fā)資料匯總第二部分

    手把手教你開發(fā)—USB開發(fā)板資料,B站有視頻教程
    發(fā)表于 09-09 15:50 ?21次下載

    手把手教你開發(fā)基于單片機的wifi通信的聯(lián)網(wǎng)項目(遠程燈控制)

    手把手教你開發(fā)基于單片機的wifi通信的聯(lián)網(wǎng)項目(遠程燈控制)
    發(fā)表于 11-12 19:36 ?18次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>開發(fā)</b>基于單片機的wifi通信的<b class='flag-5'>物</b><b class='flag-5'>聯(lián)網(wǎng)</b>項目(遠程燈控制)

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

    手把手教你移植openharmony3.0stm32(liteos_m)
    發(fā)表于 12-05 20:21 ?46次下載
    <b class='flag-5'>手把手</b><b class='flag-5'>教你</b><b class='flag-5'>移植</b>openharmony3.0<b class='flag-5'>到</b>stm32(liteos_m)

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

    手把手教你MQTT客戶端移植stm32開發(fā)板上,使用TencentOS tiny官方
    發(fā)表于 12-08 13:21 ?6次下載
    MQTT<b class='flag-5'>移植</b><b class='flag-5'>到</b>stm32<b class='flag-5'>開發(fā)板</b>——使用TencentOS tiny<b class='flag-5'>操作系統(tǒng)</b>

    國民技術攜手RT-Thread共同推進MCU與RT-Thread操作系統(tǒng)廣泛適配

    日前,國民技術股份有限公司與知名物聯(lián)網(wǎng)操作系統(tǒng)廠商睿賽德科技(RT-Thread)簽署會員合作協(xié)議,正式成為RT-Thread高級會員。國民技術
    的頭像 發(fā)表于 12-16 09:56 ?2262次閱讀

    移植RT-ThreadGD32星空派開發(fā)板

    的自主知識產(chǎn)權。經(jīng)過近12個年頭的沉淀,伴隨著聯(lián)網(wǎng)的興起,它正演變成一個功能強大、組件豐富的聯(lián)網(wǎng)操作系統(tǒng)
    發(fā)表于 12-22 18:57 ?15次下載
    <b class='flag-5'>移植</b><b class='flag-5'>RT-Thread</b><b class='flag-5'>到</b>GD32星空派<b class='flag-5'>開發(fā)板</b>

    【QEMU系列】不用開發(fā)板運行RT-Thread指南-ARM架構

    簡介在聯(lián)網(wǎng)和嵌入式系統(tǒng)開發(fā)中,RT-Thread操作系統(tǒng)憑借其小巧、高效和靈活的特點,受到了
    的頭像 發(fā)表于 08-09 08:35 ?431次閱讀
    【QEMU系列】不用<b class='flag-5'>開發(fā)板</b>運行<b class='flag-5'>RT-Thread</b>指南-ARM架構