STM32标准库的工程创建

一.所需文件说明

1.启动文件startup_xxxx.s

  • 作用 :初始化堆栈指针、复位向量、中断向量表,执行 SystemInit() 后跳转到 main()

  • 位置Libraries/CMSIS/Device/ST/STM32Fxx/Source/Templates/arm/

  • 文件名

    • startup_stm32f10x_ld.s(小容量,如 F103C8)

    • startup_stm32f10x_md.s(中容量,如 F103RC)

    • startup_stm32f10x_hd.s(大容量,如 F103ZE)

    • 其他型号(如 F4/F7)路径类似,需匹配芯片型号。

详细介绍可以参考下面的博主

STM32的启动过程 --- startup_xxxx.s文件解析(MDK和GCC双环境)_stm32 .s文件-CSDN博客

2. CMSIS 核心文件

  • 作用:提供 Cortex-M 内核抽象层(中断、寄存器定义等)。

  • 关键文件

    • core_cm3.c / core_cm4.c(根据内核选择)
      位置:Libraries/CMSIS/Include/

    • system_stm32f10x.c(初始化时钟、Flash 等)
      位置:Libraries/CMSIS/Device/ST/STM32F10x/Source/Templates/

    • 头文件:core_cm3.hsystem_stm32f10x.h

详细介绍可以参考下面的博主

CMSIS到底是个什么东西-CSDN博客

3. 标准外设库文件

  • 作用:外设驱动(GPIO、USART、SPI 等)。

  • 位置Libraries/STM32F10x_StdPeriph_Driver/

    • 源文件src/ 目录(如 stm32f10x_gpio.c, stm32f10x_rcc.c

    • 头文件inc/ 目录(如 stm32f10x_gpio.h, stm32f10x_rcc.h

根据开发需求添加相应的外设库文件

4. 用户代码

  • 必要文件

    • main.c:主程序入口。

    • stm32f10x_it.c:中断服务函数(默认由库提供模板)。
      位置:Libraries/STM32F10x_StdPeriph_Driver/ 或项目自定义目录

    • 用户自定义模块(如 led.c, uart.c)。

二. 创建工程(STM32f030K6为例子)

1.去官网下载相应的标准外设库文件

STM32标准外设软件库 - 意法半导体STMicroelectronics

点击自己需要的类型

后面的登录什么的就自己操作了

2.新建文件夹

文件夹里面新建四个文件夹

3.放置相应的文件

Start文件夹

位置Libraries/CMSIS/Device/ST/STM32Fxx/Source/Templates/arm/

Libraly文件夹

我的习惯是直接将Libraly文件下的CMSIS和STM32F0xx_StdPeriph_Driver复制到自己的文件夹下

User文件夹

打开文件夹里面的示例

我打开一个比较简单的GPIO

复制这五个到自己的User下面

MDK文件夹

然后选择自己相应的芯片点击OK即可

4.keil操作

添加四个组

添加定义 USE_STDPERIPH_DRIVER,STM32F030,

添加四个文件路径

添加文件到对应组里面

Start添加启动文件

CMSIS添加 system_stm32f0xx.c

User添加三个文件

FWLIB文件是存放外设文件的,编程所需什么文件就添加什么文件,这里我就不添加了

修改编译配置

将主函数删除内容编译没有错误就OK了

相关推荐
单片机仿真设计6 分钟前
【proteus仿真设计】基于 STM32 单片机火灾监测报警系统设计(仿真图+程序)
stm32·单片机·嵌入式硬件·proteus·毕设
一条破秋裤19 分钟前
STM32 学习笔记:OLED 调试工具与 Keil 在线调试
笔记·stm32·学习
一条破秋裤1 小时前
STM32 学习笔记:中断系统与 EXTI 外部中断
笔记·stm32·学习
jianqiang.xue1 小时前
低功耗产品架构专项优化:电池供电设备休眠、唤醒、漏电流、待机功耗极致优化
stm32·单片机·mcu·物联网·架构·esp32
Mount2561 小时前
STM32CubeIDE使用教程(自用)
stm32·嵌入式硬件
ACP广源盛139246256731 小时前
端侧 AI 硬件架构实践@ACP#中端边缘整机 PCIe 扩展与 IX7012 器件分析
大数据·数据库·人工智能·嵌入式硬件·开源·硬件架构
ACP广源盛139246256731 小时前
端侧 AI 硬件架构探讨@ACP#多外设高密度整机 PCIe 扩展与 IX7024 器件分析
大数据·数据库·人工智能·嵌入式硬件·开源·硬件架构
智购科技自动售货机工厂2 小时前
2026自动售货机异常重启根因分析:从日志挖掘到内存取证的技术实践~YH
开发语言·数据库·单片机·嵌入式硬件·人机交互
jianqiang.xue2 小时前
专栏简介:《嵌入式 AI 智能体设计实战》
人工智能·stm32·单片机·物联网·架构·esp32
铅笔小新z2 小时前
【stm32】I2C 通信协议
stm32·单片机·嵌入式硬件