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中添加
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | 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<br><br> |
然后在打开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加上后编译通过
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具