RT Thread根据开发板制作BSP方法
之前一直不懂怎么使用RT Thread的軟件包,感謝網上的大神,看了你們的博客后大概了解一些,在此做下記錄。用RT Thread軟件包需要RT Thread的系統,但是RT Thread和RT Thread nano不一樣,具體區別見?RT Thread官網,注意文件路徑請查看圖片,寫的有些倉促不好意思了各位;
一、RT Thread制作自己的bsp需要準備的工具如下:
1、env配置工具及配置方法看官網:https://www.rt-thread.org/document/site/programming-manual/env/env/
2、RT Thread系統軟件包:https://gitee.com/rtthread/rt-thread
二、文檔說明:
1、在RT Thread軟件包中有如何移植BSP驅動的方法,我這里只記錄我是怎么移植成功的可能和教程有點點區別;
三、?BSP 制作方法:
制作stm32f103C8T6開發板的 BSP 為例,講解如何為一個新的開發板添加 BSP。
BSP 的制作過程分為如下五個步驟:
1. 復制通用模板
2. 使用 CubeMX 工具配置工程
3. 修改 BSP 中的 Kconfig 文件
4. 修改構建工程相關文件
?
1、復制通用模板:制作新 BSP 的第一步是復制一份同系列的 BSP 模板作為基礎,通過對 BSP 模板的修改來獲得新 BSP。
2、使用 CubeMX 配置工程:在制作 BSP 的第二步,需要創建一個基于目標芯片的 CubeMX 工程。
?
3、拷貝初始化函數:
3.1、在 **board.c** 文件中存放了函數 `SystemClock_Config()` ,該函數負責初始化系統時鐘。當使用 CubeMX 工具對系統時鐘重新配置的時候,需要更新這個函數。
該函數由 CubeMX 工具生成,默認存放在`board/CubeMX_Config/Src/main.c` 文件中。但是該文件并沒有被包含到我們的工程中,因此需要將這個函數從 main.c 中拷貝到 board.c 文件中。在整個 BSP 的制作過程中,這個函數是唯一要要拷貝的函數,該函數內容如下所示:
3.2、在 **board.h** 文件中配置了 FLASH 和 RAM 的相關參數,這個文件中需要修改的是 `STM32_FLASH_SIZE` 和 `STM32_SRAM_SIZE` 這兩個宏控制的參數。本次制作的 BSP 所用的 STM32F103C8T6 芯片的 flash 大小為 64k,ram 的大小為 20k,因此對該文件作出如下的修改:
4、修改 Kconfig 選項:在本小節中修改 `board/Kconfig` 文件的內容有如下:
5、修改鏈接腳本:下面以 MDK 使用的鏈接腳本 link.sct 為例,演示如何修改鏈接腳本:
6、修改構建腳本:**SConscript** 腳本決定 MDK/IAR 工程的生成以及編譯過程中要添加文件。在這一步中需要修改芯片型號以及芯片啟動文件的地址,修改內容如下圖所示:因為沒有STM32F103C8T6的所以未作修改;
7、修改工程模板:修改該文件可以設置工程中使用的芯片型號以及下載方式。
8、重新生成工程:重新生成工程需要使用 env 工具。
右鍵選擇env工具,然后在env界面輸入命令menuconfig對工程進行配置,并生成新的rtconfig.h文件。
使用 env 工具輸入命令 `scons --target=mdk5` 重新生成工程,如下圖所示:
重新生成工程成功,打開工程,并修改MDK配置:
以上移植成功;
?
源碼鏈接:鏈接:https://pan.baidu.com/s/1cnTND06a3wabNWwTbY1Ljw?
提取碼:kbvv?
總結
以上是生活随笔為你收集整理的RT Thread根据开发板制作BSP方法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 网站:5个实用的网站,总有你喜欢的
- 下一篇: Whale帷幄 - saas营销推广策划