嵌入式软件体系架构 博学公司承担了一项宇航嵌入式设备的研制任务。本项目除对硬件设备环境有很高的要求外,还要求支持以下功能: ①设备由多个处理机模块组成,需要时外场可快速更换(即LRM结构)。 ②应用软件应与硬件无关,便于软硬件的升级。 ⑨由于宇航嵌入式设备中要支持不同功能,系统应支持完成不同功能任务间的数据隔离。 ④宇航设备可靠性要求高,系统要有故障处理能力。 公司在接到此项任务后,进行了反复论证,提出三层栈(TLS)软件总体架构,如图12-7所示,并将软件设计工作交给了李工,要求其在3周内完成软件总体设计工作,给出总体设计方案。 在TLS软件架构的基础上,关于选择哪种类型的嵌入式操作系统问题,李工与总工程师发生了严重分歧。李工认为,宇航系统是实时系统,操作系统的处理时间越快越好,隔离意味着以时间作代价,没有必要,建议选择类似于VxWorks5.5的操作系统;总工程师认为,应用软件间隔离是宇航系统安全性要求,宇航系统在选择操作系统时必须考虑这一点,建议选择类似于Linux的操作系统。 请说明两种操作系统的主要差异,完成表12-8中的空白部分,并针对本任务要求,用200字以内的文字说明你选择操作系统的类型和理由。
下面是关于基于ARM内核的典型嵌入式系统硬件组成的叙述:
Ⅰ.典型嵌入式硬件系统包括完成模拟量和数字量输入功能的前向通道
Ⅱ.典型嵌入式硬件系统包括完成模拟量和数字量输出功能的后向通道
Ⅲ.典型嵌入式硬件系统包括人机交互通道(例如键盘或触摸屏等输入接口及LED或LCD显示等输出接口)
Ⅳ.典型嵌入式硬件系统包括相互互连通信通道(例如以太网接口、USB接口等)
上述叙述中,正确的是()。
现代嵌入式系统的设计方法是将系统划分为硬件和软件两个独立的部分,然后按各自的设计流程分别完成。
基于ARM架构的嵌入式微处理器具有哪些性能和特点?
嵌入式系统基本架构主要包括哪几部分?
答案:
请详细阅读有关嵌入式软件架构设计方面的描述,回答问题1和问题2。
在嵌入式系统中,软件采用开放式架构已成为新的发展趋势。软件架构设计的优劣将直接影响软件的重用和移植能力。
某软件公司主要从事宇航领域的嵌入式软件研发工作。经二十多年的发展,其软件产品已被广泛应用于各种航天飞行器中。该公司积累了众多成熟软件,但由于当初没有充分考虑软件的架构,原有软件无法被再利用,为适应嵌入式软件技术发展需要,该公司决策层决定成立宇航嵌入式软件开放式架构研究小组,为公司完成开放式架构的定义与设计,确保公司软件资源能得到充分利用。研究小组查阅了大量的国外资料和标准,最终将研究重点集中在了SAEAS4893《通用开放式架构(GOA)框架》标准,图20-1给出了GOA定义的架构图。
某研究所承担了一项宇航嵌入式系统的研制任务,本项任务技术难度大、可靠性要求高、进度要求紧,预计软件规模约在一万行以上。而该所原先承担的相关项目均是用汇编语言编写(软件规模较小,一般是几百行)。项目主管工程师将软件开发的论证工作分别布置给了王工和李工,要求他们根据本项目的技术要求,在一周内分别提出软件的实施方案。
①该宇航嵌入式系统由数据处理机、信号处理机及数据采集模块组成。信号处理机主要通过数据采集模块将大量不同时间周期的外部数据采集进来,进行预处理(如FFT变换)后提交给数据处理机;数据处理机根据功能要求完成各种计算处理工作,并将结果输出。为了达到数据处理机和信号处理机的标准化,这两类处理机均采用同种处理机的体系结构(如PowerPC7410)。整个系统工作的最大周期为1s,最小周期为5ms。数据处理机上任务分布如表12-16所示。
②一周后,王工和李工提交了各自的实施方案,其共同之处在于二者均提出采用操作系统及相应的软件开发环境。但是,王工和李工在选择什么样的操作系统及开发环境方面出现了较大分歧。王工的实施方案指出,为了满足本项目的技术要求,并有利于本所软件的长期发展,应选用具有硬实时处理能力的嵌入式实时操作系统及开发环境(如VxWorks);而李工的实施方案指出,操作系统主要完成对计算机资源的管理与分配工作,考虑到人们对操作系统及软件开发工具的熟悉程度,本项目应选用具有大众化的、开发人员容易上手的嵌入式操作系统(例如,WindowsCE、Linux)。
③在两人争执不下的情况下,项目主管工程师组织了相关专家对王工和李工提交的实施方案进行了评审。最后,专家组一致认为王工的方案切实可行,操作系统的选型论证充分、客观,可以作为本所未来几年中相关项目的软件开发的基本环境。同时专家组还就具体实施选择嵌入式实时操作系统及开发环境产品时应着重考虑的相关问题提出了几点建议。
免费的网站请分享给朋友吧