对于嵌入式技术该如何规划

嵌入式一直冠以高门槛的名号,相较于软件开发逊色的起步薪资也被网友调侃“饿肚子”。热情投入嵌入式的人比比皆是,无可奈何转入产品经理或技术型销售的也比肩继踵。嵌入式工程师有前途吗?
的确,由于嵌入式代码量相对纯软导致起步工资低,但行业大牛的工资也非常可观。另外以长远目光来看,嵌入式渗透消费电子、安全安防、汽车电子、医疗电子、电信等等各个行业的计算机领域,而每年也约有40万的人才缺口。今年机器学习(ml)话题大热,arm也推出神经网络机器学习软件 arm nn,可在基于arm的高能效平台上轻松构建和运行机器学习应用程序,未来嵌入式行业也将不断革新,嵌入式市场有所可期。
据知乎某15年从业人员看,对于嵌入式不必悲观,也切莫盲目乐观,不同时期不同人对前途的定义是不同的。他表示,影响前途发展的因素包括平台、人脉、目标与机遇,有了更多的项目经验才有立足的机会,有广阔的人脉关键时刻才会有人拉一把,有了目标才能专注一个方向不断发展。另外,他还表示,切莫钻技术“牛角尖”,管理岗能爬就爬,错过机会,错过年龄,追悔莫及也无济于事。
还有网友表示,世上不只平均收入排名第一的行业从业人员可以高质量的生活,排名第二、第三、第四等等从业人员都有高质量的生活,而在排名榜单上光鲜亮丽的从业人员也未必过得大红大紫。任何行业都与机遇、环境都有关,再好的行业也有混不下去的人,再差的行业也有人闷声赚大钱。另外,时间在变,世事也在变,前几年大热的公务员,现在也逐渐被人嫌弃。所以在浓厚的兴趣使然下,才有可能成功。
另外,嵌入式这个鱼塘也有搅浑水般的存在。据了解,某知乎er最近面试的十几个平均工作年龄超三年的硬件工程师,居然搞不清楚三级管mos管,甚至连三个脚的名字都可以搞错,高低电平这种基础知识也搞不清楚,令人意外的是,这种水平的人开口要价也基本10k+。高的并不是门槛,高的是可以踏踏实实干好这一件事。
什么是前途?个人兴趣+努力程度+把握机会=前途。如果单纯为了吃饱饭,完全没必要去学什么嵌入式,嵌入式培训入学门槛高、学费贵,赤裸裸的歧视本科以下学历,歧视文科,培训出来就业虽然年薪10万起,但是没基础没兴趣学得会吗?如果为了吃饱饭,大千世界何其多的机会,何必折腾?
嵌入式工程师如何规划就业之路?
据贴吧某位大神分享,进入嵌入式的人形形色色,在此前有计算机专业的、有电子类专业的、有硬件工程师、有些甚至完全不相关,基础也千差万别。技术之路的终点也千差万别,有的最后走上了管理,有些转行做了产品经理,有的最后成了技术流的销售,还有极少数的人成了真正的技术专家。而嵌入式工程师的的终点只有一个,就是真正的技术专家。
嵌入式技术大体上可分为编程语言,内核技术,操作系统,总线接口,系统集成。其实细心的可以发现,在cesdn的论坛分区上就已经体现了,除了系统集成只是在嵌入式系统大区里面体现了下,其他的都有明确的板块对应关系。但是学习之路并非如此学习,而是分为几个层次,据该工程师多年对业内的观察,将嵌入式工程师的技术范围分成下面几个等级:
1. 初级:8051或其他单片机,ucos,i2c,spi,uart。汇编和c能力一般,系统集成能力弱。
2. 中级:在初级的基础上,arm/mips,其他一些rtos并了解linux,sdio,usb。汇编和c能力不错,有一定系统集成能力。
3. 高级:主要是对中级的进阶,这一个层面已经不在于掌握具体的技术,而是掌握当前流行技术中的基本思想和构成方式,所以任何流行的技术,对于这一阶段来说,都是手到擒来的。而由于掌握了所有技术的原理,系统集成能力也是超强。
对于初级和中级,都有明确的标杆,在此阶段,工程师还是在入行阶段,评判标准往往是掌握了什么技术,而学技术的最高境界是需要掌握了技术的构成和模式。拿个很简单的例子来说,所有的接口技术,其实都可以归纳为几个要点,单工还是双工、如何发起传输、如何应答、如何报错、如何纠错、如何在其基本传输之上建立高级的应用。只要掌握这些,接口技术便不攻自破。
最近业内普遍流行在某个平台上编程而忽视深入的技术研究。android也好,mtk的tune key也好,你只是在别人的指挥下舞蹈,而技术并没有任何提升,提升只是更好的掌握了这个平台,5年后呢?平台退出市场了,掌握的这些还有什么用处么?学技术,要扎实,要从低至上。
最后说点实际的,现在linux和andriod是很吃香,也有很多人建议一开始就学习这些热门技术,这样能挣钱。没错,开始的时候可以速成,但如果从长远来看,薪水也永远只是在工程师的主流薪上波动,想要成为技术大牛,年薪百万,永远不可能。技术需要从基础做起,一步一个脚印,成为顶尖,没个三五年,难。不过能够坚持下来的,必成大器。
1.系统设计工作
在系统的设计阶段,系统分析师将根据需求确定系统的硬件的基本构成,根据系统的需求选择使用那种处理器,使用哪种操作系统,使用那些软件开发工具。系统分析师往往是较为完整的参与过嵌入式系统设计的全过程,对于系统应用的行业较为了解,对于嵌入式系统本身的开发流程十分清楚的人。
2.硬件设计工作
系统硬件设计人员需要根据系统分析师的设计结果,进行硬件原理图的设计。通常需要硬件设计人员熟悉嵌入式系统的硬件构成。硬件设计人员需要了解常用的嵌入式系统处理器,存储器(flash,sdram),以太网mac芯片,音频/视频编解码芯片,电源管理芯片,总线接口电路 (usb,pci),液晶显示模块,可编程逻辑器件(fpga/cpld),无线网络通信模块(bluetooth,wlan,gprs)等硬件电路构成元素的基本工作原理,连接使用方法,使用注意事项,基本调试方法等内容。
3.驱动程序和操作系统移植工作
现代嵌入式系统的开发同传统8位单片机系统的开发相比,一个显著的区别就是嵌入式操作系统的广泛使用。在拿到焊接完毕的电路板,并进行基本的测试后,就要进行驱动程序和操作系统的移植工作了。首先要进行的bootloader的编写和移植工作。bootloader相当于pc系统的bios。对于有些嵌入式操作系统,如uc/osii没有bootloader同样可以开发调试。但是对于windowsce和嵌入式linux系统而言bootloader就是必须的了。
4.应用程序的开发
嵌入式系统的应用程序开发同在pc 机上开发应用程序的区别不是很大。对于windows ce系统而言,microsoft已经提供了较为完善的开发工具。开发人员可以使用windows 的c# 语言直接在pc上进行应用程序的开发和模拟调试,也可将目标系统同pc 机相连,进行联机调试。现在有很多系统支持j2me(java的嵌入式系统版本) ,这使得java 在嵌入式系统应用开发中占有较大的优势。另外,作为专业的嵌入式系统软件开发人员,还需要充分了解面向对象技术和设计模式等方面的知识,当然作为初学者可以先不深入研究这方面的内容。同学们在学习嵌入式的过程中要不断进行知识的探索,在一步一步学习之后就会有一个很大的进步。

微软全球开发者大会Build 2019中重磅发布了windows新版命令行
德州仪器CEO Rich Templeton提出在五年间构建更强大的TI
特朗普签署两党法案有助于无人机发展与应用
OTC2900频谱分析仪模块的主要功能及应用范围
重振芯片制造,为什么欧、日都青睐2纳米?
对于嵌入式技术该如何规划
掌握电力质量的关键工具:恒峰HFQ-SPC1000电能质量分析仪
人民日报、工信部4分钟微视频点赞海信激光电视
基于单片机实现智能传感器系统
苹果已向全球医疗专业人员捐赠超过2000万个口罩 并表示与供应商合作设计和生产口罩
Commvault推出专为网络弹性打造的Commvault Cloud平台
传两大零组件商良品率不佳 iPhone7上市恐缺货
英特尔10nm芯片要难产了 英特尔10纳米芯片良品率不乐观
爱立信加快全球运营商在5G中频段上的部署
影响并联电容器运行安全的4大因素
拜腾汽车展出一辆拥有50英寸的端到端BYTON共享全面屏的SUV
AI是否侵犯公民隐私?
索尼PS5手柄硬件存在摇杆漂移问题
小米6明天发布, 来进行最后的狂欢吧, 说出你对小米6的愿望
STC单片机简介及其看门狗的应用