
先说结论嵌入式不仅值得学而且可能是未来五年里普通开发者性价比最高的技术方向之一。但有个前提——你得用对方法、踩对赛道。我是从2022年开始真正把嵌入式当成主业来做的之前也写过几年Java后端。这几年AI大模型火得一塌糊涂身边不少写业务代码的朋友都在焦虑“会不会被替代”。反倒是我接触的嵌入式圈子尤其做汽车MCU、电机控制、物联网设备端的工程师心态普遍稳很多。原因也很简单AI再强它也得跑在物理世界的硬件上而让硬件按照预期动起来的那层代码永远需要懂寄存器、懂时序、懂中断、懂实时性的人来写。这篇文章不灌鸡汤也不贩卖焦虑。我会直接把这行的前景逻辑、真实薪资水平、MCU和Linux两条赛道的取舍以及一条能在2026年真正落地的学习路线讲透。如果你正在纠结要不要入行或者已经在学了但感觉方向混乱这篇应该能帮你省下至少半年的试错时间。1. 别急着跟风转行先理解嵌入式这行到底考什么很多人对嵌入式有一个误解觉得它就是“单片机编程”门槛低、天花板也低。这个印象来自大学里51单片机实验课和毕业设计里的温度采集系统。但实际上嵌入式是一个跨度极大的领域从8位单片机上的裸机逻辑到运行Linux系统、驱动复杂外设的应用处理器再到自动驾驶域控制器里的异构计算全都被归到“嵌入式”这个筐里。1.1 嵌入式开发的核心壁垒软硬件结合的思维做后端或者前端你的运行环境是标准化的——操作系统帮你管内存框架帮你管并发你面对的主要是业务逻辑和数据处理。但嵌入式不一样。你面对的是一个资源受限的芯片Flash可能只有64KBRAM可能只有16KB主频可能只有几十兆赫兹。你要在这么小的资源里实现功能还要保证实时性和稳定性这就逼着你必须理解代码到底是怎么在硬件上跑起来的。举个例子。同样是实现一个“延时1毫秒”的功能应用开发者直接调用Thread.sleep(1)就行。但嵌入式开发者要考虑是使用定时器中断还是用SysTick还是简单的空循环空循环在编译器优化级别不同的情况下延时时间会不会漂移如果这时来了一个外部中断延时逻辑会不会被打断这些思考是嵌入式工程师的日常也正是这个方向的护城河——它很难被一个只会调用接口的人替代。我在带新人的时候经常说一句话应用开发考的是你调用工具的能力嵌入式开发考的是你理解本质的能力。理解了本质换芯片、换平台、换工具链对你来说都只是语法层面的迁移不理解本质你写一辈子代码都只是停留在“能跑”的阶段一换平台就抓瞎。1.2 供需关系为什么嵌入式岗位越来越吃香从供需两端来看嵌入式这行在未来五年内有很强的确定性。需求端有几个清晰的驱动力。第一是新能源汽车的爆发。一台传统燃油车大概用到300-500颗MCU微控制器单元而一台智能电动汽车的MCU使用量普遍在1000颗以上加上电池管理系统BMS、电机控制器、车身域控制器、智能座舱、自动驾驶域控这些全都是嵌入式开发的战场。第二是物联网的持续渗透智能家居、智能硬件、工业传感器节点、可穿戴设备每一个设备里都需要嵌入式固件。第三是这两年特别火的具身智能和机器人方向人形机器人里光关节电机就需要几十个MCU协同控制这直接推高了嵌入式工程师的需求。供给端呢有一个很现实的情况大学的嵌入式相关课程普遍滞后很多毕业生只会做毕业设计级别的Demo离企业需求有很大差距。而嵌入式又是一个极度依赖实践积累的方向没有三五年时间很难独当一面。这就形成了一个结构性缺口——企业招不到合适的嵌入式工程师合适的人也确实不多。1.3 一个反直觉的事实嵌入式反而受AI冲击更小之前GitHub Copilot和Claude Code这类AI编程工具刚火的时候我也焦虑过一阵子。后来我用这类工具实际做过一个STM32的工程发现它们能帮你写一些注释清晰的外设初始化代码甚至帮你生成一段I2C通信的驱动模板。但一旦涉及具体的时序配合、中断优先级设计、功耗分析、总线冲突排查AI就明显力不从心了。原因在于AI编程工具擅长的是“从一个自然语言描述映射到一段常见代码”但嵌入式里大量的问题是硬件相关的、非标准的、需要结合示波器和逻辑分析仪去定位的。你没有真实硬件状态AI就无法给你正确答案。一个能写好业务代码的AI和一个能帮你调通一块有信号完整性问题的电路板的AI中间的差距可能还需要很多年。所以在布局方向上我一直建议身边犹豫的人如果你在某条赛道上没有多年积累又不想快速被AI挤压嵌入式是一个值得考虑的“护城河型”方向。它不像某些偏CRUD的业务开发那样容易被替代因为它的问题空间里掺杂了太多物理世界的不可控因素。2. 两大赛道的选择逻辑与真实薪资数据嵌入式这个行当内部也有非常明显的分化。我比较推荐先把大方向搞清楚再动手否则很容易出现“学了大半年发现方向不对全白学”的情况。2.1 MCU赛道和Linux赛道到底有什么区别行业内通常把嵌入式岗位分成两大阵营MCU方向和嵌入式Linux方向。MCU方向主要面对裸机或RTOS实时操作系统环境。你的日常工作包括配置寄存器驱动GPIO、UART、SPI、I2C、CAN等外设实现传感器数据采集调试电机控制算法优化中断响应时序。这个方向的代表技术栈是STM32、GD32、瑞萨、英飞凌等芯片配合Keil、IAR或STM32CubeIDE开发。汽车电子里的BMS、电机控制器工业控制里的PLC消费电子里的各类智能硬件大量应用都在这个范畴。嵌入式Linux方向则是在更强的处理器上运行Linux系统比如i.MX系列、RK3588、全志、树莓派级别的硬件平台。你要做的是内核裁剪与移植、设备树配置、驱动编写以及基于Linux的应用层开发比如通过文件接口操作设备用C/C实现业务逻辑或者跑一些音频视频处理算法。这个方向跟云服务器的开发方式有点接近但仍保留了大量硬件交织的逻辑。这两个方向不是互斥的实际工作中边界也会重叠。但选择哪个作为切入点会影响你的学习路径和就业节奏。我的建议很直接没有计算机系统基础的新手优先从MCU方向入手3-6个月能见效有C语言功底和操作系统概念的人可以直接冲嵌入式Linux。2.2 我调研到的2026年薪资分布薪资这个话题比较敏感不同城市差异也大。我把近期接触到的招聘信息和行业朋友的反馈整理成一个区间表给大家一个参考薪资均为税前币种为人民币岗位方向工作年限一线城市北上深二线城市成都/武汉/杭州MCU开发工程师应届生12k-18k/月9k-14k/月MCU开发工程师3-5年经验20k-35k/月15k-25k/月MCU开发工程师5年以上可做系统架构35k-55k/月25k-40k/月BMS/电机控制专家5年以上40k-70k/月30k-50k/月嵌入式Linux驱动工程师应届生15k-22k/月11k-17k/月嵌入式Linux驱动工程师3-5年经验25k-40k/月18k-30k/月嵌入式Linux应用工程师3-5年经验20k-32k/月15k-24k/月必须强调一下这只是统计区间不是承诺。嵌入式薪资有一个很有意思的特征它不属于“起薪爆炸”的类型不像某些大厂算法岗应届生就能开到50万。但它的薪资曲线非常平滑而且越老越吃香。我做招聘面试的时候遇到45岁的嵌入式系统工程师依然很吃香这在互联网业务研发里是难以想象的。2.3 哪些细分赛道最值得押注如果想在这行走得远除了通用MCU和Linux开发经验之外建议在以下细分方向里选1-2个深耕第一是汽车电子这是目前嵌入式领域最大的增长引擎。智能化和电动化让一辆车的代码量暴增从传统ECU升级到域控制器再到中央计算平台每一步都需要大量嵌入式工程师。尤其是BMS和电机控制器这两个细分因为涉及安全和算法敢真正上手的人少薪资水平一直处在行业顶端。第二是工业控制。中国的制造业升级离不开自动化改造PLC、伺服驱动器、运动控制卡、工业机器人控制器这些都是嵌入式Linux和MCU的混合战场。工业场景讲究稳定性和实时性对技术深度的要求非常高也正因为如此经验积累形成的壁垒非常结实。第三是物联网和智能硬件。这个方向不如前两个“高大上”但岗位基数大、入门难度适中非常适合作为第一份工作。低功耗设计、无线协议栈接入、云平台对接这些技能组合起来在智能家居、智慧园区、可穿戴设备领域都很有市场。我的个人判断是2026-2028年汽车电子和机器人的嵌入式需求还会继续上涨MCU端的人才缺口尤其大。如果你现在开始准备正好能赶上这波窗口期。3. 2026年的学习路线一条可抄作业的分层路线接下来是这篇文章最有实操价值的部分。我不喜欢给一个笼统的“先学C语言再学STM32”的大纲那等于没说。我把整条路线拆成分阶段的目标、关键产出物和自测标准你照着走就行。3.1 阶段一C语言与计算机基础夯实1-2个月嵌入式开发的第一关不是单片机而是C语言。你不需要把C语言学到写成《C陷阱与缺陷》的水平但以下这几块必须扎实指针与内存管理指针的本质是地址。你要能理解数组下标和指针运算的关系理解const修饰指针的两种含义理解堆和栈的区别理解为什么嵌入式里要避免动态内存分配。结构体与链表嵌入式代码里大量使用结构体来抽象硬件和协议数据。单链表、双向链表这些基本数据结构必须能手写因为很多任务调度和缓存管理都用得上。位运算这是嵌入式特别依赖的编程技巧。寄存器的操作本质上就是在操作位——置位、清零、翻转、取出某几位。、|、^、~、、这六个运算符要达到条件反射的程度。编译与链接基础至少要知道预处理、编译、汇编、链接这几步分别做什么理解.h和.c文件的关系理解static、extern关键字在多个文件编译时的作用。学习资源方面我不建议上来就啃大部头。《C Primer Plus》可以当工具书查系统性看其实有点耗时间。B站上有不少免费的C语言课程跟着敲代码就完事了。关键是多写、多调试不是多读。自测标准给你一个需求比如用C语言实现一个环形缓冲区你能在两个小时内写完并测通过就算达标。除了C语言这个阶段还需要补两门基础课数字电路基础不要求会设计电路但至少要知道高电平低电平、上拉下拉电阻、I2C/SPI/UART这些通信协议的基本时序和计算机组成原理重点理解CPU怎么取指执行、中断是怎么回事、内存映射I/O是什么概念。不需要学得多深但要让大脑里有一个“代码跑在硬件上”的基本画面。3.2 阶段二51与STM32双轨并行2-3个月很多教程会让你从51单片机开始再过渡到STM32。我的看法是51可以快速过一遍但不要停留太久。51的价值在于让你理解最朴素的MCU工作方式——Flash、RAM、寄存器、GPIO、定时器、中断这些概念在51上最直观。但51的开发环境太古老了市面上的工程实践早就转向ARM Cortex-M内核。具体操作路径是这样的拿一块51开发板或直接Proteus仿真用两周时间点亮LED、驱动数码管、读取按键、用定时器做延时理解GPIO和中断的基础用法。立刻切换到STM32F103C8T6这是一个“国民级”的入门芯片教程多、资料全、价格便宜十几块钱一片。在STM32上用标准库注意不是现在的HAL库写一遍GPIO、外部中断、定时器、UART收发、ADC采集、I2C读取温湿度传感器、SPI驱动OLED屏幕把这八大外设全部过一遍。学会用STM32CubeMX生成工程框架再用HAL库重写一遍上面这些外设。标准库帮你理解寄存器操作的本质HAL库帮你匹配目前真实工作中95%的开发方式。这个阶段最容易踩的坑是“看视频一时爽动手全忘光”。我的建议是不要跟着视频一行行抄代码而是看完一个外设的视频之后关掉视频自己对着芯片手册或参考例程写一遍。写完烧录出现Bug自己查。在这个阶段踩的每一个坑比如USART进不了接收中断、SPI时钟极性配反了都会成为你后面吃饭的本钱。自测标准给你一块STM32最小系统板和一个DHT11温湿度传感器你能在半天内实现温度湿度采集并通过串口打印出来阶段二就算过关了。3.3 阶段三RTOS与应用思维1-2个月裸机开发达到熟练之后你会发现一个瓶颈当逻辑越来越复杂——比如同时处理按键扫描、显示刷新、传感器采集、通信上报——前后台大循环会变得很难维护。这时候就需要引入RTOS。国内面试最常问的RTOS是FreeRTOS因为它免费、开源、资料多。要重点掌握以下概念任务Task与任务调度理解为什么FreeRTOS能看起来“同时”运行多个任务理解任务优先级和调度策略。队列Queue任务之间怎么传数据队列和全局变量有什么区别。信号量与互斥量什么是资源竞争什么是优先级翻转互斥量为什么能解决这个问题。软件定时器、事件组、任务通知这些是更高级的同步原语不用全部精通但要能说出来使用场景。内存管理FreeRTOS有几种heap策略各自的适用场景是什么。我的建议是先把FreeRTOS的官方文档过一遍然后在自己的STM32板子上跑三四个任务一个任务采集传感器一个任务刷新OLED一个任务处理串口指令。实现一个“如果串口收到指令则采集并上报一次数据”的完整逻辑。这个过程能帮你彻底搞清楚任务间通信是怎么回事。在这个阶段很多人会陷入一个误区以为学会了RTOS的API调用就是学会了RTOS。其实面试官真正想考察的是你有没有建立“资源管理”和“并发安全”的思维。所以学习的时候要多问自己如果两个任务同时往同一个串口发送数据会发生什么怎么避免如果你能把“用互斥量保护共享资源”讲成一个小故事面试基本就稳了。3.4 阶段四嵌入式Linux选学与进阶2-4个月如果你瞄准的是嵌入式Linux岗位或者想在MCU之外再拓展一个维度这个阶段可以按下面的主线走先搞懂Linux基本操作尤其是文件权限、进程管理、网络配置、Shell脚本。你不需要成为Linux运维专家但要能在命令行环境下自如工作。学习C语言在Linux环境下的开发gcc编译器的常用参数、Makefile怎么写、gdb怎么调试。这个阶段的目标是摆脱IDE适应纯命令行开发。理解Linux应用层如何访问硬件在Linux里设备通常被当作文件来访问。你要学会open/read/write/ioctl这套系统调用理解用户空间和内核空间的区别。设备树与内核模块这是驱动开发的核心。先看懂设备树的基本语法再写一个最简单的内核模块加载内核然后在QEMU或真实板卡上尝试写一个char设备驱动。移植U-Boot和内核如果你有开发板可以从烧写U-Boot开始一步步把整个启动流程走一遍。这个过程对建立系统观很有帮助。我个人的经验是嵌入式Linux比MCU方向陡峭很多自学周期也更长。如果你是从零基础开始四个月时间能学到“看懂驱动代码、能改驱动、能交叉编译应用”就已经很优秀了。大多数非科班的同学建议第一阶段还是先冲MCU岗等有了实际项目经验之后再把这个阶段作为在职提升的方向。3.5 项目作品怎么从“学完”跨越到“能找到工作”这是整条学习路线里最关键的环节。很多自学的人学了一堆技能但简历上写不出一个像样的项目面试时也讲不清楚自己解决了什么问题。我的建议是准备两个拿得出手的项目一个偏MCU方向一个偏系统或物联网方向每个项目都要遵循以下框架项目背景这个项目解决什么真实问题比如“为小型农场部署一套多节点环境监测系统”比“智能家居项目”更接地气、更容易讲清楚。硬件选型为什么选这块芯片为什么选这个传感器成本、功耗、精度之间怎么权衡系统架构画清楚MCU内部跑哪些任务外部跟哪些模块通信有哪些数据流。关键难点与解决方案这是简历的重点也是面试官最感兴趣的部分。比如“在FreeRTOS上实现了多任务调度用消息队列解决了OLED刷新和传感器采集的同步问题”。一定要具体体现你真的动手踩过坑。我在面试筛简历的时候最反感的项目经历就是“基于STM32的智能家居系统”——十个简历里有八个这么写还什么细节都没有。真正能打动人的是“基于FreeRTOS的双节点环境监测系统通过ESP8266接入MQTT服务器实现了断线自动重连和数据缓存补传解决了弱网环境下的数据丢失问题”。你看同样难度的事后者的表达方式就显得你思考过、折腾过。4. 把自己放进真实项目里一个BMS相关MCU开发的全链路拆解理论说再多不如看一个真实场景下的完整开发脉络。我拿一个新能源汽车电池管理系统BMS里的从控单元来拆解让你直观感受一下“学完那些基础之后落到真实项目里是什么体验”。4.1 需求边界BMS从控到底要干什么整车动力电池包分成好几个模组每个模组配一个从控板CSC负责采集这一组电芯的电压和温度。从控MCU需要完成的核心任务包括多通道电压采集通过AFE芯片比如美信或TI的电池监控芯片读取电芯电压并对AFE进行寄存器配置。温度采集通过NTC热敏电阻分压配合ADC读取温度值再查表换算成实际温度。均衡控制当电芯之间的压差超过阈值时MCU控制均衡电阻电路让高电压电芯放电实现电压均衡。通信上报从控通过SPI与AFE通信再通过CAN总线或者菊花链方式把采集到的数据上报给主控BMU。注意这个MCU大概率不是STM32而是车规级的芯片比如NXP的S32K1系列、英飞凌的TC2xx系列或者瑞萨的RH850系列功能安全等级要求达到ASIL-C甚至ASIL-D。但核心的开发逻辑跟你学的Cortex-M是相通的——配置GPIO、配置SPI、配置CAN、管理中断都是那套东西。4.2 关键难点读AFE为什么不能“读就完了”刚上手的人最容易犯的错是把AFE当成普通传感器觉得写个SPI读取函数就完事了。实际项目里会遇到非常多的坑时序收紧车规AFE的SPI通信往往有严格的时序要求。你在STM32上随便写的HAL_SPI_TransmitReceive可能没有关注到时钟极性、相位和最大频率限制上车规芯片后就是通信不稳定、偶发误码。寄存器读取可靠性高电压环境干扰大单次读取的数据可能是错的。正确的做法是连续读两次甚至三次做比较或者读完之后把CRC/校验位拆出来验证一遍。AFE通信有状态机上电之后AFE内部要完成一轮初始化自检你要等待其状态转换完成再发读写指令否则前面的配置会被静默丢弃。隔离和地平面问题从控板通常在高压侧MCU在低压侧中间靠隔离芯片。一旦隔离芯片配置错误你测到的电压值会整体偏一个OFFSET排查起来非常折磨人。这些坑你在大学或自学阶段基本遇不到因为开发板干干净净、电源纹波小、干扰少。但真实产品里先保证稳定性再谈精度——这个思路是嵌入式工程师和实验室选手的核心差距。4.3 调试手段示波器和逻辑分析仪才是你的眼睛做嵌入式调试有很大一部分时间不是在“写代码”而是在“看波形”。我强烈建议从自学阶段就养成用工具的习惯不要只靠串口打印走天下。逻辑分析仪排查UART、SPI、I2C等数字协议问题时的神器。十几年前的嵌入式工程师靠猜现在一根几十块钱的逻辑分析仪接上总线上的每一比特都清清楚楚。我排查过不少“对方设备没有应答”的问题最后都是通过逻辑分析仪发现自己的CLK空闲电平配反了。示波器看模拟信号和时序关系必需。比如测量PWM波的频率和占空比、检查CAN总线差分电平是否为2V左右、观察上电瞬间电源轨有没有跌落。万用表不要小看它。排查上电不启动问题先用万用表量每个电源轨的电压是否正常再量复位引脚电平再量晶振是否起振。这比拿代码Debug快得多。我的习惯是硬件问题优先用硬件工具定位软件问题才用调试器。很多人遇到代码怎么调都不对折腾半天最后发现是某颗电阻虚焊了——这种时间浪费完全可以避免。5. AI时代嵌入式开发者的实战工具与避坑提醒前面一直在讲基础和技术体系最后这部分聊点时代感强的。AI工具确实在改变嵌入式开发的某些环节但怎么用、用到什么程度这里面的门道也不少。5.1 VSCode Claude Code在MCU开发里能干什么最近大家都在聊VSCode集成Claude Code很多做MCU工程的同行也开始尝试。实测过一段时间我的结论是AI在MCU工程里有用但要用对地方。比较擅长的场景包括生成寄存器初始化代码你告诉它“使用STM32F4的HAL库配置USART1为115200-8-N-1开启接收中断”它能生成一份可用的基础代码。当然这需要你懂因为芯片型号选错或者外设时钟源理解偏差生成的代码很可能跑不起来。翻译数据手册把英文手册里某段寄存器的位定义丢给它让它用中文解释并给出配置示例这个效率提升非常明显。辅助理解他人代码接手一个老项目把一团历史遗留代码扔给它让它帮你梳理状态机是怎样的、中断处理函数的调用链是什么比人眼逐行看快很多。在MCU工程里不太好用的场景是需要结合具体硬件波形排查问题时AI基本帮不上忙。比如你问它“为什么我的I2C总线在第九个时钟之后没有收到ACK”它给的常见排查方向可能是对的但真实原因常常是上拉电阻阻值不对、从机地址配错、总线被占用等非常具体的情况AI无法替你做测量和验证。我的使用建议是把AI当成“水平很高但不会用示波器的助手”而不是当成“全知全能的方案提供者”。它负责生成、翻译、总结、解释你负责决策、测量、验证。这个分工决定了你是驾驭AI的工程师还是被AI带着跑的代码搬运工。5.2 学习过程中最值得避开的那几个坑这一路走过来我见过太多人在嵌入式学习上走弯路集中表现在这几个方面过度纠结开发环境。有人花了一周时间折腾Keil破解、J-Link驱动、STM32CubeIDE版本兼容性问题一个LED都没点亮。其实这类问题大多是“先动手跑起来再说”就能解决的。我个人的建议是初期直接选一个生态最成熟的组合STM32F103C8T6 STM32CubeIDE ST-Link V2装好了就不要再折腾环境了。买一堆开发板却一块都没学透。ESP32、STM32、树莓派、51、Arduino看到别人推荐就买结果是每块板子的例程都跑了一遍但每一块都只停留在“点亮LED”或者“跑个示例”的层次。正确做法是盯着一块板子往深了学学透了自然能迁移到其他平台。只跟视频不读手册。视频教程帮你走通流程但真正有价值的信息在芯片手册和参考手册里。刚开始读手册确实痛苦外设寄存器结构复杂、术语密集。但你是要成为工程师的人不能永远停留在“B站教了什么才会什么”的层次。我自己的经验是拿到一个外设先看“Overview”和“Functional Description”再看寄存器章节优先级高的寄存器重点看优先级低的大致浏览。带着问题去读效率最高。忽视调试能力。很多自学者花大量时间学怎么写代码却几乎不学怎么调试代码。结果就是遇到Bug只能瞎猜或者重新下载一遍例程看能不能碰巧通过。调试能力某种意义上比编码能力还重要因为真实工作中花在调试上的时间往往占六成以上。5.3 实用英文能力比你想的更重要嵌入式开发跟英文的关系比大多数技术方向都紧密。芯片数据手册几乎全是英文官方SDK的注释和API说明也是英文报错日志经常夹杂英文术语社区问答比如Stack Overflow、各大芯片厂商的论坛更是英文为主。这里说的不是要你英语多好而是要有“硬着头皮读英文文档”的勇气和方法。很多同学一看到英文手册就发怵直接放弃去搜中文翻译版。但翻译版本往往滞后而且术语翻译不统一看了反而更糊涂。我自己的做法是先读标题和图表再看自己关心的寄存器表遇到不认识的单词用词典查前缀后缀结合上下文猜。一本几百页的手册真正需要逐字读的也就几十页。而且读多了你会发现嵌入式英文文档的词汇量很窄翻来覆去就那么几百个术语两三个项目下来基本就能无障碍阅读了。这个能力一旦建立你获取信息的速度和深度会甩开大多数人因为国内的中文优质嵌入式教程和资料说实话还不够充分。写在最后说回到标题那个问题嵌入式开发还值得学吗我的答案很明确——值得。但值得的前提是你能忍受前期学习的枯燥愿意在寄存器、时序、波形这些看起来不够“酷”的东西上花时间并且有意识地把每一次Bug排查都当成经验积累。这个行业不像互联网业务开发那样有三十五岁焦虑相反经验在这个领域的壁垒作用非常显著。一个调过五年电机控制的工程师和一个只做过两年相关工作的工程师对同一个问题给出的判断速度和准确性相差极大这种差异不是AI短期内能弥补的。如果你已经下定决心我给你最后一个实操建议从今天开始每天至少拿出两个小时动手写代码不要围观、不要存资料、不要做笔记狂魔。嵌入式是一门手艺人学科手指上的感觉比脑子里的理论更重要。等你亲手点亮第一块屏幕、第一次通过串口收到传感器数据、第一次在示波器上看到自己配置出来的PWM波形时那种满足感会告诉你这条路没选错。