在STM32H743VI上運行RT-Thread

 

內容介紹

本人自己設計了一個STM32H743VIT6爲主控芯片的小開發板,打算將RTThread移植到這個板子上。懶得自己去做BSP,所以從RTThread的官網上找到了爲ST官方的H743-Nucleo的BSP,它的MCU芯片型號STM32H743ZI。對這個程序進行簡單的修改,運行在我自己做的板子上。

目錄

內容介紹

實現流程

1.下載BSP

2.構建工程

3.修改配置

4.下載程序並驗證


實現流程

1.下載BSP

在 https://github.com/RT-Thread/rt-thread/ 上把RTThread源碼克隆島本地。上述Nucleo板子的BSP在bsp/stm32/stm32h743-st-nucleo/路徑下。

2.構建工程

使用RTThread的env工具,運行scons工具構建BSP。在前面提到的本地BSP包的路徑中打開env工具,輸入scons --target=mdk5,之後會生成一個dist文件夾,在該文件夾中使用MDK5開發單片機程序。當然也可以生成其他軟件的工程,請仔細閱讀官網教程https://www.rt-thread.org/document/site/programming-manual/scons/scons/

https://github.com/RT-Thread/rt-thread/blob/master/bsp/stm32/docs/STM32%E7%B3%BB%E5%88%97BSP%E5%A4%96%E8%AE%BE%E9%A9%B1%E5%8A%A8%E4%BD%BF%E7%94%A8%E6%95%99%E7%A8%8B.md

3.修改配置

然後修改工程配置,將芯片改爲STM32H743VI,同時一定要注意芯片的Flash和Ram大小,在程序Operation的Target選項中設置好存儲器地址和大小,不同後綴的芯片,存儲容量可能是不同的,我就是因爲沒有修改這裏,導致程序的一些函數地址出錯,死活調不出來程序,Debug了好幾天,最後查看map文件才查出問題。

之後,利用ST官方的CubeMx工具,按照我的板子的實際情況設置好時鐘配置的代碼,複製並替換掉原程序中board.c文件中的SystemClock_Config函數。新複製的代碼可能會有些編譯上的小錯誤,一般是宏定義的問題,很容易解決。同時board.c還有與板子硬件相關的設置,如果需要修改也要注意修改。

4.下載程序並驗證

RTThread的BSP在成功運行後,默認會從串口發出調試信息,所以上電後,通過串口連接PC與電路板,可以在PC上看到調試信息。這樣說明RTThread操作系統程序運行正常。要注意使用哪個串口輸出,比如我用的這個BSP默認是使用uart3輸出,我在uart1上看了半天也沒發現有信息傳來。推測是RT_CONSOLE_DEVICE_NAME這個宏制定了輸出的串口號。

最後,目前只是將操作系統和串口移植好了,還有其他功能沒來得及驗證。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章