[AutoSar]基础部分 RTE 06 对runnable的触发和SWC的影响

本文详细介绍了Autosar平台中的runnable概念,包括其作为最小执行单元的作用和RTE事件的多种类型,如模式切换、周期触发和数据交互事件。还讨论了内部变量管理、专属运行区以及私有内存区的使用,以确保系统性能和数据一致性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


  

关键词

嵌入式、C语言、autosar、Rte

平台说明

项目Value
OSautosar OS
autosar厂商vector
芯片厂商TI
编程语言C,C++
编译器HighTec (GCC)

在这里插入图片描述
>>>>>回到总目录<<<<<<

一、runnable

  runnable是autosar中的最小执行单元,可以理解为就是一个函数,一个swc中可以包含一个或者多个runnable。
runnable具有唯一的入口,被RTE所触发。
runnable可以被mapping到os task上。
在这里插入图片描述

二、RTE的event

  Rte 触发runnable 的event有下图几种类型。显示为灰色的是因为没有接入对应的interface。
在这里插入图片描述

2.1Mode类型event

  当进入或者推出或者切换模式的时候触发。
在这里插入图片描述

2.2周期触发类型

在这里插入图片描述

2.3 数据交互触发

在这里插入图片描述

on data reception Error:当接收数据错误时触发,包括超时和返回错误。
on data send/write completion :当显示类型发送接收完成触发。
on data reception:当指定数据接收到时触发。
on operation call return:异步调用完成时触发,运行后续处理结果等。
on operation invocation:C/S 口调用。

三、internal runnable value

理解为全局变量。为同一个.C中的runnable提供数据一致性,分为隐式和显示。
在这里插入图片描述

四、专属运行区指定

用于在一个swc中指定一个runnable 单独运行,不与其他runnable同时触发。
在这里插入图片描述

五、per_instance memory

私有内存区,避免多个component同时访问某个内存区域造成数据的非预期改变。创建成功后rte会根据该component生成唯一标识符,后续会用到memory map机制。
在这里插入图片描述
>>>>>回到总目录<<<<<<

内容概要:本文继续深入探讨AUTOSAR软件组件(SWC)的相关内容,在前文介绍SWC的关键属性元素如data typeport的基础上,进一步详细阐述了SWC中的Runnable实体。RunnableSWC提供的最小代码单元,由操作系统调用,通过RTE根据预设规则触发。文章解释了Runnable的不同类型(普通Runnable、Server Runnable、Init Runnable),关键属性(如是否可重入、最小启动间隔),以及多种触发条件(周期性触发、数据接收、模式切换等)。此外,还介绍了Access Points的配置,允许Runnable选择性地访问特定Port。最后,文章讨论了SWC的其他重要属性,包括Exclusive Areas(临界区)、Inter-Runnable Variables(IRVs)、Calibration Parameters(CAL)Per-Instance Memories(PIMs),并强调了这些属性在确保数据完整性系统稳定性方面的作用。; 适合人群:对AUTOSAR有一定了解或正在学习AUTOSAR的嵌入式系统开发人员,特别是那些希望深入了解SWC内部机制及其配置的专业人士。; 使用场景及目标:①理解RunnableSWC中的角色及其配置方法;②掌握不同类型的Runnable及其触发条件的应用场景;③学会如何配置Access Points以优化Port访问;④了解如何利用Exclusive Areas、IRVs、CALPIMs等属性提高系统的可靠性性能。; 阅读建议:由于本文涉及大量具体配置技术细节,建议读者结合实际项目经验,逐步理解每个概念,并在实践中应用这些配置技巧,同时参考官方文档其他相关资料,以加深对AUTOSAR SWC的理解。
AUTOSAR架构中,RTE的角色非常关键,它不仅负责调度Software Component (SWC)的Runnable执行,还涉及Basic Software (BSW)的初始化调度。为了理解RTE如何协调SWCBSW的初始化数据交互流程,您可以参考这篇资料:《AUTOSAR RTE深度解析:与BSWPort的交互》。 参考资源链接:[AUTOSAR RTE深度解析:与BSWPort的交互](https://wenku.youkuaiyun.com/doc/678vks7spg?spm=1055.2569.3001.10343) 首先,RTE负责初始化阶段的SWCBSW组件。初始化流程通常包括对操作系统(OS)的启动,以及对BSW组件如内存管理、MCAL模块、端口等的初始化。RTE确保这些初始化工作按照预定义的顺序时机进行。 其次,RTESWCRunnable实例化调度中发挥着重要作用。RunnableSWC中的可执行实体,RTE根据配置信息来管理Runnable的生命周期,包括它的激活、执行以及资源释放。在多核操作系统中,RTE负责管理不同核心间的通信同步,保证Runnable在正确的核上按预期执行。 关于数据交互,RTE提供了一系列的Port接口,用于支持SWC之间以及SWC与BSW之间的通信。这些Port可以是内部通信类型的,也可以是跨ECU通信类型的。RTE负责管理这些Port的映射,以及数据交互的同步缓冲。 综上所述,RTE通过精心设计的初始化流程Port管理机制,确保了在多核环境下软件组件的高效执行安全数据交互。为了进一步深入了解RTE、BSWPort的细节,推荐您阅读《AUTOSAR RTE深度解析:与BSWPort的交互》这份资料。这不仅会帮助您解决当前的问题,还会为您提供更为全面深入的知识,助您在AUTOSAR体系结构的学习之路上走得更远。 参考资源链接:[AUTOSAR RTE深度解析:与BSWPort的交互](https://wenku.youkuaiyun.com/doc/678vks7spg?spm=1055.2569.3001.10343)
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

老灰╮(╯-╰)╭

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值