当前位置 : 首页> 交流分享 > 常见的嵌入式系统开发难点有哪些?

常见的嵌入式系统开发难点有哪些?

时间:2019-09-26 11:42:32   已访问:918次
热门专业

随着近几年智能硬件的飞速发展,嵌入式工程师的前景非常广阔,很多硬件、软件工程师纷纷转型加入到嵌入式工程师的行列。作为一个汇聚众多嵌入式开发工程师人才资源的平台,帮助工程师在项目开发中解决技术难题是快包义不容辞的使命,嵌入式工程师们如何解决嵌入式开发中的遇到的技术难题?成为嵌入式工程师面临问题,下面就列举一些嵌入式软件发展中面临的常见难题。

常见的嵌入式系统开发难点有哪些?_www.cnitedu.cn

常见的嵌入式系统开发难点有哪些?

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

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

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

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

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

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

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

一般单片机都会有一些标志寄存器,可以用来判断复位原因;另外也可以自己在RAM中埋一些标志。在每次程序复位时,通过判断这些标志,可以判断出不同的复位原因;还可以根据不同的标志直接跳到相应的程序。这样可以使程序运行有连续性,用户在使用时也不会察觉到程序被重新复位过。此外,嵌入式系统变化更新比较快,对开发时间要求比较紧,尤其是消费类产品更是如此,如果有一套功能强大的嵌入式软件集成开发工具可以满足嵌入式软件开发各个阶段的需求,同时又使用方便,界面友好,那是最理想不过了。


推荐内容