逻辑最清晰的STM32F1/F4标准库工程创建

前言

视频教程链接:逻辑最清晰的STM32F1/F4标准库工程创建_哔哩哔哩_bilibili

本文最后的STM32F411CEU6标准库工程,可以直接拿走使用:

链接:https://pan.baidu.com/s/1l5BB2Cvwia67J1cpH7rRbw 

提取码:onca

一、前提知识

在别人的STM32工程中,我们总是能见到各种各样的文件,比如startup_stm32f10x_hd.s、core_cm3.c、core_cm3.h、stm32f10x_it.c......我们可能不知道他们都是什么,为什么需要他们,要这么多文件干嘛?即便不知道,但可能也不影响我们后续开发,但是如果我们能对他们有一个较为清晰的认识,有助于我们更好的掌控我们自己的工程。

现在以STM32F1系列为例,汇总出这些文件的大致作用如下:

其具体介绍如下,如果不想看具体介绍,只看上面这张图就行

A.固件库所需文件

1.startup_stm32f10x_hd.s文件介绍

startup_stm32f10x_hd.s 文件是 STM32F10x 系列微控制器的启动代码文件。它是启动项目时运行的第一个代码,用于设置处理器的初始状态,并准备应用程序的运行环境。这个文件通常用汇编语言编写,主要用于初始化堆栈、设置中断向量表,并启动 C 程序的主函数 main()。

startup_stm32f10x_hd.s 文件是 不可或缺 的,它在系统复位后首先执行,负责为主程序设置运行环境。因此,开发 STM32 应用程序时,通常需要包含这个启动文件,否则处理器将无法正确运行用户代码。

2.core_cm3.c与core_cm3.h 的介绍

在 STM32 单片机的开发中,core_cm3.c 是与 Cortex-M3 核心处理器相关的文件,它主要提供了一些与处理器核心功能(而非外设)相关的底层代码和功能。该文件通常属于 CMSIS库的一部分。CMSIS 是由 ARM 提供的一个标准化的硬件抽象层,用于简化 Cortex-M 系列处理器的开发。

core_cm3.c 是用于 Cortex-M3 内核的底层支持文件,主要负责处理器的核心功能(如中断管理、时钟控制、寄存器访问等)的实现。它是 CMSIS 库的一部分,通过抽象层的接口,简化了开发者与 Cortex-M3 内核硬件直接交互的复杂性。通过使用该文件中的函数和功能,开发者可以更加轻松地控制 Cortex-M3 核心的各种功能,而无需直接操作底层寄存器。

并非所有STM32系列单片机都是Cortex-M3 内核,其具体对应如下表所示

STM32 系列 内核类型 应用领域
STM32F0 Cortex-M0 入门级应用
STM32G0 Cortex-M0+ 提升版的入门级应用
STM32L0 Cortex-M0+ 低功耗应用
STM32F1 Cortex-M3 稳定、通用
STM32F3 Cortex-M4 带有模拟前端的片上资源
STM32F4 Cortex-M4 高性能工业、物联网
STM32L4 Cortex-M4 低功耗与高性能的结合
STM32F7 Cortex-M7 高性能计算
STM32H7 Cortex-M7 更高性能的复杂控制系统
STM32L5 Cortex-M33 安全和低功耗 IoT
STM32U5 Cortex-M33 超低功耗和高安全性
STM32MP1 Cortex-A7 / M4 Linux 与 RTOS 的复杂系统

3.stm32f10x.h的介绍

stm32f10x.h 是一个为 STM32F1 系列微控制器提供的头文件,包含了外设寄存器定义、外设配置和控制宏,方便开发者访问和操作硬件资源。

4.system_stm32f10x.c和system_stm32f10x.h的介绍

这两个文件负责 STM32F1 系统时钟和基本系统设置的初始化,通过配置系统时钟、更新主频变量以及初始化关键寄存器,帮助开发者在系统上电或复位时快速设置系统环境,使得外设和应用可以在准确的时钟频率下运行。

B.标准库所需文件

1.stm32f10x_it.c和stm32f10x_it.h的介绍

这两个文件主要负责 STM32F1 系列微控制器的中断服务函数定义和实现,帮助开发者处理各种外设中断和系统异常。通过这些文件,开发者可以在不同中断触发时快速响应特定事件。

是标准库的一部分,因此需要配合标准库一起使用

2.stm32f10x_conf.h的介绍

是 STM32 标准外设库(Standard Peripheral Library)中的一个配置文

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值