0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

嵌入式软件工程师的发展路径

工程师人生 来源:工程师吴畏 2019-07-18 16:30 次阅读

谈谈自己对嵌入式行业的认识以及对当前市场行情、人才需求的看法。

关于嵌入式,它涉及到全社会生活的方方面面,一个嵌入式装置一般都由嵌入式计算机系统和执行装置组成,嵌入式计算机系统是整个嵌入式系统的核心,由硬件层、中间层、系统软件层和应用软件层组成。执行装置也称为被控对象,它可以接受嵌入式计算机系统发出的控制命令,执行所规定的操作或任务。

嵌入式系统是一种专用的计算机系统,作为装置或设备的一部分。通常,嵌入式系统是一个控制程序存储在ROM内存中的嵌入式处理器控制板。事实上,所有带有数字接口的设备,如手表、微波炉、录像机、汽车等,都使用嵌入式系统,有些嵌入式系统还包含操作系统,但大多数嵌入式系统都是由单个程序实现整个控制逻辑。

从应用对象上加以定义,嵌入式系统是把软件和硬件结合,还可以包含机械的专业知识。国内普遍认同的嵌入式系统定义为:以应用为中心,以计算机技术为基础,软硬件可裁剪,适应应用系统对功能、可靠性、成本、体积、功耗等严格要求的专用计算机系统。

嵌入式开发的相关领域:

当今嵌入式行业内,主要有一些比较流行热门的领域,这些领域的人才缺口较大,容易受到企业的欢迎:

① 数字图像压缩技术:这是嵌入式最重要最热门的应用领域之一,主要是应掌握MPEG编解码算法和技术,如DVD、MP3、PDA、高精电视、机顶盒等都涉及MPEG高速解码问题。

通信协议及编程技术:这包括传统的TCP/IP协议和热门的无线通信协议。首先,大多数嵌入式设备都要连入局域网或Internet,所以首先应掌握 TCP/IP协议及其编程,这是需首要掌握的基本技术;其次,无线通信是目前的大趋势,所以掌握无线通信协议及编程也是是很重要的。无线通信协议包括无线 局域网通信协议802.11系列,Bluetooth,以及移动通信(如GPRS、GSM、CDMA等)。

网络信息安全技术:如加密技术,数字证书CA,以及各种网络安全设备,包括硬件防火墙,入侵检测IDS,还有防毒墙,IPS等,中国在这方面还是没有自己优势的,我们陈院长好象正在往这方面发展。

DSP技术:DSP是Digital Signal Process数字信号处理的意思,DSP处理器通过硬件实现数字信号处理算法,如高速数据采集、压缩、解压缩、通信等。数字信号处理是电子、通信等硬件 专业的课程,对于搞软件的人若能了解一下最好。目前DSP人才较缺。如果有信号与系统、数字信号处理等课程基础,对于学习MPEG编解码原理会有很大帮助。

职位方面,职位有主要有五个方面:

① 系统设计工程师

② 硬件工程师

③ 底层驱动工程师

Linux系统工程师

⑤ 应用设计工程师

薪资方面,在嵌入式行业中,具有10年工作经验的高级嵌入式工程师年薪在30万元左右。即使是初级的嵌入式软件开发人员,平均月薪也达到了3000—5000元,中高级的嵌入式工程师月薪平均超过10000元。参考国内招聘网大量的招募信息,嵌入式硬件工程师普遍在7000元左右,嵌入式软件工程师在10000元左右。

对于专业知识需求,因所选专业为嵌入式软件,故广集招聘网的招聘信息后,此处只罗列出和嵌入式软件相关的:

① 关于ARM:ARM A7/A8/9或A57 Cotex-A9 STM8 STM32

② 关于编程语言:精通C/C++语言,熟悉汇编

③ 常用软件:keilatmel studio、Candence、PADS、Altium Designer

④ 协议相关:TCP/IP、USB、USART、I2C、SPI等,熟悉基于socket的网络通信

⑤ 通行通信接口编程:RS232RS485以太网

⑥ 操作系统相关:

1.掌握LINUX或uCOSrt-thread某一操作系统的使用与开发

2.能独立进行内核的移植和驱动编写。

3.内核系统移植/调试及应用程序开发工作

⑦ 辅助:

1.能阅读硬件原理图和芯片数据手册

2.可熟练使用示波器等常用嵌入式开发仪器

⑧ 其他:

1.良好的代码编写习惯和文档编写能力

2.良好的沟通和协调能力

3.能够阅读英文技术文档

关于学习之路,结合市场需求和网络上的资料,梳理了一份适合自己的学习路线。

① Linux开发基础学习

虚拟机搭建、Linux宿主机安装、Linux命令、服务器搭建Samba,NFS、VI编辑器

② Linux编程

GCC/GDB、Makefile、交叉编译环境搭建+C语言强化+Linux系统编程

51单片机/AVR单片机入门

GPIO、中断服务程序、定时器、状态机编程、按键、OLED

④ ARM体系结构与编程

ARM处理器编程

⑤ Linux系统内核分析

⑥ Linux驱动程序开发

总结:由薪资和待遇看来,当前市场人才缺口还是较大,需求量逐年上升;但由于嵌入式不像移动互联开发(如安卓开发、C#开发等)纯软件的开发思维,而是涉及到底层硬件学习又兼顾驱动程序的编程,枯燥的硬件电路学习和繁杂的驱动程序编写,造成了嵌入式入门的困难。在我看来,在当今物联网的趋势和政策下,物体与物体的联系越来越密切,未来的嵌入式开发势必占据IT行业的半壁江山,扭转现在移动互联当红的现状,形成全民物联、全民嵌入的风气,呈现一幅繁荣的景象。但学习嵌入式需要有足够的耐心和毅力,需要学会举一反多,并建立牢固的知识基础,所以,在未来面对求职市场之前,我会坚持学习底层知识,敢于提问,敢于解决问题,多参加电子类比赛,尽最大努力提升自己的实力。最后,写下自己的座右铭:

让坚持成为一种习惯,让放弃成为一种奢侈。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4981

    文章

    18266

    浏览量

    288220
  • 软件工程师
    +关注

    关注

    8

    文章

    217

    浏览量

    20924
收藏 人收藏

    评论

    相关推荐

    一款适合嵌入式工程师使用的在线工具

    一款适合嵌入式工程师使用的在线工具,工具有如下功能,如下图所示: 1. 报文校验功能,如下图所示 2. UDP服务端测试工具:该UDP服务端工具可以理解为 “UDP服务端” 或者 “服务器
    发表于 04-09 22:20

    嵌入式工程师需要掌握哪些技术?

    嵌入式工程师需要掌握哪些技术? 嵌入式系统是当今科技领域中的重要组成部分,它们存在于我们生活的方方面面,从智能手机到汽车控制系统,从家电到医疗设备。因此,对于那些想要进入嵌入式行业的
    发表于 03-04 16:38

    嵌入式人工智能的就业方向有哪些?

    发展方向有很多,门槛高低不一样。下面给大家列举一些相应岗位所需具备的技能: 一:嵌入式Linux,C语言开发工程师,Linux软件开发工程师
    发表于 02-26 10:17

    嵌入式软件工程师常用的

    最近我换工作了,看见不同嵌入式软件工程师用的平台都不一样,所以我整理了一下。PlatformIO:多平台支持:PlatformIO支持多种嵌入式平台,包括Arduino、ESP8266、ESP32
    的头像 发表于 12-24 08:00 231次阅读
    <b class='flag-5'>嵌入式</b><b class='flag-5'>软件工程师</b>常用的

    有没有谁做过DSP、微型逆变器/微逆变/大型工业逆变器、嵌入式软件的软硬件高级工程师

    急需 DSP、微型逆变器/微逆变/大型工业逆变器、嵌入式软件等丰富经验的软件高级工程师、硬件高级工程师,深圳,面议面议,自荐/推荐请联系我。
    发表于 12-14 17:32

    嵌入式硬件和软件哪个好?

    ,如复位电路、常用滤波器电路、功放电路、高速信号传输线的匹配电路等;故障定位、解决问题的能力;设计文档的组织编写技能! 那对于嵌入式软件工程师来说: 嵌入式软件工程师领域较新,他的
    发表于 12-05 15:17

    中高级【嵌入式驱动工程师】年薪50w内可谈

    中高级【嵌入式驱动工程师】 年薪50w以内可谈 工作​地点:北京市 了解更多 ‼5年以上内核驱动开发经验 ‼​需要有国产化操作系统/芯片平台的驱动开发经验(必须) 交换机/交换芯片驱动开发经验
    发表于 11-23 13:35

    为什么嵌入式没有35岁危机?

    岁危机呢? 首先,嵌入式技术的应用领域非常广泛。它不仅仅局限于软件开发,还需要与硬件密切结合。相比之下,其他IT岗位如软件工程师、系统管理员等更容易受到年龄因素的限制。嵌入式技术的工
    发表于 11-17 10:33

    如何成为一名优秀的嵌入式工程师

    了解到最新的技术和趋势,同时也可以提高自己的编程水平。 要成为一名优秀的嵌入式工程师,需要不断学习和实践,掌握C语言的基础知识,同时也要关注嵌入式发展和变化,不断提高自己的编程水平。
    发表于 11-07 15:36

    什么是嵌入式Linux?

    仅仅是保底统计。) 目前,嵌入式开发人才需求大,而随着人工智能的崛起势必又将进一步推动嵌入式技术的发展,无论是从短期还是长期来看,嵌入式开发工程师
    发表于 10-11 13:47

    嵌入式软件好还是硬件好?

    电路、功放电路、高速信号传输线的匹配电路等;故障定位、解决问题的能力;设计文档的组织编写技能! 那对于嵌入式软件工程师来说: 嵌入式软件工程师领域较新,他的
    发表于 09-18 15:31

    为什么嵌入式软件工程师需要掌握 Linux?

    ,都默认支持 Linux 操作系统。 可以说, 打开 Linux 这扇门,你才是合格的软件工程师 。如果不能
    的头像 发表于 07-21 18:15 1309次阅读
    为什么<b class='flag-5'>嵌入式</b><b class='flag-5'>软件工程师</b>需要掌握 Linux?

    嵌入式学习路线你知道吗?

    外围设备的硬件工作原理,以及如何使用C语言来编程、控制这些硬件。除了要学习对硬件编程之外,还需要学习嵌入式硬件的知识,但是对于嵌入式软件工程师来讲,重点是学习硬件的工作原理,在掌握硬件工作原理的基础上
    发表于 06-14 16:00

    如何构建我自己的嵌入式C编译器?

    只是为了获得如何构建我自己的嵌入式 C 编译器的知识,如预处理、汇编、链接器、生成 Hex 文件、elf 文件、映射文件。 任何有用的链接可用? 我是嵌入式软件工程师,并且具有 c 编程 python、bat 脚本方面的知识。
    发表于 06-08 08:10

    【社区工程师专题系列第一期】坚持兴趣成就嵌入式工程师——杨永胜

    : 2018年7月-2019年7月 杭州海康威视数字技术股份有限公司,嵌入式 Linux BSP 开发工程师2019年7月-至今 连云港杰瑞电子公司,嵌入式软件开发
    发表于 05-19 10:25