拓十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

电子信息本科四年嵌入式/芯片方向学习规划:从STM32到Linux驱动

电子信息本科四年嵌入式/芯片方向学习规划:从STM32到Linux驱动 电子信息本科四年听起来课表排得满满当当但真正到了大三回头看大家拉开差距的往往不是学校教了什么而是自己在大一到大四的每个关键节点做了哪些课外的正事。嵌入式/芯片这条线尤其如此——它既不像纯软方向可以靠刷题速成也不像纯硬件方向那样依赖高端仪器它更像是一门攒经验的手艺活攒的是调试经验、协议理解、对芯片手册的阅读能力以及踩坑之后长记性的次数。这篇规划是写给正在读电子信息、或者刚考上这个专业、准备往嵌入式或芯片方向走的同学。我会按四年时间线把每个阶段该重点攻什么、可以参加什么比赛、需要读到什么程度、简历上该有什么东西一条条捋清楚。内容会偏实操尽量少讲空泛的打好基础多讲具体怎么做和为什么要这么做。1. 先把嵌入式/芯片这张地图看清楚行业分工与常见误区很多同学大一刚入学时对电子信息的认知就是焊板子的修电脑的到了大三才知道这个专业能去搞芯片设计、搞Linux驱动、搞机器人、搞汽车电子。更常见的情况是大二学了模电数电之后发现自己既不喜欢纯模拟电路也不喜欢纯数学推导于是开始纠结嵌入式到底是干什么的芯片方向是不是一定要考研应用层开发是不是嵌入式这个问题甚至成了论坛热帖常客。1.1 嵌入式不是单片机的代名词它是一个金字塔结构我经常跟学弟学妹说如果你以为嵌入式就是Keil里点个灯、ST-Link下载个程序、串口打印个Hello World那只能说你站在了嵌入式金字塔的最底层。真实的嵌入式行业从上到下大致可以分成这么几层底层芯片与硬件涉及芯片设计、FPGA原型验证、板级硬件设计做的是芯片本身和承载芯片的电路板。底层软件BSP/驱动基于芯片手册写寄存器配置、写外设驱动、移植Bootloader、调DDR和Flash时序典型工作内容是嵌入式Linux驱动开发。中间层RTOS/操作系统在FreeRTOS、RT-Thread、Zephyr或者嵌入式Linux上做系统裁剪、任务调度优化、内核模块开发。应用层在已有操作系统和SDK的基础上做业务逻辑比如写一个MQTT上报程序、写一个HMI界面、做一套设备配网流程。算法与方案层比如在嵌入式设备上部署语音识别、摄像头图像处理、电机控制算法更贴近行业解决方案。热词里有人搜应用层开发是不是嵌入式我的看法是应用层开发算嵌入式行业里的一部分但纯写业务逻辑、完全不碰硬件寄存器和系统底层的人出去说自己是嵌入式工程师其实容易露怯。真正的嵌入式核心竞争力恰恰在于你懂硬件、懂芯片手册、知道系统从通电到运行的全过程。这也是为什么规划里我一直强调往下钻。1.2 芯片方向不等于画芯片版图它有很多细分赛道芯片方向这几年热度高但很多同学对这个领域的理解停留在流片光刻纳米制程这些新闻词上。实际上芯片公司里的岗位分工非常明确数字前端设计写Verilog/SystemVerilog做RTL设计把架构师的想法变成可综合的代码。功能验证用UVM方法学搭验证环境跑仿真用例找bug。业内验证和设计的比例普遍超过2:1所以验证岗需求量很大。后端物理设计综合、布局布线、时序收敛解决代码变成物理版图之后跑不跑得通的问题。DFT/可测试性设计在芯片里插测试电路保证出厂芯片能被自动化测试设备筛出好坏。模拟/混合信号设计做电源管理、ADC/DAC、SerDes、PLL这类模拟模块。芯片软件Firmware/芯片SDK芯片公司也得有人写寄存器头文件、写SDK、写例程这部分和嵌入式的重合度最高。你可以看到芯片方向里其实有一条和嵌入式重叠度很高的路先搞嵌入式和单片机再往芯片公司做芯片SDK/固件开发转或者从FPGA验证切入数字IC验证。没必要一上来就觉得自己数学不行、物理不好就彻底放弃芯片。1.3 本科四年到底能完成什么级别的能力积累说句实在话本科四年想同时在嵌入式和芯片两个方向都达到就业水准时间不太够。但你可以做到嵌入式为主干芯片为分支预览前两年把电路、C语言、单片机吃透大三上开始接触嵌入式Linux和驱动大三下如果对芯片有兴趣再补Verilog和数字电路设计走FPGA方向或者直接以数字IC初级岗位为目标。这个节奏是我见过成功率比较高的路线既没有过早把自己锁死在一条路上又保证了每个阶段都有拿得出手的项目和作品。2. 大一到大二地基期数学、电路、C语言怎么分配精力才不亏大一阶段最容易出问题的地方是盲目按课表学习。高数、大物、线代、C语言课门很多但你不知道该把精力压在哪一门。我见过有人大一狂学高数最后发现嵌入式方向用到的高数内容其实有限也见过有人大一就买了开发板开始啃STM32结果模电基础太差连最小系统都分析不明白。这两种极端都不对。2.1 数学的够用原则与电路课的实感原则嵌入式/芯片方向对数学的要求不是数学系那种证明给你看而是会用、能看懂公式物理意义。比如傅里叶变换你在信号与系统里会学到在电机控制、音频处理、通信基带里它是工具你不用会推导整个公式体系但你得知道时域和频域之间的对应关系。线代里矩阵运算在DSP和姿态解算里常见但本科阶段用到的深度不大。真正需要认真学、且要学得比较扎实的是复变函数拉普拉斯变换、Z变换的底子和概率统计芯片测试、通信系统里大量用到。高数不用卷满分保持在80分以上、不拖绩点后腿就行。电路类课程的学法完全不同。模电、数电这两门课光刷题不跑仿真、不焊板子基本等于白学。我强烈建议大一下或大二上不管学校有没有要求自己动手搭一个简单的电源电路和一个小信号放大电路用万用表实测几个关键节点的电压再去对比书本上的计算值。这个过程会帮你建立理论计算和实际电路永远有偏差的直觉有了这个直觉后面学单片机外设、学ADC采样、学电源设计都会顺畅很多。2.2 C语言怎么才算真的过关很多学校大一教C语言教到指针、函数、数组就结束了。但这对于嵌入式方向来说远远不够。我判断一个人C语言是否具备干活的资格看四样东西指针和内存能不能说清楚指针数组和数组指针的区别能不能自己用malloc/free管理一段动态内存并分析内存泄漏结构体与链表能不能自己实现一个单链表/双链表的增删改查位运算与寄存器操作能不能看懂REG | (1 5)这种写法并知道什么时候用与、什么时候用或、什么时候用异或来翻转某一位模块化与头文件设计能不能把一个项目拆成多个.c/.h文件做到接口清晰、编译不报重复定义不夸张地说大二结束前能把这四个问题搞明白你的C语言水平已经超过很多大三才开始准备找工作的学生了。嵌入式面试八股里那些volatile关键字的作用static修饰局部变量和全局变量的区别指针和引用的区别本质上考的都是这四件事的变体。2.3 大二上STM32该不该学怎么学热词里频繁出现stm32芯片包安装keil5安装stm32芯片包这类搜索说明很多同学已经在自学路上了。我的观点很明确STM32是电子信息专业最好的单片机成人礼大一结束的暑假或大二上开始学非常合适。但学习方法有讲究。很多人上来就买正点原子或普中科技的开发板照着视频敲HAL库代码灯亮了、蜂鸣器响了就觉得我会单片机了。实际上这只是把例程搬运了一遍。正确的学习路径应该是第一遍用标准外设库或者直接操作寄存器的方式点亮一个LED、读一个按键、产生一个PWM、接收一串串口数据。这一遍的目的是理解芯片内部寄存器与外设之间到底发生了什么。第二遍再用HAL库重写同样的功能体会封装好的库函数省了什么、藏了什么。第三遍给自己定一个稍微综合的任务比如用定时器输入捕获实现一个频率计或者用DMA串口空闲中断实现不定长数据接收这时候你才真正开始接触嵌入式开发里的常见套路。配套工具上Keil MDK照常用但调试手段别只停留在点一下Debug。要学会看寄存器窗口、Watch窗口学会在中断里打断点排查问题。实践下来后面分析问题快不快很大程度上取决于你调试工具的熟练度。2.4 大二阶段可以参加的比赛与训练项目大二下是个分水岭我强烈建议在这个时间点参加一次电子设计竞赛电赛或者蓝桥杯嵌入式比赛。热词里能看到蓝桥杯嵌入式第16届省赛题目说明这个比赛每年关注度都很高。参加比赛不是为了拿奖而是为了在压力下逼自己完整地走一遍需求分析—方案设计—硬件调试—软件实现—文档整理的过程。我记得很多第一次参赛的同学最大的收获不是作品本身而是终于明白了原来做一个东西要从整体架构开始想而不是拿个开发板就开始堆代码。哪怕大二第一次参赛没拿奖积累的经验到大三参赛会直接变现成奖项而奖项是简历上非常硬的一块敲门砖。3. 大二下到大三上从STM32到嵌入式Linux能力跃迁的关键一搏如果你大二已经把STM32玩得比较熟会配置定时器、ADC、I2C、SPI、UART能独立做一个带传感器数据采集和串口通信的小系统那大三就可以往更高一层走了。这一层的名字叫嵌入式Linux。为什么一定要走Linux因为现在市面上稍微值钱的嵌入式岗位不管是车载、工业控制、AIoT还是机器人底层几乎都是Linux系统。STM32裸机开发负责的是简单的控制逻辑一旦涉及网络协议栈、复杂文件系统、多任务并发、图形界面裸机根本扛不住。企业招人也是这个逻辑只懂单片机的人一抓一大把能在Linux环境下写驱动、交叉编译、调试应用的人才要稀缺得多。3.1 嵌入式Linux的学习路线别急着啃内核很多同学一听到嵌入式Linux就容易陷入两个极端一是继续在Windows上装个虚拟机玩一玩真正到了开发环境里完全不知道怎么交叉编译二是一上来就抱着《Linux设备驱动程序》第三版猛啃结果一个月后还在第一章徘徊。我更推荐的路线是分三步走。第一步在Ubuntu上熟练使用Linux命令行至少掌握文件操作、权限管理、vim的基本使用、gcc/gdb的编译调试流程、Makefile的编写规则。这个阶段不用专门买板子在你的电脑上装个虚拟机或者双系统就够。第二步买一块能跑Linux的开发板比如正点原子的IMX6ULL、瑞芯微的RK3568/RK3588、或者全志的V3s。把官方提供的系统镜像烧进去先学会用NFS/TFTP网络加载内核和根文件系统然后在板子上跑一个简单的Linux应用程序。接着尝试自己写一个最简单的字符设备驱动用insmod加载、用mknod创建设备节点、用open/read/write去操作它。第三步动手做一次完整的系统构建用Buildroot或者Yocto给板子编译出一个包含你自己应用程序的根文件系统把Bootloader—内核—根文件系统—应用程序这条完整链路跑通。到这一步你就本质上理解了嵌入式Linux工程师日常面对的移植和系统集成工作。热词里有嵌入式 linux vscode教程说明不少人想用VSCode远程连服务器或板卡开发。这确实是个好习惯我建议到了Linux阶段之后慢慢把编辑器切换成VSCode Remote或者直接学vim把代码编辑和编译执行分离这样后面进公司用命令行开发环境会适应得更快。3.2 通信协议是嵌入式工程师的行话必须逐个吃透热词榜单里有一条很精准的搜索词嵌入式 5种通信协议。这5种不用猜肯定是指UART、I2C、SPI、CAN、USB。这几种协议是嵌入式日常面试的高频考点但很多同学只是用过离吃透还有距离。我对每种协议的最低要求是这样的UART清楚异步通信的起始位、数据位、校验位、停止位是怎么组织的。会配置波特率知道为什么通信双方波特率必须一致。I2C理解SCL时钟和SDA数据的时序关系能说出应答位ACK/NACK的作用能通过示波器或逻辑分析仪抓出一次完整的读写时序。面试时很爱问I2C为什么需要上拉电阻这个问题背后其实是对开漏输出和线与机制的理解。SPI理解四根线SCLK、MOSI、MISO、CS各自的作用明白CPOL/CPHA四种模式的选择知道和I2C相比它的优势是速度快、缺点是占用引脚多、没有应答机制。CAN虽然学校课程不常讲但车规和工控里极其常见。重点是理解它的差分信号、仲裁机制和报文帧格式知道为什么CAN在工业环境里抗干扰能力强。USB本科学透USB不太现实但至少要知道枚举过程、传输类型控制/批量/中断/等时的概念以及常见的USB转串口芯片比如CH340、CP2102在系统里扮演的角色。学协议最好的方法不是背时序图而是用逻辑分析仪去抓真实波形。你手上有一根几块钱的逻辑分析仪比如基于Saleae的兼容版把STM32的I2C通信、SPI通信、串口通信挨个抓一遍自己数数时钟边沿、看看数据的字节顺序和时序偏差。这个过程做过一次后面面试谈协议的时候你会明显比那些只会背概念的人有底气。3.3 项目实践从点灯到做产品的转换训练大三上我不建议再单纯跟着开发板教程走了。你应该开始做一个不完整的、半成品级别的项目给自己挖一些教程里没有的坑来填。具体一点可以做一个基于Linux板卡的智能家居控制中心——开发板上跑一个MQTT服务器或客户端通过Wi-Fi模块接收手机指令再通过UART/I2C控制STM32去操作继电器和传感器。做这个项目过程中你会自然接触到套接字编程、TCP/IP协议栈、进程间通信、硬件抽象层的设计。这些内容如果只看书会非常枯燥一旦你知道做出来就能实现手机远程控制风扇学习的驱动力会完全不一样。另外别忽视国产芯片平台。热词里能看到rk3588芯片国产步进电机驱动芯片有哪些品牌这些搜索。这两年国产芯片在高校和行业里的存在感越来越强。如果你有余力可以买一块国产ARM板瑞芯微、全志、君正或者国产MCUGD32、华大、国民技术来玩一玩。国产芯片的数据手册、例程质量参差不齐但这恰好训练了嵌入式工程师非常重要的能力——在文档不全的情况下通过寄存器手册和实验逆向把外设调通。这种能力在真实工作中比用一款成熟的芯片照猫画虎值钱得多。4. 大三暑假到大四项目整理、八股冲刺与秋招实战到了大三暑假如果你想本科毕业后直接工作那秋招提前批就是你面临的第一个真正战场。电子信息领域赶秋招和互联网大厂刷LeetCode还不太一样嵌入式岗位更看重项目经历和硬件栈的理解深度。所以大三暑假的核心任务是把过去两年做的东西产品化、可讲述化。4.1 简历上的项目不要超过三个但每个都要能扛住深挖不少同学简历上写四五个项目看起来列表很长面试官随便挑其中一个问细节立刻露馅。更合理的策略是选两个最能代表你能力的项目一个偏硬件接口比如一款带多种传感器的数据采集板一个偏系统软件比如基于嵌入式Linux的某类设备应用然后花一整个暑假把这两个项目的细节复盘到随时能讲两个小时的程度。复盘的标准是什么我通常建议按下面这个清单自查这个项目是干什么的解决谁的什么问题系统架构图能不能在纸上画出来为什么选用这款MCU/SoC成本、功耗、算力怎么权衡的系统的通信链路是怎样的每一帧数据的格式有没有仔细定义遇到最难的一个bug是什么排查过程用了什么工具如果重新做一遍哪些地方会改尤其是最难的一个bug这个问题几乎是我面试时必问的。它考察的不只是技术能力更是排查思路和工具使用能力。比如板子上电后串口乱码这种经典问题你如果能在面试时说出先排除波特率配置再用示波器量波形判断是电平问题还是信号完整性问题最后发现是电源纹波过大导致这样一个完整链路效果比写十个项目都强。4.2 嵌入式面试八股到底在考什么所谓嵌入式面试八股翻来覆去就是那几座大山C语言基础、操作系统概念、通信协议、Linux驱动模型、ARM体系结构、常见总线协议。热词里同时出现嵌入式面试八股文和嵌入式面试题说明这已经是大家公认的必背内容。我的建议是别死背要能讲理解。举几个最常见的例子volatile关键字是干什么的不能只答防止编译器优化。要说明它用于修饰可能被中断、被硬件、被多线程修改的变量并说一个具体场景——比如标志位在中断里被修改主循环里一直判断这个标志位如果没有volatile编译器可能把变量加载到寄存器后就不会再重新从内存读取。中断和轮询有什么区别回答时要提到CPU利用率、实时性、实现复杂度最好结合一个具体外设场景比如按键扫描用轮询没问题但串口接收大数据包就必须用中断或DMA。Linux中用户态和内核态有什么区别要说到地址空间隔离、系统调用开销、设备驱动的归属。面驱动岗时面试官还会追问copy_to_user、ioremap、spinlock这些具体接口的使用场景。ARM的中断控制器GIC是怎么工作的这类偏底层的八股在芯片原厂和驱动岗面试里越来越多本科阶段可能没开过相关课程但如果你学过STM32的NVIC顺着优先级分组→中断使能→中断服务函数→清中断标志这条链路去理解也能讲出个大概。准备八股的时间线我建议放在大三暑假和大四上每天保持一两个小时配合面经整理自己的答案库。不要等到秋招已经开始了才临阵磨枪那样压力会非常大。4.3 实习比刷题更重要能去公司就别在学校耗如果大三暑假有机会去公司实习我建议毫不犹豫地去哪怕公司不是大厂哪怕实习内容一开始只是写写测试脚本、焊焊线。实习的最大价值有两个一是让你知道真实产品开发中文档、流程、协作到底有多重要二是给简历上加上一段真实工作经历这在秋招筛简历阶段非常管用。我自己见过很多学生秋招简历上全是课程设计和个人项目HR和面试官对这类经历的认可度其实比较一般。而一段三个月的实习经历哪怕工作内容很基础写完实习总结后写在简历上至少能证明你有基本的职场沟通能力、代码规范意识和团队合作经验。在嵌入式这种经验导向的行业里这比多考一个证书有效得多。4.4 秋招策略海投可以但要分清主次秋招阶段嵌入式岗位的投递策略可以参考主干分支的思路主干投嵌入式软件开发、嵌入式Linux驱动、单片机开发、BSP开发这类和自己经历最匹配的岗位分支投一些测试开发、硬件工程师、FAE现场应用工程师岗位作为保底。FAE岗听起来偏市场但其实对技术理解要求很高且非常喜欢招有嵌入式背景的本科生出路并不差。面试邀约的节奏上前期可以先拿几家不太想去的公司练手积累面试感觉。到中期集中面目标公司的时候争取在每次面试前把简历上的项目细节再用讲给完全不懂的人听的方式过一遍能让你在压力环境下更不容易卡壳。5. 芯片方向的分岔路数字IC、验证、后端该怎么选如果你在嵌入式这条线上走得很顺利大三阶段突然发现比起让板子上的灯亮起来我更想知道芯片内部是怎么设计的那就需要考虑转入芯片方向。这条路本科直接就业门槛比嵌入式高但没高到遥不可及关键是认清不同岗位的入门要求。5.1 从FPGA起步本科生进入数字IC方向最平滑的入口本科阶段接触数字IC最现实的路径是FPGA。学校实验室一般都有FPGA平台就算没有一块入门级开发板比如Intel Cyclone IV或Xilinx Artix-7系列价格也不算离谱。通过FPGA你可以在不流片的情况下做RTL设计、仿真和上板验证这和芯片前端设计的日常工作模式几乎一样。学习路径上先学Verilog语法但重点不是语法本身而是可综合的硬件描述思维。很多从写软件转过来的同学最容易犯的毛病是把Verilog当C语言写到处都是always块和阻塞赋值综合出来的电路完全不是那么回事。我的建议是入门阶段严格要求自己边写代码边想电路每写完一段代码就在纸上画出它对应的寄存器、组合逻辑和线网连接。工具上Vivado或者Quartus是绕不开的仿真工具至少要学会ModelSim/Questa或Vivado自带的Simulator。热词里有npu芯片设计方法教材这种搜索说明已经有人关注AI芯片设计了。这个方向确实热门但本科阶段不用急着直接学NPU架构先把基本的数据通路、控制通路、状态机设计搞扎实后面进阶自然水到渠成。5.2 数字IC验证需求量大、适合从嵌入式转过去的赛道很多同学不知道芯片设计公司里招人最多的岗位其实是验证而非设计。验证工程师的日常工作是用SystemVerilog搭UVM验证环境给RTL设计跑各种边界条件和随机激励把bug扼杀在流片之前。这个岗位的特点是不需要你设计出高性能电路但需要你有极强的逻辑思维和排查问题的耐心。嵌入式转验证有个先天优势你在嵌入式开发中接触过的串口、I2C、SPI、中断控制器、DMA这些外设恰恰是芯片公司验证团队最常见的验证对象。你比其他没接触过硬件的人更清楚这个模块实际工作中应该怎么工作也就更容易写出贴近真实使用场景的测试用例。当然转验证也有代价你需要花时间补SystemVerilog和UVM方法论。我的建议是大三下或者大四上找一套完整的UVM入门教程照着搭一个小的验证环境比如验证一个简单的FIFO或者UART控制器。把这个项目写进简历比单纯在简历上写熟悉UVM要给力得多。5.3 芯片后端和模拟方向不建议本科直接冲但可以了解芯片后端物理设计和模拟设计算是芯片岗里入门曲线最陡的两条路。后端需要比较强的时序概念和EDA工具操作经验这些主要靠研究生阶段的项目去积累本科直接投后端岗即便是985科班也容易碰壁。模拟方向更是如此一个模拟工程师的成长周期往往以十年计本科阶段学的那点模电知识离设计一个能过工艺角仿真的运放还有很长的距离。那本科阶段能为这两个方向做什么准备我觉得是把课程基础学扎实数字IC后端对《数字电子技术》《Verilog》《静态时序分析》有直接依赖模拟方向则要求你把《模拟电子技术》《信号与系统》嚼碎。另外可以养成阅读英文芯片手册的习惯因为不管是做后端还是模拟大量时间都花在阅读工艺文档和参考设计上英文阅读速度直接决定你的产出效率。5.4 芯片方向本科毕业的两个现实选择读研深造或从芯片软件切入实事求是地说芯片设计岗前端设计、验证、后端在校招时普遍更偏爱硕士。如果你铁了心走设计岗那大四准备考研考集成电路、微电子或者电子科学与技术方向是更稳妥的路线。考研的准备时间线也不用太早开始大三上保持专业课绩点大三下开始刷数学和专业课真题时间完全够用。如果你不想读研又想在芯片行业里先用本科学历入场有两个方向可以试。一是芯片原厂的嵌入式软件/SDK工程师岗这类岗位做的是芯片的驱动程序、烧录工具、参考例程对学历宽容度更高但需要很强的嵌入式功底——这正好是你前几年积攒的东西。二是芯片代理商或方案公司的FAE/硬件应用工程师日常工作是帮客户解决芯片应用问题也需要懂嵌入式、懂电路、能出差本科应届生有不少从这类岗位起步积累两三年后再跳去原厂的先例。6. 一些过来人才知道的坑与建议写到最后一部分我想直接给几条在别处不太容易看到的实操建议。这些东西看起来琐碎但真的很影响四年下来的最终状态。6.1 开发板不是越多越好把一块板子吃透比买三块强我见过太多同学大一买51大二买STM32大三买Linux板大四又开始看国产RISC-V开发板结果每块板子都只点亮过LED。正确的做法是把一块板子的外设尽量用一遍甚至把它用废掉。所谓用废是指你不仅跑了例程还改了电源、加了外部传感器、重新画了扩展板甚至把芯片引脚弄烧过一两回。烧过芯片、查过短路、测过电源轨的经历才是真正长在你身上的经验。开发板的钱不是花在买的那一刻而是花在你用它折腾了多少东西。6.2 资料囤积症要不得网盘里躺着10个T的资料不如跑通一个例程电子信息方向的学生好像天然有收藏癖。论坛、公众号、网盘群看到嵌入式学习路线图XX芯片全套资料就转存。我自己当年也这样存了十几个G的资料真到做项目的时候还是在搜索引擎里现找、在所剩无几的官方手册里现查。后来我给自己定了个规矩新下载的资料如果一周内没有被打开过就删掉。这个习惯逼着我只保留真正需要的东西反而让知识体系清爽很多。6.3 把英语阅读能力当成核心竞争力来练绝大部分芯片手册、参考设计、内核文档、协议规范都是英文的。如果你的英文阅读速度是看一段要查五个词那么做项目、查问题的效率会极其低下。我不建议花整块时间专门学英语更有效的方法是直接去读英文原版数据手册。比如学STM32的时候不看中文移植版教程直接打开芯片参考手册Reference Manual对着寄存器看学Linux驱动的时候直接看内核源码里的Documentation和头文件注释。两个月下来专业英语阅读速度会有肉眼可见的提升。6.4 代码规范与Git习惯越早建立越好很多本科生写代码是一个人写完拉倒没有Git、没有版本管理、没有commit message代码变量命名用a、b、c函数几百行不带注释。这种习惯在课设里勉强能撑过去进公司或参加开源社区就会被教做人。我强烈建议从大二第一个完整的项目开始就使用Git做版本管理哪怕只是自己一个人开发。把每次改动一个功能就提交一次变成肌肉记忆。你要知道面试时GitHub主页或Gitee主页上的项目提交记录是很多面试官判断候选人工程素养的快速窗口。6.5 别忽视写文档这件事嵌入式/芯片行业里工程师与工程师之间的沟通很大程度是靠文档完成的。设计文档、调试记录、测试报告、问题反馈单每一类都有固定的表达套路。本科阶段做项目时养成每次调试完写一段问题现象原因分析解决方案记录的习惯这不只是为了给老师看更是为了让你自己在一周之后还能想起当时是怎么解决那个问题的。到秋招时这些记录稍加整理就是很好的项目讲述素材和作品集。电子信息本科四年听起来很长实际过起来非常快。你可能大一还在纠结C语言指针怎么这么难大三就已经在Linux驱动里调试中断。最关键的不是你每门课考了多少分而是在每一个阶段你有没有主动往嵌入式/芯片这条线上多走一步。哪怕这一步只是多焊了一块板子、多读了一篇英文手册、多跑通了一个例程日积月累下来到大四回头看你手里攒下的东西会比绝大多数按部就班的同学多得多。方向已经很清楚了下一步就是打开你的开发板动手。
返回列表