随笔 - 733  文章 - 2  评论 - 12  阅读 - 92万

rt_thread studio结合cubmx进行stm32驱动开发学习

RT-Thread Studio不用考虑移植问题

STM32CubeMx快速的配置芯片外设的时钟和引脚,使驱动的开发变得简单

不依赖与rtt设备驱动框架,直接用cubmx生成的外设驱动,最终达到类似并取代keil的功能

  • 使用 RT-Thread Studio 新建 RT-Thread 工程,注意特殊串口的管脚重映射问题。

  • 使用 STM32CubeMx 配置外设和系统时钟

  • CubeMx 生成的 stm32xxxx_hal_msp.c(主要利用引脚和时钟初始化,所以自动生成代码配置中不能选择为每个外设都生成 .c/.h 函数复制到Studio项目文件夹的drivers下,并将文件中 #include "main.h" 替换为 #include "board.h"。

  • 修改 stm32xxxx_hal_config.h 文件,打开相应外设支持#define HAL_XXX_MODULE_ENABLED

  • 复制 CubeMx 工程中 main.c 文件的 void SystemClock_Config(void),替换 board.c 文件中,修改为与实际匹配对应的时钟配置函数,因为默认studio系统内部时钟 HSI.

  • 使用外设基本函数进行读写等操作。

二生成bin和hex:默认生成elf文件若要生成bin和HEX需要以下设置:

  2.1生成bin:打开工程构建设置:arm-none-eabi-objcopy -O  ihex  "${ProjName}.elf" "${ProjName}.hex" "${ProjName}.bin"

         

 

       2.2生成hex配置

        

 

posted on   杰瑞鼠  阅读(1252)  评论(0编辑  收藏  举报
编辑推荐:
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 三行代码完成国际化适配,妙~啊~
· .NET Core 中如何实现缓存的预热?
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示