嵌入式自学路线:从C语言、STM32到Linux,免费且可行
前两天一个读者私信我说他准备辞职去报一个三万的嵌入式培训班。我问他你现在手里有开发板吗他说还没有。我又问他你C语言能独立写个链表吗他沉默了半天说忘得差不多了。我说那你先别急着掏钱。三万块不是小数目但嵌入式这个行业最讽刺的一点是最贵的资源早就免费了。从C语言到STM32从FreeRTOS到嵌入式Linux市面上真正能打的教程几乎全都能在B站、开源社区和芯片厂商的官方文档里白嫖到。培训班的钱主要不是花在内容上而是花在“有人管你”这件事上。这篇文章我花了两天时间重新整理把整条从零基础到嵌入式就业的学习路线重新捋了一遍。没有报班没有付费课程所有资源都是公开的预算控制在几百块以内。适合正在犹豫要不要报班的人、自学卡在半路的初学者、以及想从其他方向转岗进嵌入式的朋友。路线不会太轻松但绝对走得通。1. 三万块的培训费买到的到底是什么1.1 培训班的成本账其实没有你想得那么难算我做嵌入式快十年了这几年陆续有人问我培训班值不值得报尤其是那种动辄两三万、宣称“零基础包就业”的线下班。我不敢说所有培训机构都是坑但至少从技术内容的密度上看三万块对应的知识量你完全能在免费渠道获得同等甚至更高质量的东西。拆开看培训班的成本结构无非四块场地、师资、课程体系、就业服务。场地和运营成本跟你学到什么技术没有半毛钱关系这部分可能占到学费的三分之一师资的好坏差异极大很多讲师本身就是机构批量培训出来的项目经验未必比一个在行业里干了三年的工程师丰富课程体系的优势在于帮你排好了学习顺序但这也是免费路线里最容易自己补上的部分至于就业服务很多所谓的“内推”其实就是往合作企业的批量简历通道里塞人最后能不能面上还是看你自己的底子。我见过不少从培训班出来的同事简历上写的项目高度雷同一问细节就是背八股文的状态稍微深挖一下就被问住了。培训班把所有人都往同一个模具里套最后出来的作品几乎一模一样这在面试官眼里反而是减分项。1.2 培训真正卖的不是课程是“有人管着你学”我自己反思过为什么有人花三万块还是学不会因为嵌入式学习真正难的地方不在于知识点难懂而在于中间有一段漫长的、正反馈极弱的平台期。C语言指针搞不明白寄存器配了半天点不亮LEDLinux交叉编译链配了三天还报错——这种时候没人逼着你学你很容易就放弃了。培训班解决的就是这个问题。它用高额学费制造沉默成本用固定的上课时间和同班同学制造外部约束力让你不好意思不去上。你花的钱本质上是在买一个“你不得不学”的环境。但环境这个东西自己也能造。加入一两个活跃的技术交流群找一个水平比你高一点的人当“远程导师”给自己定一个固定的学习时间表效果不会差太多。前提是你要接受一个现实免费路线的节奏完全靠自己掌控没人替你安排每天学什么这对自律能力是有要求的。1.3 什么样的学习者才需要培训班说句公道话培训班不是完全没意义。我大概总结了一下这四类人报班可能确实更合适完全没有任何理工科基础需要从初中物理和数学补起的人自制力极差连续自学三天都坚持不下来的人急需在三个月内转行就业愿意用钱换时间的紧迫者喜欢线下面授互动、需要有同学一起交流的学习者。但这篇文章更多是写给想走免费路线的人看的。如果你已经确定要自学那么接下来的这条路线就是给你准备的。我不能保证你走完一定就业但这份路线里每一个阶段该学什么、该练什么、该避哪些坑都来自我和身边同事的真实经历。2. 先搞清楚嵌入式到底是什么再谈学习路线2.1 那批热搜词背后是一张完整的嵌入式知识地图如果你在搜索引擎里搜“嵌入式”跑出来的热搜词大概是这样的嵌入式学习路线、嵌入式开发板、单片机与嵌入式的区别、嵌入式Linux、基于STM32F4的FFT频谱分析系统、嵌入式面试题、嵌入式八股文、蓝桥杯嵌入式……这些词看着零散但把它们拼在一起其实正好构成了一张完整的嵌入式知识地图。你可以把嵌入式系统想象成一座三层小楼最底下是硬件层芯片、电路、传感器、执行器中间是系统层要么是裸机代码要么是RTOS实时操作系统再往上就是嵌入式Linux这种带操作系统的方案最上面是应用层跑业务逻辑比如采集数据、处理数据、显示数据、上传云端。每一层都有对应的岗位需求也都有对应的面试题。很多人一上来就晕是因为不知道这层关系。一会儿听说要学STM32一会儿听说要学Linux一会儿又听说要搞AI边缘计算全塞进来就懵了。先看地图再选路线这是最重要的第一步。2.2 单片机、嵌入式、Linux三者的关系一句话讲清楚热搜词里“单片机和嵌入式的区别”排得很靠前说明这个基础问题困惑了很多人。我用一个类比来回答单片机本身是一套完整的微型计算机芯片外设存储而嵌入式是以特定功能为目标的计算机系统的统称。单片机是实现嵌入式系统的常见载体但不是唯一载体。换句话说基于单片机的温控器是嵌入式系统跑着Linux的智能摄像头也是嵌入式系统甚至一个路由器、一台工控机都算嵌入式系统的范畴。学习路线里的“单片机”是入门的第一块敲门砖让你理解硬件逻辑而“嵌入式Linux”是更高阶的方向涉及操作系统、内核、驱动、文件系统对应的薪资和岗位层次也更高。所以别再纠结“我学的是单片机还是嵌入式”了。你学的是从单片机到嵌入式的完整阶梯只不过每一级台阶的深度不同而已。2.3 岗位方向选型表嵌入式软件、硬件、Linux驱动到底考什么我把常见的嵌入式岗位做了一个横向对比你先看看自己想往哪个方向用力岗位方向核心技能主要考察内容入门难度嵌入式软件工程师单片机方向C语言、STM32外设、RTOS外设配置、裸机开发、通信协议中低嵌入式Linux应用工程师C语言、Linux编程、网络编程文件IO、进程线程、Socket通信中嵌入式Linux驱动工程师内核、驱动模型、设备树字符设备驱动、中断、DMA高嵌入式硬件工程师电路分析、原理图、PCB设计模电数电、电源设计、信号完整性中高嵌入式测试/技术支持软硬件知识面广测试方法通信协议、测试工具、问题定位低这篇文章的免费路线主打嵌入式软件方向从单片机逐步过渡到Linux。原因是这个方向的自学条件最好一块便宜的开发板、一台普通电脑就够了不需要示波器、逻辑分析仪这些昂贵仪器而且岗位需求量最大。硬件方向不是不好但需要焊台、示波器、各种仪器自学的硬件门槛相对高。3. 0到3个月C语言与STM32单片机把地基打牢3.1 C语言到底要学多深才够用零基础学嵌入式的第一步是C语言这是绕不过去的。但没必要像计算机科班那样把数据结构、算法、操作系统全部啃完嵌入式领域对C语言的要求很具体指针、数组、结构体、位运算、内存管理、指针函数和函数指针、链表这几样必须扎实。我特别强调指针和链表因为后面学RTOS任务创建、学内核链表、学驱动的file_operations结构体时全都是这些东西。很多培训班学员写个流水灯没问题一进驱动课程就懵根本原因是C语言底子虚——结构体指针一嵌套就找不到北回调函数更是想都不敢想。免费资源方面首推的是B站上浙江大学翁恺的C语言课程讲解细腻、例子选得好零基础能听懂。如果觉得进度偏慢可以倍速看但练习题一定自己动手写。另一个选择是《C Primer Plus》配合网上的阅读笔记这本书适合当字典查不适合从头硬啃容易在头三章就劝退。C语言阶段不要求你成为算法大师但可以在学习过程中穿插练习一些小工具写一个逆转字符串的函数、写一个动态内存分配的单向链表、用位运算实现一个简单的状态标志管理。这些练习做完后面的嵌入式学习会顺很多。3.2 开发板与免费课程怎么选不花冤枉钱很多新手容易犯的一个错误是一上来就买几百上千元的旗舰开发板。我的建议很直接第一阶段买一块STM32F103C8T6最小系统板就够了那种几十块钱的“蓝药丸”开发板功能完全够你入门。等学完了F103还不够用、确定要深入嵌入式Linux时再考虑买更高性能的板子。这样试错的成本最低万一学不下去损失也只是一顿饭钱。教程方面我比较推荐的是B站上的江协科技STM32系列这门课的特点是项目驱动每节课都会做一个能看得见摸得着的小效果比如按键控制LED、PWM调亮度、OLED显示学习的过程比较有成就感。另外正点原子和野火这两家官方出的例程和文档全部公开配套视频在B站也能找到适合在江协的课看完之后回头查寄存器级的细节。开发板、面包板加上杜邦线、ST-Link烧录器、一个OLED屏、一个DHT11温湿度传感器、一个超声波模块、一个蓝牙串口模块总预算控制在两百块以内。再说一次不要一上来就买大全套缺什么模块再补什么模块这才是自学的正确姿势。3.3 裸机阶段必须练熟的外设与协议很多人卡在STM32的起步阶段其实不是智商问题而是没有掌握正确的学习和调试方法。我建议按下面的顺序来学每学完一个都自己动手写一遍例程GPIO输出点亮LED这是嵌入式世界的“Hello World”。GPIO输入与外部中断按键检测理解轮询与中断的区别。定时器与PWM呼吸灯、蜂鸣器控制理解计数器溢出、预分频和比较匹配。USART串口串口打印调试信息、串口收发。一定要重点学这会是未来几乎所有调试的“眼睛”。ADC采集读取电位器和传感器的模拟量。I2C与SPI协议OLED屏用I2CSPI的W25Q64Flash芯片等这两个是嵌入式世界里最常用的通信协议。学串口的时候我想多说两句。很多初学者觉得串口就是个打印调试信息的小工具不重视。进公司之后你会发现真正常用的调试手段之一就是串口如果再加一个上位机就是控制台。板子上跑什么逻辑、数据从哪里出错、某段驱动有没有执行到全靠串口输出日志来定位。学会在代码里埋日志比学会背100个寄存器名字都重要。你的调试习惯最好在裸机阶段就建立起来初始化完一个外设先打印一句“外设名 init ok”出错信息也打个明确的标记。这个小习惯能帮你省下不计其数的抓狂时刻。3.4 用蓝桥杯真题和一个小项目做阶段验证学了理论知识必须做点东西检验一下。我强烈建议你找历年“蓝桥杯”嵌入式的省赛和国赛真题来当自测题。热搜词里有“第十七届蓝桥杯嵌入式国赛真题”这类题目考察的是几大外设的综合运用比如按键、串口、定时器PWM、ADC配合起来完成一个功能。难度和真实岗位的初级任务很接近但场景更完整材料也公开可获得。做真题的时候不要直接搜答案。自己先看需求拆解成几个功能模块再逐个实现、联调、测试。能独立做完两三套真题你对STM32的掌握已经超过大部分只抄例程的初学者了。另外一个更具体的阶段性项目我建议做温湿度采集系统DHT11采集温湿度STM32F103处理数据OLED屏显示当前温湿度再接一个按键切换显示模式。这个项目很小但覆盖了传感器读取、数据处理、显示驱动、按键中断整套链路比单纯跑例程踏实得多。记住一个原则每个阶段结束必须有一个能拿得出手的、独立完成的成果。这是你未来简历上的第一块砖。4. 3到5个月从裸机到RTOS理解多任务系统的世界4.1 什么信号出现说明你该学RTOS了裸机开发学得比较熟之后你会发现有些项目越做越别扭。比如程序里到处都是延时函数一个按键要扫描还要防抖OLED显示要刷新串口数据要解析传感器要定时采集——所有事情挤在一个while(1)大循环里逻辑越来越乱加一个新功能就担心影响旧的。这就是该上RTOS实时操作系统的信号了。RTOS解决的核心问题就是资源管理和任务调度。你不用自己在主循环里手工切来切去系统会根据任务优先级自动决定哪个任务先跑。这就好比你自己做饭的时候切菜、炒菜、煮饭全是一个人干RTOS像是有多个厨师每个厨师负责一道菜后台有个领班根据紧急程度安排谁先开火。在自由学习和就业市场里FreeRTOS是绝对的入门首选。它免费开源、支持的芯片多、资料海量很多MCU厂商甚至直接把它集成到自己的SDK里。4.2 FreeRTOS核心概念与免费学习资源FreeRTOS阶段你不需要把源码每一个配置都啃透但几个核心概念必须真正理解而不是背定义任务创建任务时指定的入口函数、栈大小、优先级是什么含义调度时间片轮转和基于优先级的抢占式调度怎么配合信号量与互斥锁二值信号量、计数信号量、互斥信号量各自解决什么问题消息队列任务之间怎么安全地传递数据事件组多个任务之间如何用事件位进行同步。免费资源方面野火和正点原子的FreeRTOS视频已经非常成熟直接看B站上的配套课程即可。另外我建议配合官方文档阅读不必全部看懂但要知道遇到问题去哪里查。一个比较高效的学习方法不要只看视频操作而是把学过的每一个API都写进自己的工程里跑一遍。比如xTaskCreate创建任务xSemaphoreTake获取信号量xQueueSend发送消息然后观察任务的执行顺序、打印日志验证。看别人跑一百遍不如自己动手跑一遍。4.3 实测建议把旧项目改成多任务版本学RTOS最有效的方式是把之前写的温湿度采集系统拿来重构。你可以把它拆成三个任务Task_Sensor定时采集DHT11温湿度数据把数据通过消息队列发送给显示任务Task_Display接收队列数据刷新OLED屏幕Task_Key检测按键中断通过事件组通知显示任务切换显示模式。通过这个重构你能切实体会到为什么裸机时代那么麻烦有了RTOS之后代码结构会清晰很多。你还能练到一个重点技能任务间的数据交互怎么设计。数据用队列传还是用全局变量加锁传读传感器慢会不会阻塞显示任务这些问题只能实际动手才能理解透彻。进阶的练习是做一个小型环境监控节点三个传感器任务独立采集一个显示任务更新屏幕一个通信任务通过蓝牙串口把数据周期性发送给手机。这个小项目的代码量不大却把RTOS的常用组件全部过了一遍写完之后你对“嵌入式软件工程师”岗位的日常工作会有比较真实的感知。4.4 RTOS阶段常见的三个坑RTOS入门有几天是会很挫败的你可能会遇到下面这些情况第一堆栈溢出。创建任务时要指定栈大小如果栈给得太小任务运行到一半就越界了程序表现非常诡异有时直接死机有时运行一段时间后随机重启。我的经验是初始值给得偏大一些跑一段时间后用uxTaskGetStackHighWaterMark查看实际使用量再慢慢调小。第二优先级分配不合理。不是所有任务都应该设成高优先级传感器采集和显示刷新对实时性要求没那么高但按键响应最好及时点。一般把需快速响应的任务放高优先级把耗时操作放低优先级否则某个任务长时间霸占CPU低优先级任务彻底饿死。第三优先级翻转。低优先级任务持有了高优先级任务需要的互斥锁导致高优先级任务被低优先级“拖着走”。解决方案是使用互斥信号量配合优先级继承机制这部分面试特别喜欢问一定要理解原理最好能自己写一个示例项目复现现象。5. 5到8个月嵌入式Linux从应用层一路打通到驱动5.1 Linux基础与交叉编译环境的搭建思路做完RTOS项目你的单片机能力已经比较扎实了但如果目标岗位是嵌入式软件工程师终究绕不开嵌入式Linux。用工控、车载、智能硬件产品绝大多数跑的是嵌入式Linux而不是裸机RTOS。这时候要继续往上走进入Linux的世界。第一步是Linux基础。你不需要成为运维但必须会常用的Shell命令、文件权限管理、vim编辑器的基本操作、软件包管理。如果你电脑上没装Linux我建议先用虚拟机装一个Ubuntu也可以考虑Docker容器来搭开发环境热搜词里“ubuntu docker嵌入式环境”说明这条路径关注的人很多。Docker的好处是一次搭好、到处复用不会把宿主机弄乱缺点是初学者容易在容器和宿主机的文件共享上卡住所以完全零基础的话虚拟机更稳妥。第二个关键概念是交叉编译。嵌入式开发板上算力弱没法在上面直接编译大工程所以一般在PC上用arm-linux-gnueabihf-gcc或aarch64-linux-gnu-gcc这类的交叉编译工具链编译出目标板上能运行的二进制文件再通过网络或存储卡传输到板子上运行。这里很多新手会被卡住我先给一个容易做的小目标写一个最简单的hello.c用交叉编译器编译。然后拷到你的Linux开发板或是QEMU模拟环境上运行打印出hello embedded linux。这行字出来了说明你的工具链、文件拷贝、运行权限这三件事全部打通了你就算正式进入了嵌入式Linux开发的状态。5.2 从文件IO到网络通信应用层先跑通嵌入式Linux应用开发把你之前学的C语言和Linux API穿起来了。我建议按这个顺序学文件IOopen、read、write、close理解“一切皆文件”的思想这跟单片机的串口调试很像很多设备在Linux下就是文件节点进程与线程进程、线程的创建与回收线程同步的几种方式条件变量、互斥锁、信号量进程间通信管道、共享内存、信号、消息队列了解不同方式适用的场景Socket网络编程TCP和UDP的客户端服务器模型这个技能在嵌入式设备上太常用了几乎所有设备联网都要走Socket或者基于Socket的封装协议Makefile/CMake了解编译过程学会写简单的构建脚本不要只会在IDE里点按钮。学习视频上可以看韦东山老师的嵌入式Linux公开系列他有不少入门内容是免费放出的讲解风格比较接地气。同时配合一本《嵌入式Linux应用开发完全手册韦东山版本》之类的书籍来查漏。这一阶段学到一半一定要结合动手用板子上的GPIO控制LED、读取温湿度传感器、通过Socket把数据发到上位机。把之前STM32的项目用嵌入式Linux方式重做一遍这是理解单片机开发和Linux开发差异最好的实战方式。另外热搜词里有一项“嵌入式linux u盘测速方案”这种贴近实际的应用场景就很典型U盘在Linux下会映射成一个块设备节点通过dd命令读写测速再对比不同文件系统的性能差异。别看这是个小事它能帮新手理解设备节点、文件系统挂载、I/O操作这些东西比闷头看书有效得多。5.3 字符设备驱动与设备树从hello world开始应用层跑通以后如果想往驱动方向走一步核心是字符设备驱动。虽然很多岗位不一定要求你会写驱动但理解驱动的运行机制对你排查问题非常有帮助。驱动的入门教材也离不开“hello world”。你先要了解Linux模块机制驱动不是一个完整的应用程序而是以模块形式加载到内核中的用insmod加载、rmmod卸载。写一个注册字符设备的驱动实现open、read、write几个接口再用一个应用层程序去测试——这个流程走通你就理解了用户态和内核态的边界以及文件操作背后是怎么被驱动的。设备树Device Tree是另一个进阶重点。现在的ARM Linux都靠设备树来描述硬件信息比如芯片有哪些外设、中断接到哪个引脚、I2C设备挂在哪条总线上。你要学会看设备树文件并在板级支持包里添加一个自定义设备节点。不需要背每一行设备的语法但必须能读懂、能修改、能把自己写的驱动挂到正确的节点上。这个阶段非常容易受挫因为内核资料庞杂编译一个模块出错信息五花八门。我自己的经验是先彻底跑通一个最小demo不要贪多一个字符设备驱动、一个按键中断、一个定时器全都跑通了再谈发挥。5.4 简历级项目怎么做FFT频谱分析、环境监控与开源项目二开到了这个阶段你已经有能力做能写进简历的项目了。热搜词里那条“基于STM32F4的嵌入式FFT频谱分析系统”是个很典型的方向。这类项目的核心逻辑是用ADC采集音频信号做一定点数的FFT变换把结果用OLED或者上位机可视化出来。别觉得FFT很吓人它本质就是一个数学库调用难的是系统设计采样率怎么定缓冲区多大FFT结果如何映射到显示坐标MCU性能不够时要不要用DMA。把这些想清楚你的硬件采集能力、嵌入式算法移植能力和调试能力全都能展示出来。另一个方向是嵌入式环境监控系统多个传感器采集温度、湿度、光照、空气质量本地显示加远程上报。远程上报可以走MQTT协议用ESP8266模块或者开发板自带的有线网口数据上传到公共MQTT服务器手机订阅查看。这个项目做成你的简历上就有了“物联网”和“协议对接”的关键词面试时跟硬件和后台工程师都能对上话。还有一个很实用的路子是在GitHub上二开开源嵌入式项目。比如找一个开源的OLED屏幕库、TinyML库、或者带UI框架的开源项目自己把功能改掉一部分增加一个模块修一个issue把过程写成技术笔记。开源二开的经历在面试时非常有说服力因为面试官知道代码是公开的反而会针对你的改动细节深挖“你改了哪个文件为什么这么改跑起来效果怎么样”——回答得好比简历上写“精通XX”值钱多了。6. 8到就业简历、笔试、面试的全链路准备6.1 简历上写什么面试官才愿意深聊开始找工作之前最需要花心思的是简历。很多自学转行的人喜欢在简历上堆一堆课程名称比如“熟悉C语言、STM32、FreeRTOS、Linux”每项都点到但又没有任何证据支撑面试官看一眼就失去了兴趣。更好的做法是按项目来展示能力每个项目写明四件事背景、你的职责、技术方案、最终效果。举个例子环境监控节点基于STM32F103FreeRTOS负责三个传感器任务的数据采集、OLED显示和蓝牙上报模块。使用消息队列进行任务间通信解决了传感器阻塞导致显示卡顿的问题。整机功耗降低约30%支持连续运行72小时。这样一段描述面试官一眼就能抓住重点也自然会产生提问的兴趣。记住每个项目一定要附上真实的代码或演示链接GitHub仓库没有内容比不放链接更减分。宁缺毋滥把两三个项目写到极致胜过罗列十个半吊子项目。6.2 C语言八股文与嵌入式笔试高频题热搜词里“嵌入式八股文”排得非常靠前这是行业现状——嵌入式岗位的笔试基本就是靠八股文筛选。别反感这个现象把这些内容背熟了对你其实是有利的因为它们都是实际开发中真正常用的知识点。嵌入式C语言笔试高频方向我按出现频率排一下指针与数组a和a的区别、指针数组与数组指针、函数指针的声明内存管理malloc/free与嵌入式系统中的静态内存分配栈和堆的区别const、static、volatile各自的作用以及组合用法volatile为什么在嵌入式里如此重要结构体对齐计算结构体大小理解为什么要字节对齐大小端如何判断主机大小端如何做字节序转换位操作置位、清零、翻转、提取某几位预处理器宏定义与函数的区别头文件重复包含的解决链表单链表反转、双向链表的插入删除。这些题目在搜索引擎里有大量整理好的题库随便搜“嵌入式C语言面试题”就能找到几百道。我的建议是不要只背答案每道题都要亲手写一遍代码验证。面试官很喜欢问“你说编译期和运行期的区别能不能举个例子”这类追问只有真理解才能答上来。6.3 面试中项目深挖问的是这些笔试过了之后面试主要就是问项目。这里的经验是你简历里写到的每句话都要准备好被追问三轮。举一个我在面试新人时经常问的例子候选人说“我用STM32F4采集音频信号做了FFT频谱分析”。我会接着问你ADC采样率设了多少为什么设这个值采样缓冲区多大用的是连续转换还是DMA传输FFT点数选了多少频率分辨率是多少OLED显示频谱的时候是怎么把FFT结果映射到几十列柱状图上的如果MCU跑不过来你怎么优化这些问题没有标准答案但只要你项目是自己一步步做的最多卡在措辞上不至于完全答不上来。反过来如果你的项目是抄教程抄出来的一旦被问到自己没有亲手调过的参数就很容易露馅。所以面试前建议你自己先对着简历写一份“项目答辩稿”把每个可能的追问和回答都列出来然后找一个朋友模拟面试一遍。这个过程可以帮助你提前发现自己知识体系里的漏洞比多刷100道题都有效。6.4 入门岗位怎么选嵌入式软件工程师 vs 硬件工程师 vs 测试开发学完上面这些内容你大概已经能判断自己更适合哪个方向了。如果你对硬件电路更敏感喜欢看原理图、拿示波器量波形可以考虑嵌入式硬件工程师方向但需要补充模电数电和PCB设计知识如果你对代码逻辑更感兴趣那就主攻嵌入式软件工程师如果觉得自己知识广度够但深度不足嵌入式测试开发也是一个不错的入门岗位尤其是在大厂测试开发接触的面很广后续转开发也很常见。入门薪资方面嵌入式软件在一线城市的应届大概在8K到13K之间二三线城市会低一些但工作经验过两三年后涨幅空间主要取决于你的项目深度和底层功底尤其是Linux驱动和系统移植方向人才缺口一直比较大。热搜词里的“嵌入式开发”“嵌入式软件工程师”“嵌入式硬件工程师”这些词长期热度不减也从侧面说明行业需求一直存在。免费路线最后的提醒如果你问我这条路边走边踩最大的坑是什么我的答案是急着找工作急着跳难度而不是急着实打实做完每一个阶段项目。我带过的自学转行的新人里有一位让我印象很深刻。他白天上班晚上和周末雷打不动学四小时前三个月没碰过任何高级内容就在跟C语言和STM32例程死磕。第四个月开始做蓝桥杯真题第六个月上FreeRTOS第九个月才把一个小型环境监控系统完整跑通然后开始投简历面了五家拿到两个offer。和他交流时我注意到一个共性他从来不收集一大堆资料然后吃灰而是盯着一套教程学到底每学完一个章节必须产出一个能演示的结果。遇到问题先自己用串口打日志定位实在解决不了带截图和代码描述去问别人。就这三条说实话比很多花三万进培训班的人都做得好。所以最后再分享一个小技巧把你已经完成的每一个小项目哪怕只是点亮一个LED都录一小段演示视频存起来。等半年后你回头看会发现自己走了多远。那时候再决定要不要报班答案已经显而易见。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →