找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

6262

积分

1

好友

784

主题
发表于 2 小时前 | 查看: 0| 回复: 0

身边常有朋友问我,嵌入式到底该怎么学?在这个行业里又如何健康地发展下去?趁这篇文章,我系统地说一说自己的看法。

嵌入式,国内普遍认同的定义是:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

它首先是计算机系统。所以学习嵌入式,计算机的基本理论知识必须打牢:编译原理、数据结构、操作系统、离散数学、计算机系统体系结构,这些一样都不能少。

很多做嵌入式的人是从电子类、自动控制类专业转过来的。转型本身没问题,但理论上的缺口往往特别明显。比如问“排序算法有几种”,不少人只答得出冒泡和希尔。堆排序、快速排序、基数链式排序呢?更别说内部排序和外部排序的区别了。

查找算法也好不到哪去,多数人只会一个基本的二分查找,树的查找算法基本空白。也许有人觉得这些不重要——工程大于理论嘛。我只能说,如果你一直做具体工程,那确实运气不错。可一旦想从嵌入式程序员成长为系统设计者,或者向更高的技术职位走,理论就是绕不过去的支撑。

举个例子:设计一个微波炉控制系统。代码本身很简单。但真正精细的设计者,还会分析整个程序的空间复杂度、时间复杂度,想办法降低代码复杂度,进而减少对处理器性能的要求,最终压降成本。这里的成本不只是 BOM 成本,人力、运营、开发、维护都要算进去。

代码结构简单、空间复杂度小,意味着工程量更小、测试时间更短、产品质量更稳定。再往上走,如果做汽车导航系统,路径搜索算法、定位搜索、地图分类加载优化……没一样是轻松就能拿下的。

我经常问新同事一个问题:算法设计的思路是什么?很多计算机科班毕业的人也答不完整。经验当然重要,但比经验更重要的是知识,比知识更重要的是方法。要养成系统的分析问题、理论联系实践的习惯,减少那种“靠踩坑换经验”的状态。

所以第一条建议就是:把计算机基础课程系统地学一遍。

再看嵌入式的定义本身,它其实是一个相对概念。什么计算机系统不是“高度定制的软硬件计算机系统”呢?PC 机可以粗略地看成一个标准的“大嵌入式系统”。但 PC 平台发展早,封装性好,应用软件开发很多都接触不到操作系统内核的东西。而嵌入式因为高度定制,封装层次薄,完成同样的工作,需要了解的内容反而更多。所以嵌入式入门的门槛高一些,但这并不意味着它比 PC 开发更难——PC 开发想做好、做精、做全面,同样极具挑战。两者很大一部分本就是重叠的。

第二条建议:读一读俞甲子、石凡、潘爱民写的《程序员的自我修养》。这本书虽然是针对 PC 平台的,但里面动态加载等内容,对理解 Bootloader 加载应用程序和操作系统很有帮助。像链接脚本、ABI 这类问题,书里讲得不算深入,需要自己在嵌入式实践中继续挖。但作为入门读物,它非常合适。

嵌入式工程领域最大的问题是软硬件同时成熟,出了问题容易“踢皮球”。调试手段相对单一,稳定性、可靠性也不如 PC 平台。想做好嵌入式,必须对系统有全面认识——从设计思路到硬件详细设计,再到软件详细设计,了解越深,定位问题越容易。

这里就不得不提一个常见目标:软件硬件都通。坦白讲,这个目标我年轻时也憧憬过。但软件和硬件都是极其广袤的领域,说“通”,目标确实太高。

我的建议是:电子类专业的朋友,把主要精力放在硬件上,软件作为兼顾,学点 C 语言、写些小型代码就好;计算机专业的朋友,主攻软件,能看懂原理图、了解电路大致功能即可。两边往深挖都是无底洞,全通需要大本事。

说到职业规划,项目经理、技术总监这类职位,本质上是管理岗。不是技术好就能胜任的。要学习管理理论,比如 PMBOK、CMMI,多看看行业内优秀的工程实践,学会怎么对齐项目目标。技术人对不懂技术的领导往往缺乏诚服,所以技术管理者更要有过硬的技术功底,才能服众。

学习嵌入式的方法有很多,但最好的老师永远是计算机自己。不要想着靠牛人带就能变牛。先自己建立理解,哪怕是错的。再通过别人的讲解去纠正、调整,这才是有效率的学法。没有独立思考,只能做鹦鹉学舌的人。

也别指望几个月培训机构就能“速成高薪”。高薪背后是内涵和外延:做事态度、面对问题的坚韧、持续的积累。把调子提得太高,要么惨淡收场,要么勉强完成任务。踏实一点,给自己一点时间,反倒容易做出成绩,利于长期发展。

最后,编程是体力加脑力的活。十万行代码是基础量。写一些复杂算法,比如 A* 树;再写点计算机图形学方面的内容,以应用软件为目标,把编程量拉上去。坚持到三十万行,你会对自己所用的语言非常熟练,对算法和数据结构有深刻认识,对操作系统 API 也能摸到门道。

到那时,才能在嵌入式这条路上,走得更稳、更远。




上一篇:Anthropic首曝秘密游说梵蒂冈:Claude意识争论浮出水面
下一篇:STM32寄存器编程实战:手写GPIO控制实现流水灯效果
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-10-2 23:43 , Processed in 1.422503 second(s), 45 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表