找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

1165

积分

0

好友

151

主题
发表于 12 小时前 | 查看: 2| 回复: 0

摘要:当宝马、奔驰或是小米这样的主机厂计划开发一款新车,并将某个ECU(电子控制单元)的开发外包时,他们通常会指定供应商使用特定的AUTOSAR工具链,而Vector往往是首选。主机厂会向Vector购买软件包,费用可能高达千万级别,随后Vector再将软件包提供给指定的供应商。供应商这边通常还需要额外支付一笔软件服务费(例如百万级别)。理论上你可以不买服务,但前提是你能完全靠自己搞定——据我所知,几乎100%的供应商都购买了这项服务(Vector有意将代码写得复杂,许多变量甚至做到了源代码级别的混淆,以此推动服务销售)。

对于Vector而言,收到这千万开发费后,自己留存一部分,大部分会分给核心会员。那么站在主机厂(OEM)的角度呢?他们实际上并没有花费太多,甚至可能通过这种“左手倒右手”的方式实现盈利,同时还能获得一套基于AUTOSAR标准开发、安全性有保障的软件。何乐而不为?

Vector是什么?

Vector是一家专注于汽车电子和嵌入式系统的技术公司,其AUTOSAR产品主要用于支持汽车行业的标准化软件架构。AUTOSAR本身是一个全球性的合作项目,旨在提高汽车软件的可重用性和可移植性,促进不同供应商之间的协作。Vector的AUTOSAR产品线根据AUTOSAR规范分为针对经典平台的CP和针对自适应平台的AP,对应的主要产品分别是 MICROSAR Classic (MSRC)MICROSAR Adaptive (MSRA)

AUTOSAR Classic Platform 架构示意图

MICROSAR Classic (MSRC) 是一系列符合AUTOSAR Classic标准的产品级软件模块,主要包含 MICROSAR.RTE 以及 MICROSAR Basic Software Module (BSW) 两部分。其中BSW涵盖了MEM(内存)、OS(操作系统)、COM(通信)、IO(输入输出)、SYS(系统服务)、Security(安全)以及DIAG(诊断)等模块。除以太网(Eth)协议栈支持至ASIL B等级外,其余全栈均提供支持功能安全最高等级ASIL D的解决方案。MSRC提供了标准化的软件模块接口,这意味着开发人员可以忽略底层硬件平台的差异,甚至在硬件平台尚未就位时,先行开发应用层软件功能,这对提升开发效率和并行工程能力至关重要。

AUTOSAR 分层软件架构图

Vector 代码包如何购买?

对于大型的Tier1供应商或主机厂(OEM)来说,由于与Vector公司建立了长期良好的合作关系,购买包括代码包在内的相关产品相对容易。然而,对于一些规模较小或之前未有合作的公司而言,直接找Vector购买产品可能就没那么简单了。Vector的产品市场地位稳固,销量可观,其销售团队通常不会主动进行市场推销,更多时候需要客户主动联系其销售渠道进行接洽。

在与Vector的销售或技术售前工程师建立联系后,购买AUTOSAR代码包一般会遵循以下几个步骤:

  1. 前期技术对接:明确所要开发的ECU项目信息,包括面向的主机厂(OEM)、选用的硬件芯片型号、编译器型号及版本等。
  2. 确定授权与服务:确定License授权模式(如项目授权 Project License、产品授权 Product License等)、所需的功能安全等级(ASIL)、以及需要包含的具体软件模块。同时,也需要确定相关的工程服务内容,例如是否需要培训、现场集成支持等。
  3. 商务流程启动:基于前期沟通,完成客户需求问卷(Questionnaire I)的填写与确认,以便Vector准备详细的商务报价,并正式启动商务流程。
  4. 最终需求确认与排期:在商务流程基本完成后,Vector正式集成代码包之前(通常提前一个月左右),会发送第二份客户需求问卷(Questionnaire II),要求客户再次确认所有技术细节。确认无误后,Vector开始按计划排期,进行代码包的组包、集成和测试工作。
  5. 代码包交付:代码包准备完毕后,Vector会按照约定时间,将代码包通过邮件发送给客户的指定接口人。
  6. 下载与售后:客户根据交付邮件中的下载链接和密码,完成代码包的下载、解压和安装。随后,进入售后阶段,可能包括现场培训或现场集成支持,以协助完成ECU产品的具体开发工作。

有了Vector代码包,如何开发ECU产品?

前面介绍了Vector代码包的内容和购买流程,但仅有代码包并不足以完成一个ECU产品的开发。接下来,我们看看还需要哪些必备的部分。

对于ECU开发,上游的输入文件必不可少。例如,通信数据库文件(DBC, ARXML)和诊断数据库文件(CDD, PDX等)都是核心输入。这就需要配套的设计和配置工具来生成这些文件,常用的有Vector公司的PREEvision、CANdelaStudio等工具,或者其他厂商的同类软件测试工具链。

拥有了Vector的代码包,通常还需要购买Vector AUTOSAR开发工具链的License,即DaVinci Developer和DaVinci Configurator Pro工具的授权。只有获得了工具授权,才能使用这些图形化工具进行软件组件(SWC)的设计、BSW模块的配置以及代码的生成。

此外,针对所使用的具体芯片,还需要从芯片厂商或其代理商处购买对应的MCAL(微控制器抽象层)代码包及其配置生成工具。因为Vector的AUTOSAR代码包主要提供BSW和RTE模块,大部分与芯片寄存器直接相关的驱动(如GPIO、ADC、CAN控制器驱动等)属于MCAL层,这部分需要单独采购。配置MCAL常用的工具是EB tresos,其License一般会包含在MCAL包中或由芯片厂商提供。同时,编译器也是关键一环,车载ECU开发通常需要购买符合功能安全要求的商用编译器,如Tasking、Green Hills、Hightec等。调试器(如Lauterbach, iSystem, Renesas E1/E2)也必不可少,用于代码下载、仿真和调试。

最后,不同ECU的应用层软件(SWC)复杂程度差异很大。如果应用模块不多、逻辑简单,可以直接在DaVinci Developer中设计SWC并手写代码实现。但对于算法复杂、逻辑庞大的应用模块,可能需要采用基于模型的设计(MBD)方法,这就需要用到MathWorks公司的Simulink等工具进行建模、AUTOSAR架构适配及代码生成。这部分工具根据实际需求决定是否采购。

总结一下,在AUTOSAR架构和方法论的指导下进行ECU开发,对于初次涉足的公司而言,初始投入非常巨大。这包括开发人员的培训、整套开发工具链的采购、基础软件(BSW)的许可费用等。在产品开发过程中,开发周期未必会缩短,而且为了满足功能安全和信息安全的要求,往往需要付出更多额外工作量。因此,初期投入产出比可能并不高。然而,一旦基础软件平台研发完毕,在后续的产品迭代、技术升级和车型拓展中,其标准化、可复用性的优势将会得到充分体现,长期来看能有效降低成本并提升效率。

Vector SIP包介绍

SIP包是Vector公司AUTOSAR Classic代码包(对于AP平台可能类似,笔者未接触过暂不确定)的简称,全称为Software Integration Package。每个SIP包都有一个唯一的CBD编号,例如:CBD2200001_D00。这个编号含义丰富:“CBD22”表示2022年,“00001”表示该年度售出的第一个代码包,“D00”表示针对该CBD编号的第一次正式交付(Delivery)。

CBD编号至关重要,通过它可以查询到对应的客户信息、项目需求、代码包模块组成及版本等详细信息。同时,它也是向Vector寻求官方技术支持的必备凭证。

CBD编号后的“D00”代表交付批次。为什么会有多次交付呢?主要有以下几种情况:

  1. 需求变更:首次交付(D00)后,客户硬件变更或需求增加,需要重新组包和交付。
  2. Bug修复与升级:在维保期内,代码包发现的Bug可以进行升级修复并重新交付。维保期外,也可以自费购买升级服务。
  3. 功能安全(FuSa)流程:对于有功能安全要求的项目,D00交付的可能是QM(质量管理)等级的代码包,供客户先行开发。待客户配置和需求稳定后,Vector会重新进行安全评估,再正式释放ASIL等级的代码包(如D01),这也会涉及多次交付。
  4. 特殊快照包(Snapshot):有时客户会收到类似“D00.0”编号的代码包,这是一种特殊的快照包。通常是重要客户为了加快项目进度,与Vector协商后,先获得一个未经过完整集成测试的“快照”版本进行自主开发,后续再基于正式发布的代码包进行迁移。这种包通常没有参考Demo工程,适合对Vector SIP包非常熟悉、具备从零搭建工程能力的团队使用。

SIP包里有哪些内容?

Vector发送SIP包通常分两封邮件:一封包含下载链接,一封包含解压密码。收到邮件后,务必仔细核对公司信息、产品信息、芯片和编译器版本等关键信息。确认无误后,应尽快下载,因为下载链接通常有60天左右的有效期。

解压后的默认安装路径一般为 C:\Vector\CBD220xxxx_D00强烈建议将解压后的原始文件进行备份,妥善保存以备不时之需。

下图展示的是解压后SIP包的目录结构(注:示例为较新的基于“组件化交付”架构的包,老版本目录结构不同但内容大同小异):

针对目录内容,从上至下依次说明:

  • Applications:此文件夹包含由Vector集成测试工程师搭建的参考Demo工程。里面有完整的配置工程、用户代码示例、芯片启动文件以及Makefile编译环境,是极佳的学习和参考起点。
  • Components:此文件夹包含了所有的BSW模块。目录结构基本遵循AUTOSAR规范,每个模块一个独立文件夹。以CanNm模块为例,其文件夹内通常包含:BSW模块描述文件(.bswmd)、文档手册、代码生成器、静态源代码/库文件以及编译所需的Makefile片段。
  • DaVinciConfigurator:此文件夹包含了与该代码包配套的DaVinci Configurator工具所需的所有特殊文件,例如特定的BSWMD模型和平台数据类型定义,确保工具能正确识别和配置此代码包。
  • Doc这是极其重要的文件夹,开发人员应经常翻阅。里面包含了应用开发说明、辅助信息、代码包发布说明、产品发布笔记、技术参考手册和用户手册等。几乎90%的开发问题都能在这里找到线索或答案,强烈建议重点关注。
  • Misc:包含一些与核心模块无关的杂项,如检查工具脚本、生成器等。一般很少用到,如有需要可咨询Vector技术支持。
  • ThirdParty:此文件夹用于帮助用户将第三方工具或软件包(最常见的就是芯片厂的MCAL包及其配置工具)集成到Vector代码包中。集成后,就可以在DaVinci Configurator工具中直接对MCAL模块进行配置和关联,实现一体化开发。

总而言之,Vector的SIP包内容非常丰富,涵盖代码、工具、脚本和详尽的文档。尤其是其文档,书写规范、严谨全面、图文并茂,对开发人员非常友好,是解决问题、深入理解AUTOSAR和Vector产品的宝贵资源。对于从事汽车软件测试与底层开发的工程师而言,深入研究SIP包是提升专业技能的重要途径。如果你对这类汽车电子核心技术话题感兴趣,欢迎到云栈社区与更多同行交流探讨。




上一篇:嵌入式系统轻量级命令行调试工具实现:无调试器环境下的内存读写与状态查看
下一篇:Kubernetes Pod调度机制实战:从nodeName到污点容忍的6大核心要素解析
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-2-10 19:52 , Processed in 0.393346 second(s), 39 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表