【嵌入式】STM32的MCU固件包各个示例文件夹分析

这些目录都带"示例/模板"性质 ,但它们的层级和用途不一样,不能混成一个意思。

我按你这张图里的目录,一个个给你拆开。


NUCLEO 是什么

NUCLEO-H723ZG 是什么意思

这是 ST 官方的一块开发板名字

可以拆成:

  • NUCLEO :ST 的 Nucleo 开发板系列
  • H723 :这块板子上搭载/对应的是 STM32H723 这一类 MCU
  • ZG:通常和芯片封装/引脚档位有关,这里体现在板卡命名里

Projects/NUCLEO-H723ZG

意思就是:

这里放的是"针对 NUCLEO-H723ZG 这块板子"的工程


文件夹分别是什么

text 复制代码
Projects
└── NUCLEO-H723ZG
    ├── Applications
    ├── Demonstrations
    ├── Examples
    ├── Examples_LL
    ├── Examples_MIX
    ├── Templates
    └── Templates_LL

虽然都像"例子",但实际上分工不同。


1. Applications

这是 应用级示例

含义

这里放的不是单纯某一个外设的最小 demo,

而是更完整、更偏上层的软件应用示例

常见内容

比如:

  • FreeRTOS
  • USB Device / USB Host
  • 文件系统 FatFS
  • 网络 LWIP
  • 图形界面
  • 音频类应用

可以怎么理解

它更像:

把多个模块拼起来做成一个小应用

不是只演示"GPIO 怎么翻转一下"。


2. Demonstrations

这是 演示工程 / 综合展示工程

含义

它通常比 Applications 还更像"官方展示项目"。

往往会:

  • 用到多个外设
  • 做得更完整
  • 更像一个"给你看这个板子能干什么"的 showcase

可以怎么理解

如果说:

  • Examples 像单元练习题
  • Applications 像综合题

Demonstrations 更像:

期末大作业 / 官方样板演示


3. Examples

这是最常见的:HAL 示例工程

含义

这里一般是:

基于 HAL 库的、按外设分类的标准示例

比如你进去会看到类似:

  • GPIO
  • UART
  • ADC
  • TIM
  • I2C
  • SPI
  • DMA
  • RCC

每个目录下面又有具体 demo。

适合谁

  • 想学某个外设怎么初始化
  • 想看官方最基础跑法
  • 想抄一个最小可运行例子

它是:

HAL 版本的外设练习题库


4. Examples_LL

这是 LL 库示例工程

什么是 LL

LL = Low Layer

它是 ST 提供的另一套库,特点一般是:

  • 比 HAL 更贴近寄存器
  • 更轻量
  • 封装更薄
  • 代码更"硬核"一些

含义

这个目录就是:

用 LL 库写的外设示例

Examples 的区别

  • Examples:主要是 HAL 风格
  • Examples_LL:主要是 LL 风格

5. Examples_MIX

这是 HAL + LL 混合示例

含义

顾名思义,就是:

一个工程里同时用了 HAL 和 LL

为什么会混用

因为实际开发里常见这种情况:

  • 大框架、初始化、通用逻辑用 HAL
  • 某些对性能/时序/控制粒度要求高的地方用 LL

所以 ST 也给出一些混合例子。

它不是第三套新库,而是:

HAL 和 LL 组合使用的示例


6. Templates

这是 HAL 工程模板

这个很重要,它和"示例"不是一回事。

含义

它通常不是为了教你某个外设怎么用,

而是

空白的、能编译通过的、基础框架已经搭好的 HAL 工程骨架

里面一般会有:

  • 启动文件
  • 链接文件
  • main.c
  • system_xxx.c
  • stm32h7xx_hal_conf.h
  • 工程配置

但是:

  • 不一定帮配好具体外设
  • 不一定有具体业务逻辑
  • 更像"新建工程起点"

它是:

工程脚手架 / 空项目模板

不是"某外设用法教程"。


7. Templates_LL

这是 LL 版本的工程模板

和上面同理,只不过这里不是 HAL 风格,而是 LL 风格模板

  • Templates:HAL 空工程模板
  • Templates_LL:LL 空工程模板

理顺

目录名 核心含义 理解
Applications 应用级示例 多模块组合的小应用
Demonstrations 综合演示工程 官方展示项目
Examples HAL 外设示例 外设单元练习题
Examples_LL LL 外设示例 用 LL 写的外设练习题
Examples_MIX HAL+LL 混合示例 两套库混合使用的例子
Templates HAL 工程模板 空白工程骨架
Templates_LL LL 工程模板 LL 风格空白工程骨架

想学某个具体点,比如:

  • GPIO
  • TIM
  • ADC
  • UART
  • DMA

优先看:

Examples

因为它最接近"这个外设的标准官方最小例子"。


  • FreeRTOS 怎么组织任务
  • USB 怎么跑起来
  • 网络栈怎么接

优先看:

Applications


想自己建一个 H723 新工程,不想从零配一堆文件:

优先参考:

Templates


如果你以后开始接触"更靠近寄存器、更轻量"的风格:

再去看:

Examples_LL / Templates_LL


相关推荐
杰杰桀桀桀2 小时前
STM32高精度定时器(HRTIM1)实现倍频、定时器触发采样
stm32·单片机·嵌入式硬件·电赛·高精度定时器
振南的单片机世界2 小时前
独立看门狗:系统时钟停了,它还在“倒计时”
单片机·嵌入式硬件
咸鱼不用加盐10 小时前
HC32F460 USB CDC通信异常:非对齐访问异常排查
单片机·arm·c·cm4
weifengdq13 小时前
LAN8671 10BASE-T1S STM32F407 RMII LwIP 测试笔记
stm32·lwip·iperf·rmii·10base-t1s·lan8671
EVERSPIN14 小时前
低功耗MCU对TWS充电仓的驱动控制
单片机·嵌入式硬件·mcu·低功耗mcu
没 名 字14 小时前
电源--辅助电源电路
单片机·嵌入式硬件
西城微科方案开发17 小时前
高速低功耗增强型8位单片机——HC89F0531 SSOP24
单片机·嵌入式硬件
EdmundXjs18 小时前
flashrom v1.5.1 Windows
windows·stm32·单片机
Saniffer_SH20 小时前
【市场洞察】一叶知秋 - 从2026年开年Quarch公司PCIe 6.0测试工具销售状况说起
服务器·人工智能·嵌入式硬件·测试工具·fpga开发·自动化·压力测试