huozm32831 |
2022-05-24 17:01 |
最近几年经过移动互联网、物联网的高速发展,嵌入式技术在我们生活中随处可见,在通讯、网络、工控、医疗、电子等领域发挥着越来越重要的角色;随着对嵌入式产品需求的增加,业内公司对于嵌入式开发人才招聘需求依然空缺。
首先我们来了解一下嵌入式的本质。嵌入式的本质就是一台专用的、微型计算机,所以就像计算机一样由三个层次的东西组成:
1)硬件,包括cpu(如ARM)、存储(如flash)、视音频模块、I/O(显示模块、通讯模块、I/O控制电路等)。
2)系统级软件,主要是操作系统也就是OS,以及I/O软件如LCD、蓝牙、wifi、CDMA、声音等子系统。
3)应用软件,如基于linux的应用开发,基于Android的应用开发,基于iOS的应用开发等。
事实上,所有带有数字接口的设备,大到航天航空,小到手机,电脑,甚至组成普通PC终端设备的键盘、鼠标、硬盘,目前市场上各种智能硬件产品等几乎都使用嵌入式系统。嵌入式系统是将先进的计算机技术、半导体技术和电子技术和各个行业的具体应用相结合后的产物。嵌入式系统还是当前比较热门的行业之一。
嵌入式开发的发展方向非常多,门槛各有不同。下面主要介绍四大职业发展方向:
1. ARM + Linux/Android开发
据统计,全世界90%以上的智能手机和平板电脑都采用ARM架构。所有的iPhone和iPad都使用ARM的芯片,大多数Kindle电子阅读器和Android设备也都采用这一架构。很多领先的网络/电信制造商正积极地将其下一代平台迁移到ARM平台上来,ARM一直在行业中扮演一个非常重要的角色。
嵌入式系统是软硬结合的东西,搞ARM开发的人主要分为两大类:
【嵌入式软件开发工程师】
1.应用程序开发,包括Android应用开发或者Linux上应用开发(QT等),目前做的人很多,工作相对简单而且待遇也不错,需要掌握C语言、C++、java等开发语言。
2.操作系统移植,比较复杂,Linux,Android等,现在很多手机厂商推出的操作系统也就是修改内核,换皮肤,就业空间还是比较大的;
3.底层驱动开发,这个入门、深入都不容易,需要对硬件及OS有较深的了解,发展前景我个人觉得是三个当中最高的;
【嵌入式硬件开发工程师】
1.就像手机一样在处理器上做整体的电路。
2. SOC,架构开发。称为系统级芯片,也可以叫片上系统,意指它是一个产品,是一个有专用目标的集成电路,其中包含完整系统并有嵌入软件的全部内容。同时它又是一种技术,用以实现从确定系统功能开始,到软/硬件划分,并完成设计的整个过程。
2.FPGA开发
FPGA(现场可编程逻辑器件)产品的应用领域非常广泛,包括通信、消费电子、汽车电子、工业控制、测试测量等。而应用的变化也使FPGA产品近几年的演进趋势越来越明显:一方面,FPGA供应商致力于采用当前最先进的工艺来提升产品的性能,降低产品的成本;另一方面,越来越多的通用IP(知识产权)或客户定制IP被引入FPGA中,以满足客户产品快速上市的要求。
FPGA的开发相对于传统PC、单片机的开发有很大不同。FPGA以并行运算为主,以硬件描述语言来实现;相比于PC或单片机(无论是冯诺依曼结构还是哈佛结构)的顺序操作有很大区别,也造成了FPGA开发入门较难。而且FPGA的门槛是相当高的,至少是要硕士的学历,但是收入是相当的可观。
学习FPGA常见的四大误区:
1、不熟悉FPGA的内部结构,不了解可编程逻辑器件的基本原理。
2、错误理解HDL语言,怎么看都看不出硬件结构。
3、FPGA本身不算什么,一切皆在FPGA之外。
4、数字逻辑知识是根本。
3.DSP开发
DSP(Digital Signal Processing,数字信号处理),是一门涉及许多学科而又广泛应用于许多领域的新兴学科。全球DSP市场的前景非常不错,DSP是一个具有发展潜力的产业。近年来,随着DSP芯片产品价格的不断下滑,使DSP能够从以往的军用领域迅速拓展到民用领域,例如应用于计算机、网络、移动电话、调制解调器和磁盘驱动器以及消费电子产品。
DSP学习涉及内容多,因此有的放矢,学以致用很重要。有几个重要的部分是一定要学好的:硬件的制作及学习;类/微驱动模型;c/汇编程序的开发;CSL/BSL的使用和理解;RF5算法构架;图像领域的知识等。
4.IC设计
上班的公交IC卡,ATM取钱的银行卡,楼房的门卡等都是应用IC设计的产品,在现代世界不可或缺。IC设计(Integrated Circuit Design),或称为集成电路设计,是电子工程学和计算机工程学的一个学科,其主要内容是运用专业的逻辑和电路设计技术设计集成电路。
要想学习IC设计就需要具有一定的模拟电路基础,有数模混合电路设计经验;良好的电子电路分析能力;具有SOC的设计和验证的经验;精通Verilog,Tcl,C,Perl等设计语言。
嵌入式系统设计是电子产品设计的重要组成部分,目前国内外大部分科技公司都建立了自己的嵌入式开发团队。团队所需的人员职位构成包括:系统设计工程师、硬件工程师、底层驱动工程师、Linux系统工程师、应用设计工程师等。
现在越来越多的计算机、电子、通信、自动化等相关专业跨行学习嵌入式,嵌入式开发作为未来职业发展的方向,不论从薪资待遇还是发展前景来看,都非常不错。从工程师起步,一般有几个发展方向,一个是成为技术方面的核心,领域内的专家;另一个是从项目中锻炼起来,成为项目主管或是管理型人才;或者利用自己的技术及行业经验去创业。 |
|