AUTOSAR之操作系统概览.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文档。上传文档
查看更多
AUTOSAR之操作系统概览 0? 为什么需要OS? 现在嵌入式系统纷繁复杂,这点毋庸置疑,但是为什么需要操作系统呢?有没有仔细思考过。其实在早期的嵌入式系统中,是没有操作系统概念的。相信做嵌入式开发的同学都能理解,在main()函数中,写个while循环,再加个定时器,按照分时间片的方式,定时执行代码,就可以完成简单的调度。 但是,现在不一样了,系统越来越复杂了,以前那种简单粗暴的调度已经无法满足要求。说到系统复杂,主要原因有如下几点: 任务多样化; 周期复杂化; 分层调用嵌套; 多核系统引入; 举个例子。比如,我们有个三核系统,其中core0负责应用功能ASW,core1负责基础功能BSW,core2负责系统监控、功能安全和诊断等。如何在功能运行时,满足其正常任务的调度,同时系统代码指令和监控等也同步呢?在main()函数里,我们通过循环语句加定时器再试试看,估计要“难于上青天”了吧。 所以,就需要一个叫做操作系统的东西出现。它管理任务和事件的调度、不同任务之间的数据流,并提供监视和错误处理功能。操作系统为实时应用提供所有基本服务,包括中断处理、调度、系统时间和时钟同步、本地消息处理,以及错误检测机制。 1? AUTOSAR OS特点 操作系统可以根据它们的特征被分成不同的组,比如静态配置和动态管理。要对AUTOSAR操作系统(下文简称AUTOSAR OS)进行分类,以下是其基本特征: 静态配置 推断系统的实时性能 提供基于优先级的调度策略 运行时提供保护功能(内存、定时等) 无需外部资源,可嵌入低端控制器 所以,Autosar OS 和常见的OS(如linux系统OS)具有以下的区别: 在运行时不会动态创建新任务; 属于预编译配置变体,必须在编译之前定义所有任务; 操作系统没有动态内存管理,也没有用于手动控制任务的shell。 在AUTOSAR OS提出之前,在汽车电子领域其操作系统已经经历了两个阶段,即non-OSEK OS和OSEK OS。 当然,现在处于的第三个阶段Autosar OS,是与OSEK兼容的操作系统,但是具有多个扩展性能。例如可扩展功能:调度表,OS applications,内存保护和时序保护。OSEK OS 特别提供了以下特性支持AUTOSAR: 基于优先级调度 处理中断的功能 中断高于任务的优先级 防止错误使用OS 服务的保护措施 StartOS和StartupHook 启动接口 ShutdownOS和ShutdownHook 关闭接口 具体的OS的可扩展级别分四级: SC1 OSEK OS +计划时间表 SC2 SC1 +时序保护 SC3 SC1 +内存保护 SC4 SC1+SC2+SC3 2? AUTOSAR OS的对象 Autosar OS提供基于优先级的调度策略,具有可抢占属性和同步的机制,通过事件和资源的属性来实现。AutosarOS提供以下对象进行多任务执行的管理,如Alarms,Applications,Application modes,Counters,Events,ISRs,Register Sets,Resources,Schedule tables,Spinlocks,Tasks。这些对象及其配置是AUTOSAR OS的重点内容,后续我们会分别详细解释,这里简单介绍。 Alarms:警报器,就像我们的上课铃声,到时间就会响。操作系统用它来做一些定时的事,比如激活一个任务Task。 Applications:从字面意思理解,它是一个应用,准确地说,它应该是一个分区。它部署到某个Core上,主要的作用就是管理放到其中的对象。为什么要这个东西呢?举个不恰当的例子。MCU像一个国家,核就是它的省,那么Applications就可以理解成省管辖下的地级市。比如,某一天一个地级市里发现了大量新冠病毒感染者,为了防止扩散,将该市封闭处理,以免扩张到其他市区。想想看,当这个市里出现疫情时,是封闭整个省好呢,还是仅封闭该市好呢?显然是后者。芯片里的划区也是非常合理的。AUTOSAR OS中分区分为可信的和非可信的。 Application modes:用的极少,这里不展开介绍; Counters:把Counter比作心脏比较合适,对于芯片来说,它就是晶振。在操作系统它的作用就是计时或者计数,一般Counter与芯片的Timer结合起来,Counter的精度决定了操作系统能计时的准确度。 Events:事件。在嵌入式操作系统中,事件一般是和任务绑定一起来实现调度功能的,当然也可以由Alarms来触发。比如,我通过设定某个任务在10ms进程执行,10ms的任务就和该事件一起来实现。 ISRs:interrupt service routine,就是我们讲的中断。中断的概念对于嵌入式开发的同学而

文档评论(0)

play + 关注
实名认证
文档贡献者

分享有帮助的文档

1亿VIP精品文档

相关文档