基础概念
嵌入式面向的C语言精进
将已有C基础深化到指针、结构体、函数指针、位运算与内存管理在寄存器/驱动底层的运用,实习底层能力核心
建议预留 90 分钟
学习目标
- 用指针与结构体映射并访问外设寄存器
- 理解volatile、位域与内存对齐在嵌入式中的作用
关键概念
- 指针与结构体映射寄存器
- 函数指针与回调
- volatile与内存对齐
为什么学习
- 学习者已具备C基础,本节点转化为嵌入式所需的寄存器指针访问、可复用低层驱动编写能力,属实习面试常考项
如何检验理解
- 能仅凭指针+结构体直接读写外设寄存器并解释其内存布局
- 能写出不含魔法数字、带函数指针回调的底层驱动片段
基础概念
数字电路与微机原理基础
理解数字逻辑、寄存器、地址总线、进制与位操作等硬件基础,为看懂原理图与手册打底
建议预留 60 分钟
学习目标
- 理解寄存器的读改写操作
- 看懂基础IO与上拉电阻电路
关键概念
- 数字逻辑
- 寄存器与地址总线
- 位运算
为什么学习
- 领域知识能力地图要求理解电平、上拉电阻、电源等硬件概念(入门口径),是看懂外设电路的必要铺垫
如何检验理解
- 能从原理图读出某IO口的电平与上拉/下拉状态
- 能解释进制转换与位运算在寄存器配置中的应用
补充知识
Git版本控制协作基础
掌握Git基本操作用于个人/实习项目代码版本管理与协作提交,对接实习工程团队要求
建议预留 30 分钟
学习目标
- 掌握clone/commit/push/分支常用命令
- 学会.gitignore忽略编译产物
关键概念
- 提交与分支
- 远端同步
- 合并冲突
为什么学习
- 实习能力地图将版本管理列为推荐工具,与具体STM32外设无强依赖,作为贯穿全程的独立工具掌握入门操作即可
如何检验理解
- 能为自己的STM32项目建仓并提交/回退/创建分支
- 能看懂并解决基础合并冲突
核心技能
ARM Cortex-M架构概述
理解Cortex-M内核、寄存器组、工作模式与异常/中断机制,架构理解力是实习必需项
建议预留 90 分钟
学习目标
- 理解内核寄存器与工作模式切换
- 建立异常/中断优先级体系概念
关键概念
- Cortex-M寄存器组
- 工作模式
- 异常处理机制
为什么学习
- 能力地图中“STM32芯片架构理解”要求达到熟练,理解内核模式与异常机制是解释后续NVIC/调度等问题的基础
如何检验理解
- 能画出简单中断入栈/出栈过程并说明断点切换
- 能说明MSP/PSP与线程/Handler模式差异
核心技能
STM32系列选型与存储器结构
认识STM32家族差异、片上外设、存储器映射与时钟树,选择适合个人项目的具体型号
建议预留 60 分钟
学习目标
- 定位外设寄存器地址与总线
- 理解STM32存储区映射与时钟树结构
关键概念
- 存储映射
- 时钟树
- 外设总线归属
为什么学习
- 个人小项目需据资源选择型号并定位外设地址,存储映射与时钟树是后续所有外设配置的统一地基
如何检验理解
- 能从数据手册找到某外设的基地址与总线归属
- 能据项目外设需求在主流型号间做出选型判断
核心技能
开发环境与下载调试流程
配置Keil/CubeIDE、ST-Link下载与调试链,独立完成工程新建编译下载,工具链要求的熟练项
建议预留 60 分钟
学习目标
- 建立工程并烧录下载
- 配置在线调试会话
- 解决常见链接与下载错误
关键概念
- Keil/CubeIDE工程
- ST-Link下载器
- SWD调试
为什么学习
- 学习者已有基础软件操作,此处强化完整下载调试闭环,支撑环境搭建到GPIO点亮的功能落地
如何检验理解
- 能独立新建工程、编译并在开发板上烧录运行
- 能配置调试器连接目标板
- 能用调试窗口观察外设寄存器
补充知识
启动文件与链接脚本认知
了解startup汇编、向量表、堆栈与链接脚本规则,属理解型但不做深钻
建议预留 45 分钟
学习目标
- 理解启动文件复位与向量跳转流程
- 认识堆栈与RAM配置对程序影响
关键概念
- 启动向量表
- 堆栈设置
- 链接脚本(.sct/.ld)
为什么学习
- 个人小项目多用HAL/CubeMX自动处理启动细节,仅需理解其机理以便排查复位/堆栈异常,非逐行手写重点
如何检验理解
- 能指出向量表首项为栈顶地址并解释复位流程
- 能定位__weak与中断向量之间的关系
核心技能
GPIO通用输入输出
掌握GPIO输入输出模式、推挽/开漏、上下拉配置与IO操作,是点亮LED/按键个人项目第一战场
建议预留 60 分钟
学习目标
- 配置并切换GPIO各种模式
- 理解开漏与上下拉使用场景
关键概念
- 输入/输出模式
- 推挽与开漏
- 上下拉
为什么学习
- GPIO是能力地图要求熟练的基础外设,也是几乎每个小项目必用、链接后续时钟使能与中断的前提
如何检验理解
- 能从原理图选型并配置推挽输出驱动LED、浮空输入读按键
- 能在中断/定时中正确操作IO而避免电平抖动
核心技能
时钟系统与时钟树配置
理解HSI/HSE/PLL源、AHB/APB总线与各外设时钟使能,是外设工作与否的总开关
建议预留 60 分钟
学习目标
- 配置系统时钟与总线分频
- 理解并正确使能外设时钟
关键概念
- HSI/HSE/PLL
- AHB/APB总线树
- 外设时钟使能
为什么学习
- 几乎所有外设(串口/定时/ADC)都以正确时钟前提运行,故障排查常从时钟使能入手,属架构熟练项
如何检验理解
- 能解释系统时钟来源与外设时钟使能关系
- 能让特定外设因未开时钟导致失效并自行定位修复
核心技能
中断与NVIC向量中断
掌握EXTI、优先级分组、NVIC配置与中断服务编写,个人项目异步事件处理的关键
建议预留 90 分钟
学习目标
- 配置NVIC优先级与中断源
- 编写高效中断服务函数并保持ISR精简
关键概念
- EXTI
- NVIC优先级
- 中断服务函数ISR
为什么学习
- 按键/通信/定时普遍依赖中断,能力地图将其列为熟练必会项,也是理解RTOS调度的前置基础
如何检验理解
- 能配置外部中断并正确处理按键防抖
- 能配置优先级组避免中断嵌套问题
核心技能
寄存器/标准库/HAL库对比认知
理解寄存器操作、标准外设库与HAL库封装层次演进,权衡在个人项目中选用哪种开发方式
建议预留 60 分钟
学习目标
- 对照掌握寄存器/SPL/HAL的映射关系
- 判断何时该绕过HAL直操作寄存器
关键概念
- 寄存器直接操作
- 标准外设库SPL
- HAL抽象层次
为什么学习
- 能力地图要求HAL库熟练且理解寄存器原理,理解库封装背后本质后能游刃于HAL/寄存器两种写法
如何检验理解
- 能用寄存器写法替代HAL完成GPIO点灯并能对照讲解
- 能说明HAL与寄存器调试定位差异
核心技能
定时器TIM与PWM输出
掌握基础/通用/高级定时器、时基、PWM、输入捕获,用于舵机/呼吸灯/测距等小项目
建议预留 120 分钟
学习目标
- 配置定时器时基并产生中断
- 输出与捕获PWM信号
- 区分基本/通用/高级定时器能力
关键概念
- 定时器时基
- PWM占空比
- 输入捕获
为什么学习
- PWM与定时属能力地图核心外设范畴,几乎是电机/舵机/呼吸灯类小项目的支柱,依赖时钟与中断
如何检验理解
- 能用PWM控制LED呼吸或舵机角度
- 能用输入捕获测量外接信号频率
核心技能
UART/USART串口通信与调试
掌握串口收发、波特率、中断/DMA收发与printf重定向,个人项目的调试窗口
建议预留 90 分钟
学习目标
- 配置串口波特率与收发
- 重定向printf并实现帧解析协议
关键概念
- UART帧格式
- 波特率
- printf重定向
为什么学习
- 能力地图将USART列为熟练通信外设,串口打印是几乎所有小项目最先建立的调试通道
如何检验理解
- 能实现串口中断收发并用printf输出调试日志
- 能解析并处理变长串口帧数据
核心技能
ADC模数转换
掌握ADC采样原理、分辨率、连续/扫描与DMA采集,读取电压/电位器/传感器量
建议预留 90 分钟
学习目标
- 配置单/多通道ADC采样
- 结合DMA连续采集电压
关键概念
- ADC分辨率与采样时间
- 扫描/连续模式
- DMA搬运数据
为什么学习
- 传感器与外部器件读取常需ADC,能力地图“DMA与高级外设”列ADC且传感器实战需要,属常用技能
如何检验理解
- 能配置ADC读取电位器电压并换算为工程量
- 能用DMA做多通道扫描采样
- 能说明采样时间与精度权衡
核心技能
I2C与SPI总线通信协议
掌握I2C/SPI时序、寻址与读写流程,驱动OLED/传感器/存储器等外设
建议预留 120 分钟
学习目标
- 实现I2C读写外设寄存器
- 实现SPI全双工收发并驱动显示器件
- 读懂外设数据手册时序图
关键概念
- I2C地址与起始/停止
- SPI模式与时序
- 数据手册时序
为什么学习
- I2C/SPI是人与外部器件(传感器/屏/存储)交互的核心协议,能力地图通信协议线要求熟练,是外设实战上游
如何检验理解
- 能用I2C读取温湿度/加速度传感器寄存器
- 能用SPI点亮/驱动OLED屏并显示数据
- 能结合数据手册判断读写时隙
核心技能
STM32CubeMX图形化配置
用CubeMX配置引脚时钟外设并生成HAL工程代码,提高小项目搭建效率
建议预留 90 分钟
学习目标
- 图形化配置引脚时钟外设
- 理解自动生成代码与用户代码区隔离
关键概念
- CubeMX工程生成
- 引脚复用配置
- 用户代码保护段
为什么学习
- 工具链要求熟练CubeMX+IDE生成工程,是个人项目从外设到整体落地的高效路径
如何检验理解
- 能几分钟内用CubeMX配好引脚时钟生成可编译工程
- 能在图形配置与手写代码间正确衔接避免被覆盖
核心技能
调试技术与问题定位
掌握断点单步、变量/寄存器观察、HardFault定位与逻辑分析,系统化排查软硬件交互问题
建议预留 90 分钟
学习目标
- 掌握断点/观察/表达式等调试手段
- 定位并解决硬故障HardFault
关键概念
- 断点调试
- 寄存器/变量监视
- HardFault分析
为什么学习
- 逻辑分析与问题解决为实习硬性软技能,调试贯穿所有项目,是综合项目验证能力的支撑
如何检验理解
- 能用断点单步与寄存器观察定位一处逻辑bug并修复
- 能分析HardFault调用栈定位非法访问
核心技能
DMA直接存储器访问
掌握DMA通道配置与搬运,将串口/ADC数据批量搬运降低CPU占用
建议预留 90 分钟
学习目标
- 配置DMA通道并触发搬运
- 理解DMA与外设联动避免忙等
关键概念
- DMA通道/流
- 传输方向与模式
- 外设事件触发
为什么学习
- DMA在传感器批量采样与高速串口收发中很常用,能力地图将其与ADC等高级外设列为推荐熟练项
如何检验理解
- 能用DMA+串口空闲做不定长接收
- 能用DMA循环采集ADC并解析波形
核心技能
HAL库驱动与回调机制
理解HAL句柄、弱回调函数与状态机模型,支撑自定义外设驱动与综合项目整合
建议预留 120 分钟
学习目标
- 理解HAL句柄与初始化流程
- 使用并覆写弱回调函数
- 能阅读HAL源码定位问题
关键概念
- HAL句柄结构体
- __weak回调
- 外设状态机
为什么学习
- 能力地图要求HAL库熟练,理解回调与句柄模型才能用于多传感器驱动与项目整合的综合阶段
如何检验理解
- 能通过HAL_XXX_Callback重写实现自定义中断处理
- 能阅读HAL源码解释某个外设状态机流程
补充知识
低功耗模式初步认识
了解睡眠/停机/待机三种低功耗模式与唤醒机制,认识级了解而非工程深钻
建议预留 60 分钟
学习目标
- 认识低功耗模式分类
- 了解唤醒源的基本配置
关键概念
- 睡眠/停机/待机
- 唤醒源
- 功耗优化思路
为什么学习
- 低功耗在个人小项目与入门实习属nice-to-have,理解各模式取舍即可,不作为重点掌握深度
如何检验理解
- 能说出三种低功耗模式及典型唤醒源区别
- 能初步估算某小项目待机功耗方向
补充知识
CAN/USB等高级外设浅识
浅层了解CAN车载通信与USB主从应用场景,认识级了解以便实习涉及时有印象
建议预留 45 分钟
学习目标
- 认识CAN协议与工业场景
- 了解USB主从简单流程
关键概念
- CAN报文
- USB端点与枚举
- 协议适用场景
为什么学习
- 个人小项目通常不涉及CAN/USB栈复杂应用,作为知识面扩展认识即可,无需投入工程深度
如何检验理解
- 能说明CAN与普通串口在工业应用中差异
- 能指出USB设备枚举基本阶段
核心技能
传感器/OLED等外设驱动实战
通过读数据手册驱动一款真实传感器或显示模块,完整走通配置-通信-数据处理的链路
建议预留 150 分钟
学习目标
- 从数据手册提取寄存器与初始化序列
- 整合I2C/SPI与数据处理展示
- 健壮处理采样噪声
关键概念
- 数据手册阅读
- 器件寄存器配置
- 数据有效性与校准
为什么学习
- 能力地图列出“传感器与外部器件驱动”为熟练推荐项,是个人小项目构成与数据手册阅读能力的直接体现
如何检验理解
- 能仅凭英文数据手册驱动一款陌生传感器并输出有效数据
- 能将传感器数据经串口/OLED正确展示
- 能结合逻辑分析定位一次时序问题
核心技能
FreeRTOS实时操作系统基础
入门多任务、信号量、互斥量与消息队列,为整体性小项目与实习加分项
建议预留 150 分钟
学习目标
- 创建与调度多任务
- 使用信号量/消息队列做任务间通信
- 理解优先级与临界区
关键概念
- 任务调度器
- 信号量与互斥量
- 消息队列
- 临界区
为什么学习
- 能力地图将RTOS列为推荐(入门口径),能显著提升小项目整体架构并大幅增强实习竞争力
如何检验理解
- 能用任务+消息队列组织一个多任务小项目
- 能说明信号量与互斥量在共享资源下的区别
核心技能
Flash编程与IAP Bootloader引导
掌握Flash读写与IAP在线升级跳转设计,构建可升级的项目形态,作为实习亮点作品
建议预留 120 分钟
学习目标
- 读写内部Flash
- 实现Bootloader跳转升级应用
关键概念
- Flash扇区擦写
- IAP升级流程
- 向量表偏移
为什么学习
- IAP引导体现实操深度并为个人项目作品加码,虽非必用但对实习展示有积极增量,控制在理解级
如何检验理解
- 能实现通过串口升级应用程序并跳转
- 能说明Bootloader与App分区及向量表偏移关系
核心技能
综合项目实战与工程规范
整合GPIO/通信/定时/RTOS等做一个完整个人小项目,交付模块化设计、功能、调试与文档
建议预留 300 分钟
学习目标
- 从需求到方案的模块化工程实践
- 综合各外设驱动的整合与联调
- 编写项目文档并做好代码规范与版本管理
关键概念
- 需求分解与模块设计
- 外设集成与联调
- 调试方法论
- 代码风格与文档
为什么学习
- 毕业设计级综合产出,将所学外设/驱动/调试/项目规范整合成可展示作品,直接验证“熟练开发个人小项目”目标
如何检验理解
- 独立完成一个含多外设+传感器+串口/显示交互的完整小项目
- 能用Git管理项目并给出结构清晰、注释良好的代码库
- 能现场讲解架构设计与调试遇到的关键问题及解法
前置关系与知识联系
- 时钟系统与时钟树配置 → ADC模数转换
- STM32CubeMX图形化配置 → HAL库驱动与回调机制
- STM32系列选型与存储器结构 → 中断与NVIC向量中断
- HAL库驱动与回调机制 → Flash编程与IAP Bootloader引导
- 寄存器/标准库/HAL库对比认知 → HAL库驱动与回调机制
- 时钟系统与时钟树配置 → 低功耗模式初步认识
- UART/USART串口通信与调试 → Flash编程与IAP Bootloader引导
- 数字电路与微机原理基础 → STM32系列选型与存储器结构
- 中断与NVIC向量中断 → UART/USART串口通信与调试
- STM32系列选型与存储器结构 → 启动文件与链接脚本认知
- STM32系列选型与存储器结构 → 时钟系统与时钟树配置
- 定时器TIM与PWM输出 → 低功耗模式初步认识
- UART/USART串口通信与调试 → 传感器/OLED等外设驱动实战
- UART/USART串口通信与调试 → DMA直接存储器访问
- 数字电路与微机原理基础 → ARM Cortex-M架构概述
- 中断与NVIC向量中断 → 调试技术与问题定位
- 嵌入式面向的C语言精进 → 寄存器/标准库/HAL库对比认知
- ARM Cortex-M架构概述 → 启动文件与链接脚本认知
- 时钟系统与时钟树配置 → I2C与SPI总线通信协议
- STM32系列选型与存储器结构 → 开发环境与下载调试流程
- ARM Cortex-M架构概述 → STM32系列选型与存储器结构
- 中断与NVIC向量中断 → 定时器TIM与PWM输出
- HAL库驱动与回调机制 → 综合项目实战与工程规范
- 传感器/OLED等外设驱动实战 → 综合项目实战与工程规范
- DMA直接存储器访问 → FreeRTOS实时操作系统基础
- 时钟系统与时钟树配置 → STM32CubeMX图形化配置
- STM32系列选型与存储器结构 → GPIO通用输入输出
- DMA直接存储器访问 → 综合项目实战与工程规范
- I2C与SPI总线通信协议 → CAN/USB等高级外设浅识
- I2C与SPI总线通信协议 → 传感器/OLED等外设驱动实战
- GPIO通用输入输出 → 寄存器/标准库/HAL库对比认知
- 时钟系统与时钟树配置 → UART/USART串口通信与调试
- GPIO通用输入输出 → 中断与NVIC向量中断
- 中断与NVIC向量中断 → FreeRTOS实时操作系统基础
- 开发环境与下载调试流程 → GPIO通用输入输出
- 开发环境与下载调试流程 → 调试技术与问题定位
- 时钟系统与时钟树配置 → 定时器TIM与PWM输出
- 时钟系统与时钟树配置 → DMA直接存储器访问
- Flash编程与IAP Bootloader引导 → 综合项目实战与工程规范
- I2C与SPI总线通信协议 → 综合项目实战与工程规范
- 嵌入式面向的C语言精进 → 开发环境与下载调试流程
- 开发环境与下载调试流程 → STM32CubeMX图形化配置
- GPIO通用输入输出 → 时钟系统与时钟树配置
- 调试技术与问题定位 → 综合项目实战与工程规范
结合互动地图查看具体关系类型,再选择下一步。