搜索
下载APP
搜索
历史搜索
猜你喜欢
AutoSar中RTE的生成过程
3548 3 Variant论坛
2019-08-27 19:19
继续说RTE的生成过程。

生成阶段

                                           图1  RTE Generation Phase

在ECU完全配置好之后,就可以生成实际的RTE(包括基本的基础软件调度器部分)。由于在ECU配置阶段已经解决了与其他BSW模块之间的所有关系,因此所有模块可以并行执行生成。基础软件调度器是RTE的一部分,所以在图中没有显示出来。

BSW调度器生成阶段

根据ECU的复杂性和差异软件供应商的合作模式,可能需要将基础软件与独立的软件组件集成在一起。因此,RTE生成器必须支持生成基础软件调度器,而不需要软件组件相关的RTE片段。基本软件调度程序生成阶段只适用于不包含任何软件组件的构建。在基础软件调度器生成阶段,RTE生成器将生成没有RTE功能的基础软件调度器。在这种情况下,RTE生成器仅为基础软件模块和基础软件调度代码生成API。当输入包含软件组件相关信息时,此信息将引发错误。

 在ECU提取阶段,SW-C没有生成应用头文件;不允许映射RTEEvents,也不允许在OS任务体中生成可运行实体的调用。然而,与基础软件调度器配置相关的所有OS任务体都会生成;不支持映射到RTE的模式机实例。

 在基础软件调度程序生成阶段,RTE生成程序应拒绝包含软件组件相关信息的输入配置;RTE生成器还负责生成其他构件,这些构件有助于ECU软件的进一步构建、部署和标定;RTE生成器应提供其基础软件模块的描述,以实现生成的RTE和基础软件调度器属性。

基本软件调度程序生成中的RTE生成器应提供测量和标定描述,作为基本软件模块描述的一部分。

RTE生成阶段

实际上,AUTOSAR的SW-C和BSW代码会与RTE代码和基础软件调试器代码一起链接起来,编译生成完整的ECU软件。RTE生成器将负责以下内容:
生成其他构件,这些构件有助于ECU软件的进一步编译和标定;提供基本软件模块描述,以捕获生成的RTE的属性;提供测量和标定描述,作为BSW模块描述的一部分;如果使用loc模块,提供loc模块的配置;RTE生成IOC配置并使用特定的实现方案。通过这种方案可以重复使用IOC配置;生成IOC配置使用的内部实现配置数据类型;
相应的C数据类型将生成为Rte_Type.h的头文件。IOC将使用这个Rte_Type.h头文件来获取IOC API的类型。综上可知,如果更改RTE生成器就需要重新生成IOC配置。另外,RTE生成器会忽略类型为ICS的XML内容。带有类型ICS的ARPackage描述了实现一致性的声明。

基础软件模块描述生成

RTE生成器生成的基础软件模块描述主要描述了实际RTE代码的特点。RTE生成器会生成基本软件模块描述内容:BswModuleDescription

                                             图2   BswModuleDescription
 BSW模块描述中有几个重要的类需要描述格外重视:

ARPackage、BswModuleEntry、BswModuleDependency

如果生成的RTE某个基础软件模块的描述取决于其他基本软件模块,RTE发生器会使用全限定路径名称显示这个元素的规则。

举个hook功能描述中的例子:
void  Rte_Dlt_Task_Activate ( TaskType task)
对于Dlt需要来自OS的ImplementationDataType任务类型,为了描述在相关的BswModuleEntry中SwServiceArg的数据类型任务,ImplementationDataType的完整路径名称应该是:
AUTOSAR_OS/ImplementationDataTypes/TaskType
完整的描述如下:


回复 (共3楼)
沙发 wangjun821
逛逛论坛
2019-08-27 20:03:29 来自 PC端网页 来自太平洋app
板凳 多啦A梦
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
 哈哈哈哈哈哈哈哈哈哈哈哈哈哈
展开更多回复 打开App 查看更多精彩回复
首页 > 论坛 > Variant论坛 > 正文
3
快来回复楼主呀

海报生成中...

生成失败

长按图片进行分享
取消 发送

回复