嵌入式系统误区剖析.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式系统误区剖析

嵌入式系统误区剖析      随着国内企业的产业升级、国内嵌入式系统的开发也同步发展起来。但国内相关的培训、教育并没有跟上嵌入式应用的大发展,由此也产生了很多嵌入式开发方面的误解。下面将逐步做一探讨。   嵌入式的特点就是以体现系统特性为目的,这一点与桌面应用有很大不同。   大多数嵌入式应用都较简单,目标单一。对于多任务分时操作系统来说,软件的执行对时间并不严格。实时操作系统的主要任务是对事件进行实时处理,虽然事件的到达时刻无法预知,但必须在事件发生时能在严格时限内做出响应(即系统响应时间),即使是在尖峰负荷下,否则超时就意味着失败。操作系统通常忙于自己的“分内工作”,比如内存分配、进程调度,但一旦接到实时性指令就要响应实时任务。这就存在实时响应与任务完成两个概念。系统在响应任务请求后把处理器资源交给实时任务,然后就是实时任务自身工作了。      系统实时性应用示例方面      嵌入式系统通常提到的实时概念,在实际应用中,主要是汽车驾驶或飞机飞行控制之类,它们对性能稳定可靠、任务响应及时的要求高。   而这种应用越简单,对可靠性、稳定性要求越高,就不可能完全依靠复杂的操作系统来实现。即使处理速度足够快,系统进行相当复杂的操作,稳定性也会很难保证。以汽车安全气囊为例,是传感器直接连接专用的处理器。我们必须跳出PC的架构思想去构造嵌入式应用,所有的技术是服务于设计的。   通常会碰到这种应用场景:一个分时复用的多任务操作系统系统正在显示图标、处理事务,但临时有一个实时响应进程抢占系统资源,其他进程全被阻塞。如果系统的设计允许这样也罢,但很多资料或文章却忽略了对系统其它进程的影响。   对一个复杂分时多任务系统来说,某一任务的实时响应会影响系统的整体性能,甚至是严重影响。如果实时任务和数据存储、处理、显示都很重要,那就要保证系统设计要有足够冗余处理能力,整体功能也要靠系统设计来实现。      嵌入式实时系统改进方面      嵌入式实时系统改进方面存在的误区,比较常见的是通过调整定时器精度来细化系统调度时钟精度,增加内核可抢占性、改进调度器来提高实时性能。   系统内核中,大量活动是由时间驱动的,系统定时器精度直接决定时间驱动事件调度的精确性。在复杂的分时多任务系统中,这一参数会直接影响实时精度,一味调高定时器精度会导致系统性能严重下降,而且很容易引起系统运行的颠簸。   市场上的实时系统通常都是可抢占式内核,最高优先级的任务一旦就绪,总能得到CPU控制权而不必等当前任务交出CPU控制权。   这就产生了一个误区:内核的可抢占绝不是任何时间都可抢占,这要看内核中抢占点的设置及在可抢占内核中抢占锁是否被置为可抢占。可参看图1。      图1 内核仅在黄色部分可抢占,其他部分是不可抢占的      经常有人想对调度器进行修改,希望通过这种方法来进一步改进某些指标,但往往会忽略系统均衡。如果对系统要求比较高,完全可以通过系统化的方法来满足应用的需要,而把改造调度算法作为项目之余的实验。      嵌入式操作系统尺寸方面      嵌入式系统要求系统越小越好,但任何指标都要满足系统整体设计要求。如果仅仅通过系统最小尺寸去考虑应用,很可能导致系统无法工作或者要增加很多其他相关的支持库才能正常使用。   理论上,系统能够把自身引导起来,并能给应用分配系统资源,管理输入输出就可以算作最小系统。但上层应用需要操作系统来管理复杂的图形显示、有良好的图形界面和各种协议支持能力。随着嵌入式CPU处理能力的增强,大容量存储介质价格的下降,对应用支持程度的关注早就超越了对系统尺寸的关注。所以抛开功能去讨论系统尺寸是没有意义的。   嵌入式整体系统设计方面      嵌入式操作系统是否适用于你的项目,如何应用。这取决于你对系统应用的要求。   嵌入式实时操作系统与实时嵌入式系统不是一个概念,不会由于你采用了一个实时嵌入式操作系统,你的系统就是实时嵌入式系统。也就是说,采用实时嵌入式操作系统只是给你提供了系统设计的基础,除此之外还要考虑中断响应时间、上下文切换时间、带不同数据量的上下文切换时间及应用的时序逻辑要求,再把相应的指标分解到你的应用设计中,还要考虑系统的冗余,对各种异常的处理、要严格防止优先级逆转的情况发生,这样才能做出符合要求的嵌入式系统设计。   应用的整体指标是依靠仔细的整体设计,绝不可能仅是通过简单地把一个应用提高优先级,然后在嵌入式实时操作系统上运行来达到要求。      优先级逆转方面      优先级逆转就是优先级高的任务由于低优先级任务保持了竞争资源被迫等待,或高优先级任务意外被低优先级任务中断,而阻止了高优先级任务的运行。   优先级逆转将导致高优先

文档评论(0)

189****7685 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档