嵌入式软件学习路线与项目实践记录:STM32、FreeRTOS、Linux 与 OpenMV

写在前面

这个博客主要记录我的嵌入式软件学习过程、外设实验和项目实践。

目前已经公开的内容主要集中在 STM32、FreeRTOS、常用外设、开发工具、PCB 设计和综合项目。文章既包括 GPIO、中断、定时器、串口、ADC 等基础知识,也包括智能派件 AGV、双通道点光源追踪系统等综合实践。

这些内容是一条仍在持续补充的学习路线,并不表示相关技术已经全部掌握。后续会继续整理 C/C++、数据结构与算法、嵌入式 Linux、OpenMV / 机器视觉,以及更完整的项目调试与复盘。

如果你第一次来到这里,可以根据下面的目录选择基础学习、项目实践或开发工具方向继续阅读。

一、如果你第一次来到这里

1. 想看 STM32 基础学习

GPIO 基础 → GPIO 实训 → 中断理论 → 中断实践 → 定时器基础 → PWM 与输入捕获 → 串口 → ADC → FreeRTOS

完整文章顺序见下方"STM32 与 RTOS 学习路线"。

2. 想看完整项目

智能派件 AGV → 双通道点光源追踪系统

3. 想看开发环境和问题排查

VS Code + CMake + C++ → VS Code + Python → Keil5 代码提示问题

二、STM32 与 RTOS 学习路线

1. GPIO:从最基本的输入输出开始

  1. Stm32F4(GPIO理论版块)
  2. 基于CubeMX的GPIO理论实训

2. 中断:从轮询程序进入事件驱动

  1. stm32 中断(理论)
  2. 中断实践任务

3. 定时器、PWM 与输入捕获:为控制周期、波形输出和测频打基础

  1. 定时器理论板块(1)
  2. 定时器2.0(PWM与输入捕获)
  3. TIM1(中断事件+捕获)
  4. PWM输出&频率计

4. 串口:从通信基础到轮询、中断和 DMA

  1. 串口通信1.0(串行&并行)
  2. 串口通信2.0(轮询,中断,DMA)
  3. 轮询&中断 串口实训

5. ADC:理解模拟量采集并完成实际验证

  1. 关于ADC
  2. ADC实践(包含个人解读)

6. FreeRTOS:开始接触任务和调度

  1. FreeRTOS
  2. FreeRTOS----小任务

也可以直接进入:STM32 与 RTOS 专栏。

三、嵌入式项目实战

1. 智能派件 AGV

基于 Cortex-M7、OpenMV 与双频 GNSS 的智能派件 AGV 设计与实现

这是目前博客中最完整的综合项目记录,主要涉及 Cortex-M7 主控、双频 GNSS、IMU、OpenMV、UART 通信、PID 控制、任务调度和多模块联调。文章重点是系统结构、模块协作和实际调试过程,而不是单一外设实验。

2. 双通道点光源追踪系统

双通道点光源追踪系统

该项目将 MCU、光电检测、ADC 采样、PWM 舵机控制、FreeRTOS 和 PCB / 硬件设计结合起来,记录了从传感器采样到执行机构控制的完整过程。

项目文章汇总:嵌入式项目实战专栏。

四、开发工具与工程化

这一部分主要记录开发环境、构建工具和实际开发过程中遇到的问题。

专栏入口:开发工具与工程化。

五、硬件设计与 PCB

这部分是嵌入式开发中与硬件协同有关的拓展内容。

专栏入口:硬件设计与光电感知。

六、正在补齐的能力

下面几部分仍在学习和整理中。在形成连续内容之前,暂时不建立空专栏,也不放置无效链接。

1. C/C++ 与算法

后续准备逐步整理指针与内存、STL、常用数据结构,以及 LeetCode 题目的思路和复杂度分析。

2. 嵌入式 Linux

计划依次记录 Linux 基础、GCC / GDB、Makefile / CMake、文件 IO、进程、线程、网络编程和交叉编译。

3. OpenMV / 机器视觉

准备从 AGV 项目中逐步拆出颜色识别、目标跟踪、OpenMV 与 MCU 通信、视觉控制和实际调试问题。

七、更新说明

这篇文章作为博客总导航持续维护。后续新增的学习记录和项目文章,会逐步补充到对应位置。

相关推荐
小李不想当小白1 天前
SPI通信外设与W25Q64 (硬件SPI)(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·嵌入式
LCG米1 天前
STM32驱动W5500以太网模块实测:TCP吞吐瓶颈定位、TX指针回绕陷阱与断线重连保活落地
stm32·单片机·嵌入式硬件·tcp/ip
创界工坊工作室1 天前
63-基于STC89C52霍尔传感器的智能化电能表设计
stm32·单片机·嵌入式硬件·51单片机·proteus
意法半导体STM321 天前
【官方原创】LAT6048 如何扩大MP2的A35核和M33核共享内存
stm32·单片机·嵌入式硬件·内存映射·stm32mp2
en.en..1 天前
STM32(F429)启动模式与两种烧录方式
stm32·单片机·嵌入式硬件
Zw-awa1 天前
从 printf 到曲线:把数据送上 VOFA+
stm32
【 STM32开发 】1 天前
【CubeMX+STM32】SD卡 文件系统读写 FatFs+SDIO+DMA (F103版本)
stm32·单片机·嵌入式硬件·1024程序员节
‎ദ്ദിᵔ.˛.ᵔ₎1 天前
STM32 USART 串口
stm32·单片机·嵌入式硬件
LCG米2 天前
STM32 ADC多通道DMA定时器触发实测:TRGO触发链、采样率精确控制与乒乓缓冲落地
stm32·单片机·嵌入式·adc
youcans_2 天前
【嵌入式软件AI编程】22. STM32 基础实验:GPIO外部中断
stm32·单片机·嵌入式硬件·ai编程·claude