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

描述

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分