stm32CubeMX 結合Rtthread Env做BSP框架


1.配置工程路徑和工程名,設置堆棧大小

2.配置時鍾,定時器時鍾HCLK 72M

3.Usart 串口配置

有了這個工具,PGIO,TIM,DMA,ANALOG,PWM的配置所見即所得

在RTT平台上使用,只需要自動生成代碼的 數 SystemClock_Config() ,該函數負責初始化系統時鍾。當使用 CubeMX 工具對系統時鍾重新配置的時候,需要更新這個函數。

后續的配置,可以參考http://www.stmcu.org.cn/module/forum/forum.php?mod=viewthread&tid=622000

由於RTT已包辦l496zg-nucleo的BSP,我們就不再重復制作輪子,開始下一步,加載AT 組件.

 

4.ENV 工具選取相關模塊,測試在NUCLEO-L496ZG開發板實現USB Host讀寫U 盤,這塊開發板自帶USB-OTG模塊,再加上RTT ENV工具及軟件包,整個工程就像搭積木一般。

由於NUCLEO-L496ZG開發板bsp 工程中沒有BSP_USING_USBH 配置選項,得手動在BOARD文件夾的Kconfig中添加

menuconfig BSP_USING_USBH
bool "Enable USB Host" 
select RT_USING_USB_HOST
default n

if BSP_USING_USBH
menuconfig RT_USBH_MSTORAGE
bool "Enable Udisk Drivers"
default n
if RT_USBH_MSTORAGE
config UDISK_MOUNTPOINT
string "Udisk mount dir"
default "/"
endif 
endif

然后在打開ENV工具,使能 Enable USB Host, 退出並重新生成MDK5工程

 

 

 5. 打開文件系統, 參照rtt文檔:https://www.rt-thread.org/document/site/application-note/driver/usb/an0046-rtthread-driver-usbh/

 6,編譯出現一個錯誤, identifier UART_HandleTypeDef" is undefined hal"

原來是stm32l4xx_hal_conf.h缺了個宏定義,#define HAL_HCD_MODULE_ENABLED加上后編譯通過

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM