[Classic AUTOSAR学习] SWC设计与应用(五)-- Internal Behavior...
发布网友
发布时间:2024-10-04 16:26
我来回答
共1个回答
热心网友
时间:2024-10-15 12:03
SwcInternalBehavior在AtomicSwComponentType中定义行为,包括允许执行的操作和方式。设计阶段,SwcInternalBehavior在VFB阶段不必引入,开发人员在应用层设计结束后为每个SWC创建。
可运行实体(RE)作为SWC的最小功能单元,代表特定功能,由OS调度执行。CompositionSwCType自身不能定义Internal Behavior。RE在设计上包含功能描述、事件触发、最小启动间隔、symbol名称唯一性、并发执行能力。
Events标识执行条件,Minimum Start Interval定义连续执行的最小间隔,RE的symbol在EcuInstance内保持唯一性。RE是否可并发执行由canBeInvokedConcurrently属性决定。当设置为False,RTE根据RTEEvent决定从suspended到to be started状态的转换,RE从to be started到running状态的时间取决于调度策略。
当RE返回,OS接管控制,RE状态从running迁移到suspended。Category 2 RE进入running状态后不再返回。RE被抢占时,进入preempted状态。当canBeInvokedConcurrently设置为False,RTE确保RE不会并发执行。RE在running状态时的并发执行请求需等待前一次执行完成或入队。
当canBeInvokedConcurrently设置为True,RE允许在不同OS任务中并发执行。SWC描述文件不定义并发限制,只说明是否允许并发。AUTOSAR service RE典型应用中,不同SWC可同时使用同一服务,集成时RE直接运行在调用服务的SWC上下文中,简化了client/server调用过程。
RE可以分为Category 1和Category 2。Category 1 RE需在有限时间内执行,细分为只使用隐性API的1A类和可调用server及显性API的1B类。Category 2 RE至少包含一个wait point,通常存在循环,当wait point触发时执行一次。
RE激活由RTEEvent触发,RE中需记录激活事件的详细信息。一个RE可能被多个事件激活。RE配置参数用于提供RE需要的输入参数,例如DLT service实例。同步机制保证RE间数据交换安全。
RTE Event定义事件及其处理方式,RE设置Event时可选择多种类型。在一个SWC中,RE之间可通过通信完成数据交换,同步机制无需PortPrototype。同一SWC不同实例间通信需通过PortPrototype。
Port API Options用于RTE生成接口时添加额外参数,例如DLT功能的session id。ServiceNeeds用于连接SWC与底层AUTOSAR Service,仅AtomicSwComponentType和NvBlockSwComponentType可用。集成ECU时,需选择实际的ECU配置选项以利用ServiceNeeds。
[Classic AUTOSAR学习] SWC设计与应用(五)-- Internal Behavior
SwcInternalBehavior在AtomicSwComponentType中定义行为,包括允许执行的操作和方式。设计阶段,SwcInternalBehavior在VFB阶段不必引入,开发人员在应用层设计结束后为每个SWC创建。可运行实体(RE)作为SWC的最小功能单元,代表特定功能,由OS调度执行。CompositionSwCType自身不能定义Internal Behavior。RE在设计上包...
[Classic AUTOSAR学习] SWC设计与应用(一)-- 什么是SWC (Software Comp...
探索经典AUTOSAR世界的基石:SWC设计与应用(一)</ AUTOSAR的目标在于提升应用程序的可复用性,它鼓励我们通过现有模型构建多样化的资源,无需从头开始。这就催生了类型-原型理念,它允许我们构建层次分明的软件组件设计,而这些组件的独立设计不会直接影响系统的运行行为,真正的行为细节由单个软件组件决定。
[Classic AUTOSAR学习] SWC设计与应用(四)-- Data数据篇 (Data...
首先,我们来深入探讨AUTOSAR中的DataType概念。AUTOSAR在定义DataType和Prototype时,从三个不同抽象层次出发,分别是Application Data Level、Implementation Data Level以及Base Type Level。在Application Data Level中,我们关注的是应用层面所有需要的数据定义,例如数值范围、数据结构和物理语义,这一层的数...
[Classic AUTOSAR学习] 基于功能安全的示例AUTOSAR软件系统
实现整体功能安全:项目实现中,主要从E2E、SafetyOS(应用分区、内存保护等)、Safety Watchdog、SafetyRTE等方面考虑。SWC开发需遵循ISO26262以提供Safety API。系统设计时应从一开始就考虑功能安全。AUTOSAR提供的功能安全支持是必要条件之一,但并非充分条件。在V字模型中,OEM和Tier1需要进行功能安全分析、...
...应用Vector DaVinci Dev和MATLAB进行SWC开发
在MATLAB中进行AUTOSAR SWC开发时,需将DaVinci Dev导出的SWC的arxml文件导入,并根据该文件创建Simulink模型。需注意几点:创建Simulink模型后,需手动建立Simulink Data Dictionary存储Base Workspace中的变量类型,并确保与Simulink模型关联;对于IRV中采用总线形式传递数据,应创建non-virtual Bus;在进行Code ...
基于PREEvision的AUTOSAR Adaptive设计——上篇
它主要包括AUTOSAR Classic Platform (CP) 和 AUTOSAR Adaptive Platform (AP) 两种架构。AP与CP并存而非替代,主要应用于基于微处理器单元(MPU)的系统,CP则适用于微控制器单元(MCU)。AP采用标准的方法论、分层结构、模块接口和编程语言,其标准化最新版本为R19.11(发布于2019年11月)。AP本质上...