嵌入式应用软件

今日头条

1094人已加入

描述

  随着计算机嵌入式的日新月异,嵌入式应用软件是实现系统各种功能的关键,好的应用软件使得同样的硬件平台更好、更高效地完成系统功能,使系统具有更大的经济价值。嵌入式应用软件是针对特定应用的、基于相应的硬件平台、为完成用户预期任务而设计的计算机软件。用户的任务有时间、精度的要求,同时嵌入式系统对于实现成本十分敏感,因此在满足系统功能要求的前提下,就要最大限度地降低系统成本,除了精简每个硬件单元的成本外,还应尽可能的减少嵌入式应用软件的代码量。这就要求嵌入式应用软件不但要保证准确性、安全性、稳定性以满足应用要求,还要尽可能的优化。

  嵌入式软件开发的特点和技术挑战

  (1) 需要软硬件开发环境和工具

  嵌入式应用系统的开发属于跨平台开发啊,即开发平台使用的处理器和开发对象的处理器往往不是同一类型,需要交叉的软件集成开发环境,即进行代码编写、编译、链接和调试应用程序的集成开发环境。与运行应用程序的环境不同,它分散在有通信连接的主机与目标机环境之中。在主机上系统开发者利用丰富的软硬件资源、开发工具、仿真系统,通过与目标机的通信,生成能够在目标机上调试、运行的代码。一套完整的ARM综合性嵌入式软件开发工具,应包含ARM体系的集成环境、调试器、模拟器、仿真器、评估板。

  (2) 软硬件必须协同设计

  这种方法不是简单的软硬件同时设计,首先必须从系统的需求出发,实现系统级与电路级设计的融合,从确定所需的功能开始,形成精确功能描述规范化模型。模型必须明确且完备,以便能够描述整个系统。通常使用模型将系统分解为许多对象,然后以一种选定的语言对各个对象加以描述,产生设计说明文档。其次是把系统功能转换为组织结构,组织结构通过确定系统中部件的数量、种类以及部件间的互连,来定义系统的实现方式。设计的过程或方法就是一组设计任务,将抽象的功能描述模型转换成组织结构模式。

  (3) 需要新的任务设计方法

  嵌入式应用系统以任务为基本的执行单元。在设计阶段,用多个并发的任务代替通用软件的多个模块,并定义了应用软件间的接口。嵌入式系统的设计通常采用DARTS设计方法,该方法给出了系统任务划分的方法和定义任务间接口的机制。

  (4) 须固化代码

  开发过程完成后,系统应用程序代码需要固化到系统中进行功能、性能和可靠性测试。

  嵌入式系统运行环境千差万别,甚至非常恶劣,这就要求应用软件在目标环境下必须被存储在非易失性存储器中,保证用户用完关机后下次还能正常使用,所以在应用软件开发完成以后,应生成固化版本,将程序烧写到目标环境的ROM中运行。在开发调试阶段,利用开发环境中主机丰富的软硬件资源和调试软件,可以方便的观察到软件运行的过程,但在实际的目标环境中,没有这些额外的观察调试环境,所以为保证固化后的程序安全正确的运行,在程序固化环境完成以后,还需要运行各种测试。

  (5) 技术要求高

  技术挑战:软件的要求更高,开发工作量和难度更大。

  嵌入式系统开发具有明确的开发目标,最终要构建一点就至关重要了。要保证实时性要求,开发者就必须在系统设计和应用软件开发中,充分考虑到系统的实时性能。另外,还有功耗、体积、性能、软件稳定、系统可靠性、抗干扰、开发成本、系统构建时间、系统最终上市时间及系统的生命周期、系统的后续升级和维护、长期运行的可靠性等因素,这些都必须在软硬件设计开发的整个过程中充分的考虑和体现。通常在考虑优化某因素的同时会影响到其他方面,就必须要将众多设计要点综合考虑,系统设计。系统的可测试性和系统的设计优化是嵌入式系统设计的关键和挑战。

  嵌入式系统开发的这些特点,必然加大了嵌入式应用软件的开发工作量和难度。同学们如果有想要了解的问题记得给尚观教育小编留言哦。


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

全部0条评论

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

×
20
完善资料,
赚取积分