- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
[软件设计ZhouSu第11章嵌入式软件设计
软件体系结构与设计 第11章 嵌入式软件设计 第11章 嵌入式软件设计 实时系统的概念 嵌入式系统设计 体系结构模式 时序分析 实时操作系统 第11章 嵌入式软件设计 从一般家用电器到制造企业,采用计算机控制的系统非常广泛。与其他类型的软件系统相比,嵌入式软件系统更多。这些计算机直接与控制装置交互。它们需要对硬件产生的事件做出响应并发出相应的控制信号。这些信号引发动作,例如开始一个电话呼叫、屏幕上的角色移动、阀门的打开、系统状况的显示。这些系统中的软件嵌入到硬件中,通常是在只读存储器里,并且总是能实时地响应系统环境中的事件。在实际应用中,软件系统响应外部事件有一个时限。如果超过了这个时限,整个硬件软件系统将不能正确地运行。 11.1 实时系统的概念 实时响应是嵌入式系统有别于其他软件系统(如信息系统、基于Web的系统或者个人软件系统)的最为重要的特点。对于非实时系统,它们的正确性可以通过指定系统输入如何映射到由系统产生的对应的输出来定义。对一个输入,系统对应产生一个输出,通常应该存储一些数据。例如,在病人信息系统中,如果选择一条创建命令,正确的系统响应是在数据库中创建一条新的病人记录,并证实这已经实现。在合理的限度内,它的执行与时间无关。 11.1 实时系统的概念 然而,在实时系统中,准确性既依赖于对输入的响应,又依赖于产生该响应的时间。如果系统响应花费太长时间的话,那么这个响应可能是无效的。例如,如果嵌入式软件控制的汽车刹车系统执行太慢,那么由于车不能及时停下来,就会发生事故。 11.1 实时系统的概念 因此,在实时软件系统的定义中,时间是固有要素,即:实时系统是一个软件系统,系统的功能正确与否取决于系统产生的结果以及产生这个结果的时间。“软”实时系统是这样一个系统,如果结果没有在规定的时间内产生,则它的操作被视为退化的操作,而在“硬”实时系统中,则会被视为系统失败。 但是,在某些情况下,也有不需要非常快速响应的嵌入式系统。例如,野外气象站软件是一个嵌入式系统,但是它并不要求对外部事件进行迅速的响应。 11.1 实时系统的概念 除了包含实时响应的需求之外,嵌入式系统和其他类型的系统之间还有其他重要的不同点: (1)嵌入式系统通常持续运行而不终止。当硬件开启时,系统开始执行,且必须执行直到硬件被关闭。这就意味着依赖于可靠的软件工程技术,必须用来确保连续运行:实时系统可能包括更新机制来支持动态配置,这样系统处于服务期间也能得到更新。 (2)和系统环境的交互是不可控制和不可预测的。在交互系统中,交互的节奏是受系统控制的。通过限制用户选择,待处理的事件是可以提前了解的。相反,实时嵌入系统必须能对任何时候的意外事件做出反应。这导致了对实时系统的设计是基于并发的,多个进程并行执行。 11.1 实时系统的概念 (3)存在影响系统设计的物理限制。这样的例子包括系统可利用的电源限制和硬件占据的物理空间的限制,它们可能会产生对嵌入式软件的需求,例如,节约能量以延长电池供电时间的需求。尺寸和重量的限制意味着软件要承担一些硬件功能,因为系统需要限制使用的芯片数量。 (4)直接硬件交互是必要的。在交互式系统和信息系统中,通常通过一个软件层(设备驱动)对操作系统隐藏硬件,因为只能将几种类型的设备连接到系统,例如键盘、鼠标、显示器等。相反,嵌入式系统要和各种各样的硬件设备交互,而这些设备没有单独的设备驱动。 11.1 实时系统的概念 (5)安全性和可靠性在系统设计中占据主要的地位。许多嵌入式系统控制的设备如果失败了会带来高昂的人力或经济成本。因此,可依赖性是至关重要的,并且系统设计必须确保设备一直都保持着安全要求极高的行为。通常采用保守的方法设计,即使用调试过或测试过的成熟技术,而不是使用可能会导致失败模式的新技术。 11.2 嵌入式系统设计 嵌入式系统可以看做是反应式系统,即它们必须以环境所要求的特定的速度对环境中的事件做出反应。 嵌入式系统的设计过程是一个系统工程的过程,在该过程中软件设计者要深入考虑系统硬件的设计和性能。有些系统设计过程要决定哪些系统能力用软件实现,哪些用硬件实现。对于很多嵌入在消费类产品(如手机)中的实时系统来说,硬件的成本和电能消耗是一个非常重要的问题。需要使用专用的处理器来支持嵌入式系统,而对于某些系统,可能还需要设计和建造专用的硬件。 11.2 嵌入式系统设计 这意味着自上而下的软件设计过程——即设计开始于抽象模型,通过一系列阶段对抽象模型分解和开发——这一过程对于绝大多数实时系统来说是不现实的。对于硬件、支持软件以及系统时序等方面的一些下层决策,需要在过程的早期进行考虑。这些限制了系统设计者的灵活性,可能意味着一些额外的软件功能,比如系统内必须包括电池和电源管理。 11.2 嵌入式系统设计 设
文档评论(0)