嵌入式软件开发工程师的方向(嵌入式开发工程师和软件开发工程师)
本篇文章给大家谈谈嵌入式软件开发工程师的方向,以及嵌入式开发工程师和软件开发工程师对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、嵌入式开发分为哪几个方向?
- 2、嵌入式就业方向有哪些?
- 3、嵌入式就业方向
- 4、嵌入式开发工程师是做什么的?就业方向有哪些
- 5、嵌入式软件工程师主要做什么工作?
- 6、嵌入式领域的职业发展方向有哪些
嵌入式开发分为哪几个方向?
嵌入式虽然只有简单的三个字,但它牵涉到的东西却很广,现在很多人对嵌入的理解都比较狭隘。
不知道你是学什么专业的,所以我说的系统点。
首先从工作内容来分:有嵌入式硬件工程师,嵌入式软件工程师。
嵌入式硬件工程师要做啥?
当然是设计原理图(涉及模电,数电,高频),画PCB板等,他们只负责硬件,和软件有关的都由嵌入式软件工程师来负责,所以通常一个新产品研发,需硬件工程师和软件工程师密切的配合,才能出成果。
嵌入式软件工程师要学啥?
大部分人说的的嵌入式,估计就是说嵌入软件了,忽略硬件,所以说比较狭隘。
首先介绍几种嵌入式系统
1,以单片机为核心的嵌入式系统,如51,AVR,要求会C语言或汇编,比较简单,大多数只做单片机的公司,会要求同时会硬件和软件,特别是小公司(大公司软硬件分工较细),也就是说自己设计电路,自己写程序,如你是学电子专业的,这个合适,这个电子专业的做的比较多。
2,以ARM7,M0,M3等为核心的嵌入式系统,功能比单片机多了不少,要求会C语言或汇编,或UCOS等一些微内核的嵌入式系统,这些可以说是一些强大的单片机了,开始有专门的硬件工程师来做硬件,软件专门负责软件,除非一些比较变态的小公司,既要你做硬件又要你写代码,我就碰到一个,一心不得不二用。
3,以ARM9,ARM11等更高位核心的嵌入式系统,功能复杂,要求C或C++,会LINUX系统或WINCE等其他一些系统,如现在很火的安卓系统,软件和硬件严格分工,软件工作量很大,硬件很复杂,需多人合作。
当然还有其他的嵌入式系统如MIPS,DSP,FPGA等等的,多了去了。
如你学的计算机专业第三种你最合适。
所以不要认为嵌入式就是LINUX和C了,有时一个产品里,这几种嵌入式系统同时存在,综合的组成一个完整的产品。
所以在学嵌入式之前,先全面的了解嵌入式,找准自己的方向
(纯手写,欢迎追问)
嵌入式就业方向有哪些?
嵌入式就业比较热门的领域有:物联网、智能家居、智能医疗、智能汽车电子、智能硬件产品开发等。
嵌入式是一种专用的计算机系统,目前国内学习嵌入式方向的人员的就业方向有物联网、智能家居、智能医疗、智能汽车电子、智能硬件产品开发等。嵌入式就业行业比较广泛,根据具体工作内容不同又对应不同的职位。
扩展资料:
1、嵌入式系统是软硬结合的东西,搞嵌入式开发的人有两类:
一类是学电子工程、通信工程等偏硬件专业出身的人,他们主要是搞硬件设计,有时要开发一些与硬件关系最密切的最底层软件,最初级的硬件驱动程序等。
另一类是学软件、计算机专业出身的人,主要从事嵌入式操作系统和应用软件的开发。如果这类人对硬件原理和接口有较好的掌握,也完全可以写BSP和硬件驱动程序。
2、嵌入式发展前景:
嵌入式领域较新,发展非常快,很多软硬件技术出现的时间都不太长(如ARM处理器、嵌入式操作系统、LINUX操作系统),大多数人没有条件接触或进入嵌入式行业,更谈不上能有机会接受专业人士的指导。因此,踏进这个行业的难度比较大,嵌入式人才稀缺,身价自然也水涨船高。
权威部门统计,我国嵌入式人才缺口每年50万人左右。根据前程无忧网发布的调查报告,嵌入式软件开发是未来几年最热门和最受欢迎的职业之一,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。
参考资料来源:百度百科--嵌入式
嵌入式就业方向
既然能够问出这样的问题,我想你一定是对嵌入式行业不了解,嵌入式技术在我们日常生活中应用了很多,比如电子产品,尤其是我们生活中拥有的智能手机、智能电视、智能机器人等等都是利用了嵌入式技术研发出来的,单从这方面来看,前景就相当不错。
接下来就简单下嵌入式就业前景吧。
嵌入式开发领域:嵌入式可以说是当下最有前途的IT应用领域,小到电子词典、手机,大到航空航天设备都是典型的嵌入式系统,因此,通过嵌入式技术人才的职业发展空间是非常大的。
嵌入式人才需求:目前国内的嵌入式人才是季度匮乏的,据权威部门统计,我国嵌入式软件人才缺口每年为40万左右,很多知名大型企业对嵌入式人才都有大量的需求,供不应求的现状也导致嵌入式人才身价上涨,可以说越是有专业经验的工程师,就业竞争力也就越大。
嵌入式就业方向:既然嵌入式技术应用领域非常广泛,那嵌入式工程师的从业方向可以说是多元化的,在嵌入式培训之后,可以从事消费电子、安全安防、汽车电子、医疗电子、电信等行业的计算机应用设计开发岗位就业,担任嵌入式产品及应用系统的设计与开发工程师,从事嵌入式技术的应用项目设计开发、产品维护与技术服务等工作。
从开发领域、人才需求和就业方向等因素来分析,学习嵌入式,前景十分广阔,在未来的智能时代中,嵌入式工程师无需担心就业前景。从一些招聘网站的信息来看,一般有2—3年工作经验的嵌入式开发工程师,其平均年薪也都在15万以上,职位发展空间也很大。
嵌入式开发工程师是做什么的?就业方向有哪些
嵌入式开发工程师顾名思义肯定是从事嵌入式设备开发的人。但是嵌入式的定义却很微妙。你可以先去理解这个概念。嵌入式概念很难定义清楚,我觉得除了PC机和服务器,其它只能设备都是嵌入式设备。像各种的智能设备和现在很流行的手机、平板等都是。就业的方向就要看你的兴趣和基本知识了。主要有硬件开发和软件开发2大块。硬件的我不是很懂主要是元器件的选择和PCB的制作等。软件开发一般又分为驱动程序的开发和应用层软件的开发。当然真正的工作岗位还会细分的很多,这些都比较难解释的很清楚需要自己认真琢磨一下慢慢了解的。不过万变不离其宗,主要是基础知识的积累,这个很重要。希望对你有点帮助。
嵌入式软件工程师主要做什么工作?
嵌入式软件工程师平时的工作就是负责嵌入式软件系统的规划、设计、编码、测试等工作。
嵌入式分为操作系统和硬件两个方面,就业的方向更广、更深,就业机会和入职待遇比普通软件工程师好。开发一些与硬件关系最密切的最底层软件,如BootLoader、Board Support Package(像PC的BIOS一样,往下驱动硬件,往上支持操作系统),最初级的硬件驱动程序等。
要求技能和发展方向
嵌入式工程师需要具有C语言或C++语言、汇编语言、操作系统等基础;熟悉模拟电子技术和数字电子技术等硬件知识;了解处理器体系结构。
积累丰富开发经验的嵌入式软件开发工程师可以向嵌入式系统开发工程师发展,从而晋升为产品研发经理或IT项目经理。
对测试理论和方法有一定了解的嵌入式软件开发工程师还可以转作嵌入式系统测试工程师,最终也可发展为IT项目经理。如果想创业,做自已的产品,嵌入式软件开发可以开发出专利产品。
嵌入式领域的职业发展方向有哪些
嵌入式领域的职业发展方向
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、 在项目过程中深入学习其它的技术。
总之,这些知识的学习不是一蹴而就的,过程会很漫长,也没有什么特别的技巧。需要去看大量的技术文档和源码,而这些文档大部分又都是英文的。在工作和做具体项目的过程中会学习的比较快,理论结合实践才是王道。
嵌入式软件开发工程师的方向的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于嵌入式开发工程师和软件开发工程师、嵌入式软件开发工程师的方向的信息别忘了在本站进行查找喔。