FreeRTOS 学习:(三)HAL库、标准库 和 FreeRTOS 的关联性,简述
| 上一篇 | 下一篇 | 
|---|---|
| FreeRTOS 简介,以及 MCU 运行 FreeRTOS 的条件 | 
HAL库、标准库 和 FreeRTOS 的关联性
FreeRTOS 本身不分标准库还是 HAL 库,它是独立于底层硬件抽象层的操作系统。可以将 FreeRTOS 移植并运行在使用 标准库 或 HAL 库 的 STM32 项目中,两者都可以。FreeRTOS 可以与两者之一共存,但不依赖于任何一方。
简单总结:
| 项目 | 说明 | 
|---|---|
| FreeRTOS | 是一个实时操作系统内核,提供任务调度、队列、信号量、定时器等服务。 | 
| 标准库(StdPeriph) | ST 早期提供的寄存器封装库,直接操作外设寄存器。 | 
| HAL 库 | ST 后来推出的硬件抽象层,更高级、更可移植,用于配合 STM32CubeMX 使用。 | 
推荐 FreeRTOS + HAL 库(现代开发主流),可以使用 STM32CubeMX 配置项目,自动生成初始化代码。
在 CubeMX 中配置(简述):
- 打开 STM32CubeMX
- 选择你的芯片(如 STM32F103ZET6)
- 在 Project Manager 中设置项目名称和工具链
- 在 Clock Configuration 中配置时钟
- 在 Connectivity 或 Peripherals 中配置 UART、GPIO 等
- 在 Middleware 中找到 FreeRTOS,选择 Enabled
- 生成代码 → 得到一个 基于 HAL 库 + FreeRTOS 的完整工程
