嵌入式学习路线综述
本文由 01-学习路线与求职 与 10-项目实战 目录中的多篇学习路线/学习方法帖提炼综合而成,观点归原作者所有。
一、总原则:目标倒推,而不是知识正推
星球内容在学习路线问题上有一个高度一致的立场:嵌入式学习的第一目标不是"学得多",而是"拿到结果"。Jack 明确说过,学习的第一目标就是跳槽加薪找工作,上了更大的平台,后面学到的东西会自然让你再次增值,"沙滩上有这么多鹅卵石,难道都要捡起来吗"——知识的取舍要以目标为准(我们的课程说实话,第一目标不是学知识,第一目标就是跳槽加薪找工作,只要能找工作,Jack)。
同样的意思换一个表达:能成事的人,是在几个关键节点上把握住机会,其他时候保持心态、按学习路线循序渐进即可,"嵌入式我们不求早"(大一接触嵌入式,高中考上92,我算学的够早,Jack)。这与"行动优先、不要内耗"的姿态一致:不要拿自己的状态和别人对比,"以自己当前的手牌和目标来走……做了再说"(还是想的太多,想的很多事情自己觉得都是主要矛盾,细稳下来,山海无名)。
二、共识路径:从 C 与单片机,到 RTOS,再到架构
把多篇帖子拼起来,可以得到星球默认的成长阶梯:
- 语言与计算机基础。典型如 int8 的表示范围、补码、溢出行为这类"常考且必须回答正确"的基础题(嵌入式里面常考且必须回答正确的问题(一)int8的表示,Jack);再往深走是 volatile、编译器优化、寄存器与内存访问约束这类底层语义(在嵌入式开发里,几乎是一个“老生常谈”的关键字,刘子奇)。
- MCU 与外设驱动。这是简历与面试中"项目经历"的物质基础。
- RTOS 体系。刘子奇整理过一份 RTOS 面试知识清单,覆盖为什么用 RTOS、调度策略、任务状态、SysTick、任务切换、任务栈、信号量与互斥锁、中断中使用 RTOS API、栈溢出/优先级翻转/死锁三大典型问题——这份清单本身就是RTOS 阶段的学习大纲(结合了我们学员面试,总结了RTOS面试时常见问题:,刘子奇)。
- 架构与平台化。这是星球内容中着墨最多、也最能拉开差距的一层,详见下节。
三、进阶分水岭:架构思维
为什么尽早学架构:越是高手写代码越会在架构上达成共识,有了共识再去读操作系统、中间件的源码就"手到擒来",就像学会英语能走遍世界(为什么要尽早接触架构设计知识?,Jack)。学架构的终点不是模仿某套现有架构,而是"不再有架构思维定式",能针对具体问题自己做分层、解耦、抽象(另外我要说的一点是,学习架构最终学成的目标,Jack)。
架构能力的成长有明确的阶段性:从痴迷语言技巧,到理解解耦策略与链接、作用域,再到分析 Flash/SRAM/Cache/总线与临界区,最终"架构在眼里只是文件夹归类",能靠架构模型把整个团队的开发水平拉到一条线上(简单说说架构设计面向对象(大白,Jack)。立芯把这一进阶总结为三阶段演进:先分层(APP/BSP/中间件/OS),再做平台化与 Service 提炼,最后在平台上提炼对象模型、实现面向切面(立芯的架构体系:立芯证明了(很多学员)在架构上具有极大的提升,提升架构能力,Jack)。
要特别注意学习路径的岔口:抄 Linux/Zephyr 的架构 ≠ 学会架构。设备树只是架构原理的一种具体体现,做一个电风扇不需要搬设备树,强行照搬只会过度设计;正确的路径是站在设计者角度,用第一性原理设计自己的架构(架构教学-教原理而非抄Linux,Jack)。
四、容易被忽视的三个放大器
- 框架思维:用成熟框架和阶段目标降低试错成本(嵌入式在框架思维下可以快速进步,Jack)。
- 英语:想去外企或读一手资料,英语是硬通货——目标是能不看字幕看懂英文技术视频、能用英语介绍自己和项目(Jack老师,如果长远方向是往外企这类公司去跳槽的话,Jack;关于程序员的英语学习的意义和价,Jack)。
- 人脉与表达:技术只是职业发展的一部分,待人接物带来的人缘会把你一个人的知识库放大成"你+朋友们"的知识网络(技术只是你职业发展中的一小部分,因为技术你是一个人学,如果你待人接物让人舒服,Jack)。
五、阶段与市场现实
学习路线不能脱离就业市场的分层现实:0-1 年的小白场极度内卷,"智能小车"式项目被视为玩具;3-5 年经验场工作好找,但高薪需要真实水平。所以路线设计的重点是尽早做出"被验证过能干活"的证据——实习和真实量产项目(现在就业市场其实是这样的:,Jack;实习价值另见 嵌入式有毒日记-求职时间窗口篇,Jack)。
此外要接受一个事实:实现功能可能只要十行代码,把功能做稳定可能需要成百上千行——从学生到工程师的跨越,本质是接受并补上"误差修正"这一大段(学术和工业的区别 1.在学术,Jack)。
来源笔记
- 我们的课程说实话,第一目标不是学知识,第一目标就是跳槽加薪找工作,只要能找工作(Jack)
- 大一接触嵌入式,高中考上92,我算学的够早(Jack)
- 还是想的太多,想的很多事情自己觉得都是主要矛盾,细稳下来(山海无名)
- 嵌入式里面常考且必须回答正确的问题(一)int8的表示(Jack)
- 在嵌入式开发里,几乎是一个“老生常谈”的关键字(刘子奇)
- 结合了我们学员面试,总结了RTOS面试时常见问题:(刘子奇)
- 为什么要尽早接触架构设计知识?(Jack)
- 另外我要说的一点是,学习架构最终学成的目标(Jack)
- 简单说说架构设计面向对象(大白(Jack)
- 立芯的架构体系:立芯证明了(很多学员)在架构上具有极大的提升,提升架构能力(Jack)
- 架构教学-教原理而非抄Linux(Jack)
- 嵌入式在框架思维下可以快速进步(Jack)
- Jack老师,如果长远方向是往外企这类公司去跳槽的话(Jack)
- 关于程序员的英语学习的意义和价(Jack)
- 技术只是你职业发展中的一小部分,因为技术你是一个人学,如果你待人接物让人舒服(Jack)
- 现在就业市场其实是这样的:(Jack)
- 嵌入式有毒日记-求职时间窗口篇(Jack)
- 学术和工业的区别 1.在学术(Jack)