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

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

3天内不再提示

嵌入式工程师经常遇到哪些难题

工程师人生 来源:wv 作者:简书网 2019-09-20 15:24 次阅读

目前国内的嵌入式开发主要有两种:

一种偏硬,主要使用语言是C语言汇编,例如做驱动开发,这类的开发对硬件要求比较高,短期内比较难掌握,除非是专业人士,另外,这类开发的就业机会比较少,因为国内的硬件设计力量很弱,稍复杂的硬件都交给***或国外公司设计。

一种偏软,主要基于嵌入式操作系统,例如Symbian、LinuxAndroid等等,开发人员主要从事嵌入式操作系统和应用软件的开发;特点是比较容易上手学习,就业机会多,因为嵌入式设备的增值很大程度上取决于嵌入式软件,这占了嵌入式系统的最主要工作。

嵌入式软件发展中面临的问题

随着近几年智能硬件的飞速发展,嵌入式工程师的前景非常广阔,很多硬件、软件工程师纷纷转型加入到嵌入式工程师的行列。

中国嵌入式软件产业的发展面临着良好的发展环境与机遇,这包括政府的重视与扶植、信息产业与传统产业的融合机遇、垄断局面尚未形成、中国制造的良好基础、自由软件运动的兴起等等;同时,不可否认的是长期以来,由于人才、宣传、资金等诸多问题以及嵌入式本身所特有的软硬结合特性,使嵌入式软件人才一直处于供不应求的状态。

尽管这几年嵌入式人才不断增加,但仍然无法满足行业巨大的市场需求,尤其是顶尖的嵌入式开发人才稀缺,据了解,国内领先的智能产品开发外包服务平台快包六月的嵌入式开发需求多达50多个,平均每天天一到两个嵌入式开发需求发布,而且酬金几乎都是一万以上,一个门禁嵌入式开发项目酬金高达十五万。

作为一个汇聚众多嵌入式开发工程师人才资源的平台,帮助工程师在项目开发中解决技术难题是快包义不容辞的使命,嵌入式工程师们如何解决嵌入式开发中的遇到的技术难题?

嵌入式微控制器技术的出现给现代工业控制领域带来了一次新的技术革命,嵌入式微控制器组成的系统,其最明显的优势就是可嵌入到任何微型或小型仪器设备中,嵌入式系统在工控领域的应用已越来越受到重视,其实同英语一样,嵌入式系统开发一定要去在实战中演练,要去用,在实践的过程中解决问题,获得经验,慢慢才能成为一个高手,如果只是学而没有练,永远都只能是纸上谈兵,一遇到实际问题便束手无策。

常见的嵌入式系统开发难点

嵌入式系统开发包括这几个方面:硬件,底层软件,应用软件。在这几个方面里,硬件和底层软件结合比较紧密,底层软件和应用软件又交互影响,所以嵌入式系统的硬件和软件结合比较紧密,根据工程师反馈,嵌入式开发所面临的问题主要表现在以下几个方面。

对目标系统的观察和控制:由于嵌入式硬件系统千差万别,软件模块和系统资源也多种多样,要使系统能正常工作,软件开发者必须要对目标系统具有完全的观察和控制能力,例如硬件的各种寄存器、内存空间,操作系统的信号量、消息队列、任务、堆栈等。

涉及多种CPU及多种OS:嵌入式的CPU或处理器可谓多种多样,这包括了Pentium、MIPS、PPC、ARM,XScale等,而且应用都很广,在其上运行的操作系统也有不少,如VxWorks、Linux、Nuclears、WinCE等等,即使在一个公司之内,也会同时使用好几种处理器,甚至几种嵌入式操作系统,如果需要同时调试多种类型的板子,每个板子上又运行着多个任务或进程,那复杂性是可想而知的。

开发工具种类繁多:不仅各种操作系统有各自的开发工具,在同一系统下开发的不同阶段也有不同的开发工具。如在用户的目标板开发初期,需要硬件仿真器来调试硬件系统和基本的驱动程序,在调试应用程序阶段可以使用交互式的开发环境进行软件调试,在测试阶段需要一些专门的测试工具软件进行功能和性能的测试,在生产阶段需要固化程序及出厂检测等等。一般每一种工具都要从不同的供应商处购买,都要单独去学习和掌握,这无疑增加了整个公司的支出和管理的难度。

嵌入式开发工程师除了遇到以上三个常见的问题之外,还会遇到诸多开发难题,比如在嵌入式开发中软件抗干扰问题,关于这个问题,快包产品总监给大家提供了一个可行性方案,供工程师们参考、讨论。

关于软件抗干扰问题和策略,如果在实际应用中能很好的遵循这些原则,再配合硬件电路的抗干扰措施,基本上可以消除干扰影响。但有时往往因为程序本身的复杂度和芯片资源的限制,再加上编程人员本身的能力限制,不能做到十分完善。所以我们只能给出一些建议,至于具体的实现,就需要各位在平时的项目实践中不断的摸索和积累经验。以下是之前有关软件抗干扰的问题答复,谨供参考。

防止干扰最有效的方法是去除干扰源、隔断干扰路径,但往往很难做到,所以只能看单片机抗干扰能力够不够强了。单片机干扰最常见的现象就是复位;至于程序跑飞,其实也可以用软件陷阱和看门狗将程序拉回到复位状态;所以单片机软件抗干扰最重要的是处理好复位状态。

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。

此外,嵌入式系统变化更新比较快,对开发时间要求比较紧,尤其是消费类产品更是如此,如果有一套功能强大的嵌入式软件集成开发工具可以满足嵌入式软件开发各个阶段的需求,同时又使用方便,界面友好,那是最理想不过了。

有的嵌入式系统的处理能力和存储能力较弱,不能在它上面安装开发软件;有的嵌入式系统的处理器结构特殊,没有可以在上面运行的开发工具,所以,在开发嵌入式系统时,通常需要采取交叉开发的方式进行,快包平台提供嵌入式软件开发、嵌入式系统开发、嵌入式硬件开发等创意服务,只要您在网站发布任务需求,就能够吸引百万专业服务商给您献上最好的嵌入式开发方案,同时快包方案超市也有现成的嵌入式方案,想用的可以通过平台直接与方案商对接,省时又方便。

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

    关注

    4976

    文章

    18237

    浏览量

    287869
  • 工程师
    +关注

    关注

    59

    文章

    1553

    浏览量

    67477
收藏 人收藏

    评论

    相关推荐

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

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

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

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

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

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

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

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

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

    嵌入式硬件和软件哪个好? 嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看
    发表于 12-05 15:17

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

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

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

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

    FPGA工程师需要具备哪些技能?

    FPGA(Field-Programmable Gate Array)芯片因其具有灵活性、高定制化、高性能等特点,被广泛应用于数字系统设计、嵌入式系统、通信系统、计算机视觉等领域。作为FPGA工程师
    发表于 11-09 11:03

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

    如何成为一名优秀的嵌入式工程师嵌入式学习的第一步,首先是C语言。 1.理解内存管理:C语言不同于高级语言,它不会自动管理内存。因此,你需要理解并掌握如何使用malloc()、free()等函数
    发表于 11-07 15:36

    【社区之星】彭仲维:扎实的基本功与时间的沉淀才是工程师成功的关键!

    之星回顾:第78期: 【社区之星】李海:要想长期从事一个工作,没有兴趣推动是不会有成就的 第77期: 【社区之星】杨永胜:兴趣加努力,就是嵌入式工程师最好的前进之路 第76期: 【社区之星】谢小龙:五年
    发表于 10-13 14:15

    什么是嵌入式Linux?

    发展需要不断进化。随着芯片性能的增强和社会变革的需要,嵌入式系统越来越承接更多、更复杂的功能,所以嵌入式开发也以高薪稳定的状态稳坐在就业的顶端。(相较于其他行业,嵌入式工程师的工资在同
    发表于 10-11 13:47

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

    嵌入式软硬件工程师哪个更有前途呢?一起来看看。 嵌入式是分为软硬件工程师的,首先我们先来看看嵌入式硬件
    发表于 09-18 15:31

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

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

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

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

    招聘兼职工程师

    兼职工程师工作招聘: 1、熟悉电路、模电、数电,认识电阻、电容、二三极管、基础器件、放大电路、集成运放、时序电路基本电路。 2、能独立进行元件选型、原理图和PCB设计、电路 调试,需要有过硬的电路
    发表于 05-05 15:35