• 581查看
  • 0回复

[Autosar] CP AUTOSAR PostBuild怎么用

[复制链接]


该用户从未签到

发表于 18-4-2024 21:32:23 | 显示全部楼层 |阅读模式

汽车零部件采购、销售通信录       填写你的培训需求,我们帮你找      招募汽车专业培训老师


目录
1. AUTOSAR的配置参数编译方式

2. PostBuild分类

3. Post-Build Loadable集成要点

4. SWC上的变体管理

5. 小结


1. AUTOSAR的配置参数编译方式

在CP AUTOSAR中提出了变体处理的概念,其实对应的就是配置参数在不同阶段参与编译,如下:

    Pre-CompileTime:在这个阶段配置参数参与编译后就无法再改变了,常见的如宏定义,该方式可以有效缩减代码量,节省Flash空间。生成文件通常为:Cfg.c/h。LinkTime:为配置参数分配地址,处理symbol等工作。生成文件通常为:Lcfg.c/hPostBuildTime:在这个阶段参与编译的配置参数还可以进行修改,生成文件为:PBCfg.c/h
上述流程可以总结如下:
CP AUTOSAR PostBuild怎么用w1.jpg
在PreBuild阶段,通常是系统常数、宏定义的处理;在Post Build阶段通常是对某些数据的重编程。那么为什么要提出对配置参数提出PreCompile、PostBuild这些属性呢?我举个例子,做过座舱的同学在做整车测试的时候最常刷的DID想必就是配置字了,这个配置字对应的就是同一车型的高中低配置。实际上,对于同样平台的车型来说,我们基本上都是复用同样的静态代码逻辑,只是通过刷写不同配置字来开启不同功能,这也和AUTOSAR提出的模块复用概念如出一辙,如下图:
CP AUTOSAR PostBuild怎么用w2.jpg
上图中,白色部分是全平台通用,那么可以做成库或者静态代码复用;其他颜色是车型独有,可通过量产后重编程的方式来进行选择,那么具体如何实现的?我们今天就来看看。
2. PostBuild分类

虽然说现在CP AUTOSAR说明了不再使用Loadable和Selectable作为PostBuild属性,但是我认为这两个属性是对PostBuild最好的诠释。

    Loadable:可以在编译好的程序里直接更新配置,不需要重新构建应用程序;Selectable:在ECU中存储多个可选配置。启动时,选择其中一个配置并将其用于BSW初始化。
上面我所提到的通过配置字来更新车型,就是用的Selectable类型,这种方式简单好用,通过诊断工具即可实现,但是需要额外的Flash空间;这个较为简单,今天就不聊了。主要聊聊Loadable的方式。Loadable可以节省空间,但需要考虑如何将PostBuild的配置数据生成hex,这部分数据通过Boot刷进Flash的注意事项等。
3. Post-Build Loadable集成要点

很明显,要实现配置数据可以更新,和标定数据管理一样,单独在链接文件中给这类属性的配置参数定义一块空间是非常重要的,如下图:
CP AUTOSAR PostBuild怎么用w3.jpg
橙色部分是在工程构建完成后下载到Flash中,版本稳定了基本就不会再更新了;蓝色部分的初值与橙色部分一起下进Flash,但是可以在后续通过bootloader单独更新;因此Post-Build Flash\RAM的起始地址和长度是必须要进行配置的,如下:
CP AUTOSAR PostBuild怎么用w4.jpg
此之外,在做工程配置时对于这类配置参数要选择Post-Build,例如 CanifTxPduCanId的属性就支持如下三种:

CP AUTOSAR PostBuild怎么用w5.jpg
生成代码如下:
CP AUTOSAR PostBuild怎么用w6.jpg
这就给我们提供了很好的思路。假设主机厂有需求不同平台使用通信矩阵的报文ID相同,信号不同;使用这种方式可极大减少工作量。
4.SWC上的变体管理

上面讲的基本都是BSW这一层级的,其实针对SWC应用层级,我们同样可以使用变体来进行管理。假设现在相同平台出了柴油版本和汽油版本的车型,本质上将除了控制策略上不同,基础平台完全可以不变。除了我们通过标定参数来选择,还可以用PostBuild Selectable的方式,当然在应用设计上就可以有如下考虑:
CP AUTOSAR PostBuild怎么用w7.jpg
这样的设计我想到了,SIMULINK当然也想到了。它基于AUTOSAR Software Components提出了配置Postbuild Variant的设计。示例如下图:
CP AUTOSAR PostBuild怎么用w8.jpg

CP AUTOSAR PostBuild怎么用w9.jpg
上述模型使用AUTSOAR.parameter:rainSensor的值为条件,用于VAR1\2的选择。生成的Arxml如下:
CP AUTOSAR PostBuild怎么用w10.jpg
代码如下:void Runnable_Step(void)
{
...
  /* Outputs for Atomic SubSystem: '<Root>/Variant Subsystem' */
  if (Rte_PbCon_mAutosarVariantSubsystem_c0()) {
...
  } else if (Rte_PbCon_mAutosarVariantSubsystem_c1()) {
...
  }
  /* End of Outputs for SubSystem: '<Root>/Variant Subsystem' */
...
}很明显,AUTOSAR SWC使用变体来根据定义的条件在执行路径中启用或禁用AUTOSAR相关接口或者具体实现。
5.小结

经过上面简单的分析,我们把PC\PB等属性搞得七七八八了,不过基于AUTOSAR规范的配置项的PC\PB还比较容易设计,涉及到Vendor自定义的,特别是MCAL里面的,如何来定义PC\PB,这确实需要仔细考量。



往期回顾:

1.汽车标定精选
汽车标定技术--标定概念详解
汽车标定技术--Bypass的前世今生
万字长文:汽车标定技术--XCP概述

2.AUTOSAR精选
AUTOSAR CryptoStack--CSM Job夹带了哪些私货
AUTOSAR 诊断栈分析(一)
AUTOSAR OS概述(一)

3.汽车网络安全精选
汽车信息安全--MCU启动常用密码算法
汽车网络安全方案需求分析
汽车信息安全--常见车规MCU安全启动方案
车载信息安全场景概述

4.汽车功能安全精选

5.汽车虚拟化精选

    汽车ECU虚拟化技术初探(一)

    汽车ECU虚拟化技术(二)--U2A虚拟化功能

6.杂七杂八

    Flash模拟EEPROM原理浅析

    征途漫漫:汽车MCU的国产替代往事

    车规MCU应用场景及国产替代进展


该用户从未签到

发表于 12-3-2025 09:47:02 | 显示全部楼层
CP AUTOSAR PostBuild使用指南目录如下:

一、AUTOSAR的配置参数编译方式

在CP AUTOSAR架构中,配置参数的编译方式分为预编译时和链接时两种。预编译时配置参数参与编译后不可更改,主要用于宏定义等,以优化代码和节省Flash空间。生成的文件通常为Cfg.c/h。

二、PostBuild分类

PostBuild主要包括构建后处理和构建后检查。构建后处理包括代码优化、符号处理等工作,生成的文件主要为二进制文件。构建后检查则主要针对构建结果进行检查和验证。

三、Post-Build Loadable集成要点

重点在于确保构建后的软件组件(SWC)能够正确加载和运行。需要关注加载过程的配置参数传递、内存分配以及与其他组件的协同工作。

四、SWC上的变体管理

SWC的变体管理主要涉及到不同配置下的软件组件的生成和管理。通过有效的变体管理,可以支持多种配置的软件组件的灵活生成和选择。

五、小结

本指南总结了CP AUTOSAR中PostBuild的使用方式和关键要点,包括配置参数编译方式、PostBuild分类、Post-Build Loadable集成以及SWC上的变体管理,以支持更高效的软件开发和集成。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 09:47:03 | 显示全部楼层
CP AUTOSAR PostBuild使用指南目录如下:

一、AUTOSAR的配置参数编译方式

在CP AUTOSAR架构中,配置参数的编译方式分为Pre-CompileTime和LinkTime两个阶段。Pre-CompileTime阶段配置参数参与编译后无法更改,主要用于缩减代码量和节省Flash空间,例如宏定义,生成文件为Cfg.c/h。LinkTime阶段则负责为配置参数分配地址和处理symbol等工作。

二、PostBuild分类
PostBuild是指在编译过程结束后进行的一系列操作,主要包括代码优化、符号解析、内存分配等。根据操作类型和应用场景的不同,PostBuild可分为多种类型。

三、Post-Build Loadable集成要点
重点在于如何有效集成编译后的加载模块,包括模块间的依赖关系处理、版本管理以及调试测试等方面。

四、SWC上的变体管理
涉及在SWC(软件组件)开发中如何管理不同配置变体,包括变体的创建、配置、编译和测试等。

五、小结
总结CP AUTOSAR PostBuild的使用要点和优势,强调其在汽车软件开发中的重要性。

详细的每个章节内容需要进一步阐述和解析,具体可参考AUTOSAR相关文档或专业教程。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 09:47:03 | 显示全部楼层
CP AUTOSAR PostBuild使用指南目录如下:

一、AUTOSAR的配置参数编译方式

在CP AUTOSAR架构中,配置参数的编译方式主要包括Pre-CompileTime和LinkTime两种。Pre-CompileTime阶段的配置参数参与编译后无法更改,主要用于宏定义等,以缩减代码量和节省Flash空间。LinkTime阶段则负责为配置参数分配地址和处理symbol等工作。

二、PostBuild分类
PostBuild主要分为软件组件(SWC)构建后处理和系统构建后处理。软件组件构建后处理主要关注于单个SWC的生成和验证,而系统构建后处理则聚焦于整个AUTOSAR系统的集成和优化。

三、Post-Build Loadable集成要点
此阶段主要关注如何将编译生成的可加载文件(如.elf文件)集成到AUTOSAR系统中。关键在于确保各软件组件间的正确链接和地址分配,以及系统的启动流程。

四、SWC上的变体管理
SWC(软件组件)上的变体管理是实现AUTOSAR配置多样性的关键。通过定义不同的变体,可以在不修改源代码的情况下,实现软件功能的开关或替换。这对于满足不同车型的需求差异至关重要。

五、小结
总结CP AUTOSAR PostBuild的整个过程和关键点,强调其在AUTOSAR系统开发中的重要性。通过合理的PostBuild处理,可以确保系统的稳定性、可维护性和可扩展性。

由于篇幅限制,我无法在此详细描述每一部分的具体内容,建议查阅相关的专业文档或教程以获得更详细的信息。希望这个概要对你有所帮助!如有其他问题请随时告知。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报



该用户从未签到

发表于 12-3-2025 09:47:03 | 显示全部楼层
以下是对CP AUTOSAR PostBuild的使用说明,按照您的要求进行回答:

CP AUTOSAR PostBuild是一种用于配置参数编译和集成的工具。以下是目录内容:

一、AUTOSAR的配置参数编译方式:在CP AUTOSAR中,采用变体处理概念,配置参数可在不同阶段参与编译,如Pre-CompileTime和LinkTime。Pre-CompileTime阶段配置参数编译后不可更改,用于缩减代码量和节省Flash空间。LinkTime阶段则为配置参数分配地址和处理symbol等。

二、PostBuild分类:PostBuild主要分为集成要点和变体管理两部分。其中集成要点涉及Post-Build Loadable的集成过程,确保软件组件(SWC)的正确性和兼容性。

三、Post-Build Loadable集成要点:在集成过程中,需确保软件组件的变体配置正确,符号引用无误,并遵循AUTOSAR标准规范进行集成。

四、SWC上的变体管理:通过PostBuild工具,可以方便地管理SWC的变体配置,实现不同配置的灵活切换,以适应不同的硬件和软件环境。

五、小结:PostBuild是CP AUTOSAR中重要的配置参数编译和集成工具,确保软件组件的正确性和兼容性,提高开发效率和软件质量。使用时需遵循AUTOSAR标准规范,充分利用变体管理功能,以实现软件的灵活配置和高效开发。

关于AUTOSAR的配置参数编译方式以及其他内容的具体操作方法和使用技巧,建议参考CP AUTOSAR的官方文档或相关资料进行详细学习。

[内容由汽车工程师之家人工智能总结,欢迎免费使用,见贴尾]
回复 支持 反对

使用道具 举报

快速发帖

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|手机版|小黑屋|Archiver|汽车工程师之家 ( 渝ICP备18012993号-1 )

GMT+8, 19-8-2025 05:48 , Processed in 0.353762 second(s), 40 queries .

Powered by Discuz! X3.5

© 2001-2013 Comsenz Inc.