嵌入式开发就业前景分析_嵌入式领域的职业发展方向

发布者:程序界的行者最新更新时间:2018-01-29 来源: 互联网关键字:嵌入式开发 手机看文章 扫描二维码
随时随地手机看文章

2017-2018年IT技术已经进入了高速发展的阶段,互联网开始逐渐步入物联网的科技时代,可以说嵌入式开发技术在物联网领域应用最为广泛,正是嵌入式开发行业十分火热,很多大学毕业生纷纷通过嵌入式培训走上了嵌入式开发相关的岗位,但是仍有很多人对嵌入式行业并不太了解,存在很多疑问,所以就会人问“学嵌入式有前途吗”,可以从事哪些工作?学完嵌入式可以做什么呢?这样的问题总会被问及。


学习嵌入式有前途吗?嵌入式的应用是比较广泛的,适合于各个领域。嵌入式主要应用于消费类电子行业,比如日常生活中常用的手机、电脑、数字电视、电子书等移动手持设备都属于消费类电子行业;汽车电子,比如GPS定位导航等汽车电子行业;军工行业,比如雷达、航空设备、野战军作战装备等军工行业都属于嵌入式行业,都属于嵌入式技术的实际应用范畴。


可以说物联网已经渗透到了人们生活的方方面面,随着近年来智能硬件产品的流行,各大公司、企业都已经纷纷加入到了智能产品的开发浪潮当中,百度、京东、小米、360等公司的智能硬件相关业务也都不断在完善,可以说嵌入式技术的发展已经迎来了新高潮,可以说目前市场上对嵌入式开人才的需求是十分火热的。


谈到嵌入式技术,可能除计算机方面相关专业人士外很少有人能够涉足了解。其实应用到嵌入式技术的产品已经渗透到我们生活的方方面面。从人们的生活到工业化生产,从银行、医疗到航空航天领域,嵌入式系统无处不在。从我们生活的智能化、工业的自动化、国防的现代化中都可以找到嵌入式系统的踪迹。


无人机、无人驾驶、可穿戴设备、智能家居、智能城市等相关产业技术产品就是我们身边嵌入式的实例,嵌入式系统应用已越来越深入和广泛。嵌入式系统因其体积小、可靠性高、功能强、灵活方便等许多优点,对各行各业的技术改造、产品更新换代、加速自动化进程、提高生产效率等方面起到了极其重要的推动作用。尤其是近年来,智能硬件铺天盖地的出现,一时间让人们彻底改变了过去对嵌入式系统应用的认识!以前远在天边的构想变为了如今近在手边的各种家用电器,再不了解嵌入式你就OUT了。


嵌入式市场究竟有多大?一系列数字或许可以给大家一些参考:每年全球PC的出货量大约是几亿台;手机大约十几亿台;而所有的嵌入式系统设备每年的出货量大约为一百多亿台。如此大的一个舞台,对于嵌入式从业者或即将进入这个行业的人来说绝对是一个不可错过的好机会。时下,基于市场的需求,越来越多的企业投入到智能硬件的研发工作中来。与企业计算等应用软件不同,嵌入式领域人才的工作强度通常低一些(但收入不低)。


但是嵌入式开发的入门门槛还是比较高的,不仅要懂较底层软件(例如操作系统级、驱动程序级软件),对软件专业水平要求较高(嵌入式系统对软件设计的时间和空间效率要求较高),而且必须懂得硬件的工作原理,相对于市场来说从高校刚毕业的计算机专业的学生,不论从经验还是能力上与企业需求还有很大的距离。企业需要动手能力强,真正了解产品开发过程的人才。所以越来越多的人开始选择培训机构作为能力提升的一个手段。


嵌入式领域的职业发展方向


那么嵌入式领域的职业发展方向是什么?从硬件和软件方面,各自的发展方向分别是什么?达到这些目标,需要学习哪些知识?达到哪些层次?


嵌入式开发的门槛相对较高,对程序员的要求一般都是对底层感兴趣,学习能力、动手能力要强,对问题能够从全局和细节去把握,有很强的系统分析和设计能力。从工程师起步,一般有几个发展方向,一个是成为技术方面的核心,领域内的专家;另一个是从项目中锻炼起来,成为项目主管或是管理型人才;再有就是利用自己的技术及行业经验去创业。

硬件和软件的发展方向是不同的。说说软件需要学习的知识。


虽然说搞嵌入式软件更多时候是在实际的工作中学习的,但一些重要的基础知识不可或缺。


1. 计算机组成/微机原理


主要是为了了解微型计算机的硬件工作原理,明白CPU、总线、I/O、存储器等一些关键结构是怎么工作的,虽然是很枯燥的知识,但是对熟悉外围设备硬件工作方式,及操作系统,软件架构的设计及优化相当关键。


2. 操作系统


嵌入式产品应用比较广泛的是Linux和WinCE。但操作系统的内部设计原理都是殊途同归。首先要去学习的是操作系统原理,去了解进程通信、内存管理、文件系统等几个重要的部分,因为这些在软件开发尤其是内核驱动开发时会用到。接下来可以去熟悉至少一种主流的操作系统,Linux是一个很好的选择,去了解它的内核架构,设备驱动架构,如何去编译,裁剪,编写应用程序,以及如何使用在具体的嵌入式产品上。


3. 数字电路


学习这方面的知识主要是了解一些基本的电路知识,如门电路、逻辑电路、存储器、寄存器,为了更好的理解嵌入式芯片,存储器,外围设备等硬件的设计,但往往在软件开发中未必能用的到。因为大部分硬件都提供了很完整的软件接口。


4. 编程语言:C语言和汇编


对于C语言本身的基础来说,无非是把结构化,函数,数组,指针弄熟,但是嵌入式开发对C语言应用的要求会更高。要对内存分配,文件访问,寄存器访问,预处理指令,中断处理程序等等相当熟悉,这些都是在使用中要注意的细节问题。C语言对程序的优化也很重要,而这些往往是需要从全局去考虑。汇编一般是和处理器的指令集相关的,可以更好的去理解处理器的工作原理,往往是用在一些需要效率的地方,如系统的初始化。


5. 数据结构和算法


数据结构在嵌入式开发中也很重要,比如说操作系统里的很多实现都用到了具体的算法。基本的数据结构需要掌握,如各种链表,树,图等等;而算法的学习需要数学知识作为铺垫,用计算机语言去实现。对于软件从业人员来说,算法终究是一个工具,在实际应用时再深入挖掘也可。

6. 软件工程/软件测试/项目管理基础


这些是软件开发人员的必备知识。


7. 开发平台


嵌入式的开发平台不局限于一种操作系统,因此要熟悉各种操作系统下的命令、编辑器及开发工具,这一点往往被很多人忽视。举个例子,Linux下的程序员开发环境往往是按自己的习惯搭建,熟练掌握一种编辑器如Vim/Emacs可以大幅度提高工作效率。磨刀不误砍柴工。


嵌入式领域的方向是很多的,它所应用到的行业范围也很广。因此除了这些基础的知识以外,在具体的应用中可能还需要一些其它的知识,这些知识的每一种都可以研究的很深,举几个例子。

1. 内核,驱动及中间件


内核开发和驱动本身就是一个方向,驱动和硬件接口相关,而内核的修改和移植更是需要对OS有很深的理解。至于中间件,一般是基于OS或存在于OS和应用程序之间的库,最典型的就是基于Linux的Android。


2. 通信协议


通信协议有很多种,经常用到的有网络通信协议,无线通信协议,串口/USB通信协议等等。


3. 音视频技术


牵涉到音频视频处理,压缩,编解码等等。


4. 信息安全


如加密技术,身份认证,数字证书等等。


5. 行业知识


和具体行业或领域相关的知识,如通讯、工控、电子等等。

 

这里有一个我认为不错的学习步骤:


1. 基础知识中,计算机组成、操作系统、编程语言和数据结构是必需的。


2. 找一种CPU体系,了解其核心架构,学习指令集,比如说ARM。


3. 找一种OS,如Linux,或是传统RTOS,如Nucleus、eCos,读源码和文档,理解OS内部实现,包括进程,任务,消息机制,内存管理,设备驱动,中断等核心内容。


4. 找一块成熟的开发板,板级资料要齐全,熟悉嵌入式软件开发流程。


5. 在项目过程中深入学习其它的技术。


总之,这些知识的学习不是一蹴而就的,过程会很漫长,也没有什么特别的技巧。需要去看大量的技术文档和源码,而这些文档大部分又都是英文的。在工作和做具体项目的过程中会学习的比较快,理论结合实践才是王道。


嵌入式的发展方向有很多,门槛高低不一样。具体来说:


1.单片机:工控程序(不跑os)--入门容易,无外乎就是掌握汇编和c,能够根据datasheet来写,发展前景一般,也没有太大的技术难度,除非你在算法上面有优势,比如智能车会各种PID,模式识别上会神经网络,优化上会遗传算法等等,但是这些复杂的控制一般就不会裸奔了(除非环境恶劣),肯定是处理器强悍,带os的;硬件制作--就是数字电路,涉及单片机的外设,感觉难度也不高,据我说知,只会单片机无论硬件还是软件工资都不高,也没有特别大的技术含量,同时,单片机更新换代特别快,你需要从大量的单片机中找寻适合产品的,看不同的datasheet。


2.ARM:这个搞的人很多,软件上就是1.写底层驱动,这个入门,深入都不容易,需要对硬件及os有较深的了解,发展还是很不错;2.操作系统-比较复杂,linux,android等,你看现在很多手机厂商推出的操作系统也就是修改内核,换皮肤,就业还是很容易的;3.应用程序,就是android开发或者Linux上应用开发(QT等),做的人很多,就业容易待遇也不错,需要掌握c++/java。硬件上1.就像手机一样在处理器上做整体的电路,比单片机入门难的多,做成技术大牛了不缺钱。2.soc,架构开发等后面会提到


3.FPGA:就是硬件编程,入门很简单,做深很难,要对时序有非常深的理解和大量的项目开发经验,就算你做的特别好,前景还是不明确。FPGA近年的一大热门就是软件无线电,成本还降不下去,同时AD采样速度目前不够,导致FPGA的应用有限,一般公司都是把它作为一个验证工具比如IC设计上的验证。只会FPGA就业会很窄,也不理想,建议作为工具学习。


4.DSP:就是算法,你需要一个名牌大学研究生以上学历,同时在算法和数学上有很强的能力。如果做不到,就不用搞了。


5.IC设计,做微处理器上的soc,前端后端,专用处理器(应该也属于嵌入式领域),入门难,成为牛人更难,对计算机体系结构,微处理器结构,集成电路等等有比较深的认识,然后项目经验大大的有才行。不过国内行情一般,外企招人少,希望今年开始国家的扶持政策能够发挥作用。


6.微处理器体系结构:偏理论,偏宏观,研究生能够对整个体系结构有个比较浅的了解同时在局部上能够做一点设计工作,博士生能够对整个结构有较深的认识在局部上能设计。现在搞的多的是高性能体系结构,低功耗结构,并行开发等等,因为功耗和并行限制了目前处理器的速度,所以在低功耗和并行上开发有很大的前景,同时基于神经网络的架构处理器,云计算处理器等专用处理器也是目前的一个热点。发展前景很好,但是难度不是一般的大,从中国在架构上做出的贡献在世界上分量很少就可以看出。

关键字:嵌入式开发 引用地址:嵌入式开发就业前景分析_嵌入式领域的职业发展方向

上一篇:嵌入式系统的主要应用_嵌入式系统技术应用领域
下一篇:受面板涨价严重 2017年彩电零售规模同比下降6.6%

推荐阅读最新更新时间:2024-05-03 02:23

打造最强Eclipse-嵌入式开发环境(AVR)
前言 因为我是一名搞嵌入式单片机开发攻城狮,我在自己使用的IDE上会花一些心思来优化升级它,以求更高的效率解决问题。 “工欲善其事必先利其器”,从入行到现在也用了很多的编辑器/IDE,从在学校里用的Notepad++到UeStudio到VS 2013等等,每一次发现一个心得好用的功能都能让我编程的速度更快一步。 在网上搜索了许久,发现关于Eclipse方面的资料实在太少不完整,因此便有了这篇博文,我们的每一点分享最终可以汇聚 成一片汪洋。为便于检索,转载请注明出处(http://www.cnblogs.com/ccword/p/4636105.html)。 UeStudio大概用了2年多,我翻遍它的每一个角落来针对
[单片机]
基于MB86R01的ARM嵌入式开发平台
摘要:文中主要介绍了富士通的系统LSI芯片MB86R01的工作机制,以及集成在单芯片上的ARM926EJ-S核心,图像显示控制器(GDC),车载通信功能,各种媒体接口的功能特点。该芯片可处理来自汽车导航器件或数字仪表板的数据和车载网络的信息,以提高驾驶环境的舒适性,同时实现高质量的图像和视频显示。 关键词:MB86R01;ARM926EJ-S;图像显示控制器MB86296 随着汽车、通信、信息电器、医疗、军事等行业的巨大的智能化需要,嵌入式软件及系统发展迅速。微处理器从8位到16位、32位甚至64位,从支持单一品种的CPU芯片到支持多品种的,从单一内核到除了内核外还提供其它功能模块。而且随着硬件技术的不断革新,硬件平台的处
[工业控制]
基于MB86R01的ARM<font color='red'>嵌入式开发</font>平台
嵌入式开发板QtE必备知识-qt4文件的移植和修改
到迅为制作的触摸库文件“/usr/local/tslib”,迅为已经将触摸功能编译到 Qt/E4.7.1 的库文件中,开发板可以支持触摸和鼠标功能。 用户在前面运行 helloworld的时候,会发现触摸和鼠标似乎无法使用,但是在 qt4 中却 能使用触摸和鼠标。 如何将 qt4 的触摸功能移植到应用程序 helloworld中。 如下图,打开“etc/init.d/rcS”文件,将最后一行修改为“/bin/qt4_shell &”,这样 在开机之后系统会运行 qt4.shell 程序。修改完成之后,保存退出。 然后使用命令“#cp -r bin/qt4 bin/qt4.shell”将“bin/qt4”文件
[单片机]
<font color='red'>嵌入式开发</font>板QtE必备知识-qt4文件的移植和修改
嵌入式开发之STM32开发之EXTI中断使用及踩坑
关键点 中断配置,中断触发 中断配置 中断必然要绑定一个触发中断的外部I/O口,这里我选PA0,对应EXIT0,因为PA0正好对应我板子上的K3键,我需要K3键去触发这个中断 GPIO_InitTypeDef GPIO_InitStructure; EXTI_InitTypeDef EXTI_InitStructure; /* config the extiline(PB0) clock and AFIO clock */ RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA | RCC_APB2Periph_AFIO,ENABLE);//GPIOA根据你自己板子设定
[单片机]
您是否真的适合做嵌入式开发(三)
6、处理器芯片的选择      处理器芯片的选择为本年度新增的调研项目,据调查统计数据的结果显示,TI(德州仪器)和SAMSUNG(三星),成为最受开发者欢迎的嵌入式处理器芯片提供商,占据了接近一半(47%)的市场份额,其他知名厂家处理器芯片所占市场份额分布为:Qualcomm(高通)10%、Intel(英特尔)8%、NXP(恩智浦)6%、Atmel(爱特梅尔)5%、Nvidia(英伟达)5%、Freescale(飞思卡尔)4%、Renesas(瑞萨)3%,除以上厂家之外的其他处理器则占总体市场份额的12%。   7、软件开发语言的使用      来自2012-2013年度华清远见的调查统计数据显示,在嵌入式产
[模拟电子]
初学者如何玩转ARM,举一反三
我是稀里糊涂的走上了嵌入式开发的道路,回想起来,多亏了身边的几位朋友,是在与他们的闲侃中慢慢的走上了这条道路:从最早的电路设计,PCB打板,电路调试,模拟仿真,单片机开发到后来的ARM开发,回想起来,心里也是诚惶诚恐,如履薄冰。 我开始做电子是用的AVR单片机,从I/O、按键…到内存、外设玩了一通。工作之后,才开始玩ARM。在项目中逐渐对ARM开发有了一些感悟。 学习ARM有两个目的,看你是那种:1、长见识,顺便玩玩;2、工作需要,从事ARM开发。这就要分开对待了。 如果是长见识,随便玩玩,为日后的工作做准备,那么就应该挑选市场上很成熟的ARM7、ARM9等资料比较多,玩的人比较多,出现问题容易解决;如果是工作需要,就
[单片机]
初学者如何玩转ARM,举一反三
4412嵌入式开发板设备树源码的编译环境、镜像编译介绍
平台:4412开发板 1 编译环境 1.1 Ubuntu12.04.2(可参考迅为4412用户手册或者入门视频教程,关于搭建编译环境的部分) 1.2 安装设备树编译器:apt-get install device-tree-compiler 1.3 uboot和内核的源码和编译器 1.3.1 源码(视频目录下) itop4412_kernel_4_14_2_bsp-20190225.tar.gz 1.3.2 编译器(itop4412_kernel_4_14_2_bsp-20190225.tar.gz源码包中) gcc-4.6.2-glibc-2.13-linaro-multilib-2011.12
[单片机]
4412<font color='red'>嵌入式开发</font>板设备树源码的编译环境、镜像编译介绍
2013年风河嵌入式开发者大会展现物联网成果
全球领先的智能互连系统嵌入式软件提供商风河®公司近日宣布,于2013年11月5日至8日在北京、上海以及深圳等主要城市召开中国开发者大会。作为嵌入式软件行业重要的年度盛会,2013年风河中国开发者大会展现了物联网领域的主要趋势和机会。 风河公司亚太区副总裁Namiq Kunimoto说:“物联网已经掀起了一波创新浪潮。云计算、网络通信、数据分析、网关以及传感器领域的最新发展不断将智能化推向新高度。为了应对行业的变革,开发团队必须全面提升各项技能,快速提高开发效率,并且能够在关键时刻做出最佳的决定。风河通过其产品和专业服务帮助企业克服物联网所带来的挑战,把挑战转变成机遇。” 风河公司来自全球各地的高管亲临会场,和与会者一起探讨了最
[物联网]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved