嵌入式岗位分析大全

嵌入式软件工程师则主要负责嵌入式设备上的软件开发工作,与传统软件工程师不同。传统的软件工程师通常开发PC或服务器上运行的应用程序,所依赖的操作系统大多是Windows、Linux等,而嵌入式软件工程师的工作环境则是诸如Wince、VxWorks、Linux等嵌入式操作系统。

一、嵌入式软件工程师的工作通常包括:

1. 应用程序开发:根据客户需求开发嵌入式设备上的应用程序,如智能家居设备、医疗仪器的用户界面等。

2. 嵌入式开发工具的使用:使用专门的开发工具,如Wince下的EVC(Embedded Visual C++)或Linux下的QT等。

3. 底层软件设计:尽管嵌入式软件工程师的主要工作在上层软件,但有时也需要参与到底层驱动的设计和调试中,确保上层应用与硬件的协调。

二、嵌入式硬件工程师与嵌入式软件工程师的区别

1. 工作性质的区别

嵌入式硬件工程师主要负责设计和搭建硬件平台,为软件工程师提供开发环境。硬件工程师的工作更像建筑师,设计并构建产品的硬件基础;而嵌入式软件工程师则像室内设计师,为产品增添功能和美感。

硬件工程师的工作重点在于确保电路的正常工作以及各种外设和芯片的兼容性,他们在设计时需要考虑以下几个关键问题:

- 功耗:控制电路设计的功耗,特别是在便携式设备中,这一因素尤为重要。

- 电磁干扰(EMI):确保电路不会干扰其他设备,也不容易受到外部干扰的影响。

- 生产可行性:电路设计不仅要满足功能需求,还需考虑生产的便捷性和成本。

- 可靠性:设计要能经受住长时间的使用和环境考验。

而软件工程师则专注于通过编写代码实现产品的功能,他们的主要职责包括应用程序开发、操作系统移植、以及优化软件性能等。

2. 项目依赖的差异

硬件的设计在整个项目中尤为关键。没有硬件,软件无法运行;但是在某些嵌入式系统中,硬件产品可以独立工作,比如简单的单片机应用无需操作系统支持。这种情况下,硬件工程师往往需要负责从硬件设计到功能实现的所有工作。而软件工程师在某些项目中可以缺席,特别是在没有复杂操作系统或用户交互界面的系统中。

3. 就业形式的差异

国内嵌入式软件工程师的就业市场较为广泛,培训资源也多,因此入门较为简单。硬件工程师由于门槛较高,需要深入的电路设计知识和实践经验,因此市场需求相对较少,但核心硬件开发人员的需求始终存在。

一旦硬件产品定型,软件的升级和维护成本较低,因此在后期,企业会更依赖软件开发来提高产品的功能和竞争力,这也导致嵌入式软件工程师在企业中的需求量较大。

三 实际开发应用技术

硬件工程师:主要负责底层硬件设计,需要掌握处理器(如ARM9,DSP,Nios II,FPGA)、PCB(如EMC设计与仿真)、通讯(如IIC,IIS,SPI,UART,CAN总线,RS232,PSTN Modem,网络,GPRS通信)等知识。

驱动开发工程师:主要负责底层和上层的通讯,需要掌握系统(如Linux非实时系统/VXworks实时系统+架构/文件系统)、内核与BOOT(如内核裁剪与移植、boot loader和驱动编写)、上层接口(如USB,网口)、底层接口(如SPI、UART、IIC、I2S,CAN)等知识。

软件工程师:主要负责上层应用软件,需要掌握CPU(如51/MSP430/ARM7/ARM9)、外设(如AD/DA、UART、USB、LCD)、总线和通讯接口(如I2C,SPI,RS232,RS484,CAN,USB,以太网)、环境(如Linux/QNX+ARM汇编)、GUI(如VC++/VC#/LABVIEW)等知识。

系统开发工程师:主要负责系统架构设计。

DSP软件工程师:主要负责数字信号处理部分,需要掌握CPU(如TI DM642/648/6467、TI C6000、TMS320C5000、Freescale StarCore)、算法(如熟悉图像、音频、视频相关处理算法)、接口与驱动(如网络协议(MAC、IP、UDP、TCP)等)、操作系统(如架构设计和操作系统配置)等知识。

全网最受欢迎的嵌入式面经

现在免费开放:https://www.nowcoder.com/creation/manager/columnDetail/MJNwoMc

全部评论

相关推荐

02-20 17:19
关于嵌入式转行有感找工作前 你要想好 未来5年后,你打算做什么。如果你想就找个稳定的工作,那我建议你考个985研究生,专门去研究某一领域 ,毕业就按这个方向去投简历,最好在上学期间做个自己实验小产品,那面试拿产品更有说服力。如果你想创业,我建议找个创业型公司,但是要求就是你能接触到整个项目,目的不是钱,是为了5年后你能积累足够的知识。这种公司不能太抠门,我指的是研发经费不能少,你可以工资少,但是研发经验不能扣扣搜搜,到时候你学习买材料都不给拨款,那就没什么意义选择创业型,这种可能不适合大部分人,首先你要问你自己,对这行是不是真的感兴趣,如果你只为了工作而工作,最好别去这种创业型公司。你记住一句话,工作为了你自己以后有更好的发展,钱少,没关系 但是我要学到东西。如果你下班都不能拿出精力去学习,只能说你可能不适合创业。还是找个稳定工作上班为好。楼主之所以能研究2天3夜 去解决问题,最大原因是我喜欢这行,我非常喜欢自己做点小产品以达到自己内心的满足感。可以说,不是为了钱,就是兴趣爱好使然。还有两句话 ,一直激励我:1. 书山有路勤为径 学海无涯苦作舟我自认为我足够聪明,学习能力超强,应该超过60%人的智商了,不过我还是很勤奋。能静下心去专心做一件事。如果你们想成功,就必须达到忘我的境界。2 多年后你会感激当初那么奋斗的自己!当你到死的前一天,你回想你这辈子所有经历,你觉得你没白活,你作为一个人 值得了。不是行尸走肉。我这人信神学,我觉得有平行世界,我们每天做梦可能会看到平行世界的自己。所以我对死亡无所畏惧,但是我要活得有意义。这辈子我设计很多产品,走过很多地方,教育好下一代,这就是我人生目标很多人私信我,想转行,看到我写的这些,还是有些疑惑,我再此给些建议吧。1 计算机,通信,电气自动化专业 转到嵌入式这类人相比于土木生化跳专业转这行相对来说要容易得多。有很多优势。这些专业学过c语言,大学物理,高中物理,理解计算机基础部分,上手容易。具体想转行的,参照我之前楼层写的 怎么从入门开始学,一共6步。具体要转偏软件还是偏硬件,这个具体要看个人,如果说想短期上手挣钱,我建议转偏软,也就是linux,安卓这些。但是这种岁数大会有职业危机,可替代性强。如果说想长期从事嵌入式行业,并且还能静下心学习,不怕辛苦,这种不是三天打鱼 两天晒网 要持之以恒这种,我建议转偏硬件,这种偏硬件在未来可以选择自己创业,也可以选择在不断提高技术后,跳槽到大公司。这种越老越吃香,但是很困难。起码要5-8年 成为大手。具体看个人情况而定。另外大家不要心血来潮去干一件事,一定要深思熟虑后再做决定,要热爱这行 ,你才能学好!如果是土木生化 想转到嵌入式,说实话,我不太建议转,首先大学没怎么接触c语言,单片机这些基础知识,转行很费劲。其次,360行行行出状元,我认为任何行业都能挣钱,但是如果大环境不好,要善于观察,看准什么方面挣钱,抓紧风口。如果说硬要转,我建议报班转偏软件,硬件能把人弄疯的,什么都没有准确答案,程序写对了,电路没设计好,也会出问题。但是偏软件的,没有硬件这些额外因素,相对来说问题小很多。另外刚毕业有条件可以考虑 gwy,部队文职,选调生 这些,不用非干技术不可,理想很丰满 现实很骨感 ,毕竟要挣钱吃饭的。沈阳有900万人口,做我们这行精通的几千人都没有,所以嘛 有铁饭碗的,我建议去。想好自己职业规划,三思而行分享不易 嵌入式可以参考大佬的面经https://www.nowcoder.com/creation/manager/columnDetail/MJNwoM
投递360集团等公司10个岗位
点赞 评论 收藏
分享
评论
1
5
分享

创作者周榜

更多
牛客网
牛客企业服务