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

时间:2022-08-17 12:25:00 职场 我要投稿
  • 相关推荐

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

  嵌入式领域的方向是很多的,它所应用到的行业范围也很广。那么,嵌入式领域的职业发展方向是什么呢?下面小编为大家收集整理了嵌入式领域的职业发展方向,希望能为大家提供帮助!

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

  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、微处理器体系结构

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

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

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

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

  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、专业和经历对职业方向的影响

  一些人开始考虑从事什么职业是从选择专业或从学校毕业找工作的时候开始,也有人在有了一段工作经历之后提出这样的问题,无论哪种情况,大家对所学专业和工作经历在选择职业中的作用是有共识的,尤其是那些专业技术性比较强的学科,情况更是如此。对于那些和职业联系不紧密的专业,个人特点兴趣和市场需求影响的因素会大些,但无论如何,个人都无法回避找工作时市场对个人在专业和经验方面的条件和要求,尽管在个性和市场之间,不同的人会有不同的选择。很显然,在目前供求关系不平衡的条件下,市场有更大的影响力。

  2、市场因素对职业方向的影响

  时下常提到的先就业再择业的观点,从某种程度上说明了这样的问题。实际上道理很简单,如果我们连工作都无法找到,还怎么谈职业的发展,在就业和选择职业方向的问题上,无疑考虑就业应该排在第一位,因此,我们没有办法忽略市场的因素而单纯地来讨论选择职业方向的问题。只有在我们的选择可以满足市场的条件,我们有条件在不同的选择中挑选时,个性问题才是重要的。

  3、个人需求对职业方向的影响

  对工作的选择在某种程度上反映了个人对生活的态度和追求,每个人对生活的理解和追求也是有差别的,人的个性也是这种理解和追求的一种表现。生存是人最基本的需求,当生存受到了威胁,其他方面的需求就变得不那么重要了,也就是说,个人当无法找到工作而维持生活时,个人在选择职业时个性对这个职业方向的影响已经不是要考虑的问题了。不能否认人的个性对职业发展方向有一定的影响,但也不应忽视个人的主观因素是做好任何工作最重要的条件,如上面的例子中提到的。同时也要注意抛开市场来考虑个性是不现实的,我们要客观地分析个性在现在职业发展方面能占有的比重,完全忽视或过分的强调都是不恰当的。

【嵌入式领域的职业发展方向有哪些】相关文章:

大学金融专业职业发展方向有哪些03-30

会计的职业发展方向有哪些04-30

新兴职业有哪些07-22

职业摄影有哪些误区04-20

常见职业危机有哪些?04-20

护士职业等级有哪些06-03

安检门使用的领域范围有哪些04-02

职业发展方向怎么写-会计生的职业发展方向04-30

2017有发展前景的职业有哪些03-30