You need to enable JavaScript to run this app. 使用STM32CubeIDE开发STM32F103与STM32WB55裸机编程所需头文件咨询
优惠活动
大模型
产品
解决方案
定价
更多

使用STM32CubeIDE开发STM32F103与STM32WB55裸机编程所需头文件咨询

STM32裸机寄存器开发所需引入的文件清单

STM32的寄存器定义体系和AVR单头文件全包的开发模式逻辑完全对齐,只是按照CMSIS规范拆分为内核层、芯片外设层、启动文件三类固定文件,不需要引入HAL/LL库的冗余代码,即可实现直接操作寄存器、自研驱动的开发需求。

通用必选CMSIS内核层文件

这部分文件对应Cortex-M内核本身的寄存器定义,是两款芯片开发都需要引入的基础文件:

  • core_cm3.h:为STM32F103(Cortex-M3内核)提供内核外设寄存器定义、内联汇编指令封装
  • core_cm4.h:为STM32WB55(Cortex-M4应用内核)提供内核外设寄存器定义、内联汇编指令封装
  • cmsis_compiler.h:编译器适配层,对接STM32CubeIDE内置GCC工具链的语法兼容
  • system_stm32<系列>.c/h:对应芯片的基础时钟初始化实现,仅完成内核启动后的时钟树基础配置,不包含任何外设初始化逻辑

芯片专属外设寄存器定义头文件

这部分就是完全对标AVR中iom328.h/iom2560.h的核心文件,完整覆盖对应芯片的全部外设寄存器地址、位域定义,引入后即可直接操作寄存器开发LL层驱动:

  • 针对STM32F103:根据实际选型的芯片容量,引入匹配的stm32f103xb.h/stm32f103xe.h

    该头文件内完整定义了F103全系列GPIO、USART、SPI、I2C、定时器、ADC、NVIC、中断向量的寄存器基地址、位掩码,和AVR的iom系列头文件功能完全一致

  • 针对STM32WB55:引入stm32wb55xx.h

    该头文件内完整定义了WB55应用侧(Cortex-M4)的全部外设、射频接口、低功耗模块的寄存器定义,引入后不需要额外依赖其他外设寄存器头文件

启动源文件必选项

这部分文件对应AVR的启动汇编逻辑,负责初始化栈空间、配置中断向量表、跳转主函数入口,是裸机程序运行的必备文件:

  • STM32F103:根据芯片容量匹配引入startup_stm32f103xb.s/startup_stm32f103xe.s汇编启动文件
  • STM32WB55:引入startup_stm32wb55xx_cm4.s汇编启动文件(WB55的Cortex-M0+核为射频专用核,用户应用开发默认跑在Cortex-M4核上,无需引入M0+侧启动文件)

开发配置注意点

  • 开发过程中不需要引入任何HAL库、LL库的源码,上述文件引入后即可完全对标AVR的裸机开发逻辑
  • 需要在工程预定义宏中添加对应芯片的选型标识(如STM32F103XB、STM32WB55xx),相关头文件会自动匹配对应的寄存器定义范围,避免编译报错

内容的提问来源于stack exchange,提问作者Kunal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.09 11:57:01