车载软件架构 —— AUTOSAR Vector SIP包(二)我是穿拖鞋的汉子,魔都中坚持长期主义的汽车电子工程师。老规矩,分享一段喜欢的文字,避免自己成为高知识低文化的工程师:“ 上一篇文章中介绍了AUTOSAR基础软件供应商Vector公司的开发工具链,本文将继续介绍Vector公司的AUTOSAR产品。-> 1、Vector SIP包介绍-> 2、SIP包里有哪些内容呢上一篇文章中介绍了Vector公司的AUTOSAR产品,如何购买,以及如何来开发等内容。本文将针对使用代码包来进行开发的工程师,详细介绍代码包里的内容和细节。一、Vector SIP包介绍SIP包为Vector公司的AUTOSAR Classic代码包(AP可能也是?笔者没接触过AP代码包,暂时未知)的简称,SIP的全称为Software Integration Package。每个SIP包都对应有一个唯一的CBD号码,例如:CBD2200001_D00。表示的是Vector公司在2022年度卖出的第一个代码包(代号为001),并且是该CBD号的第一个delivery交付的代码包(D00)。SIP包的CBD号是非常重要的信息,通过CBD号可以查询到对应的客户信息,项目需求,代码包的模块组成,版本等非常详细的细节;同时,CBD号也是向Vector寻求技术支持的凭证。CBD号后面的D00信息,表示的是针对这个CBD号代码包的发包交付情况,如D00表示的是第一次的正式包发布,D01为第二次代码包发布,以此类推。那么为什么会有这种情况发生呢,主要有以下几种情况:1、D00的首次代码包发布以后,客户有些需求的变更,例如硬件外设的变化,需求模块的增加等。需要涉及到重新组包,发包的过程。因此需要重新发包给客户;2、代码包出现了一些bug,在维保期内可以进行升级,也需要重新发包;当然,维保期外,想进行相关模块的升级,bug修复,缺少模块的增加也是可以自费去购买和重新发包的;3、对于有功能安全需求的代码包来讲,D00一般发布的是QM等级的代码包,先给到客户进行开发和实现。后面基于客户的配置和需求,来重新review相关的配置和需求,再正式释放ASIL 等级的代码包,也会涉及到多次发包的情况。另外,有些客户也会拿到D00.0这种编号的代码包,这是一种非常特殊的代码包,是一种snapshot的代码包。一般情况下,重要客户(一般需要和销售进行磋商)希望尽快拿到代码包进行开发,和Vector公司来进行协商沟通,先拿到一个snapshot的代码包来进行自主开发,后续再基于正式释放的代码包来进行配置,功能移植。这样便于加快项目开发进展。snapshot的代码包一般情况下是没有经过集成测试的,甚至可能部分模块的开发状态是beta版,代码包里也不会有参考Demo工程和代码。因此,这种代码包一般是给对于Vector SIP包使用非常熟练的公司来使用的,他们具备从零来搭建工程的能力。二、SIP包里有哪些内容呢Vector公司释放SIP包的邮件,通常是两封邮件分开发送,一封是下载链接,一封是文件解压密码;拿到邮件以后,需要详细阅读邮件中的内容,核对并确认相关的信息。例如:公司信息,代码包产品信息,芯片信息,编译器和版本信息等。确认无误以后,尽快下载文件,因为文件下载链接是有有效期的,一般是60天左右。下载完毕以后,通过第二份邮件中的文件解压密码来完成文件压缩包的解压。一般解压后的安装默认路径为:C:\Vector\CBD220xxxx_D00。此处,强烈建议看到此处的读者朋友们,将解压后的原始文件做一个备份,存储在不会丢失,且能方便找到的地方,以备不时之需。下图是解压安装完毕后的SIP代码包的文件夹的内容;需要补充说明一点,笔者所展示的代码包比较新一点,是基于Vector公司的新的文件架构来发布的,他们称这种架构为component-based delivery。对于老的文件架构,在这里就不做过多的赘述了,只是文件夹架构的调整。内容都几乎差不多。针对文件夹里的内容从上到下依次进行介绍和说明:-> Applications:此文件夹里的内容为Vector的代码包集成测试工程师所搭建的参考Demo工程,包含了配置工程,用户定义的代码,芯片的启动代码,以及MakeFile编译环境等。-> Components:此文件夹里包含了全部的BSW模块以及于此相关的模块内容。大部分的模块的划分是根据AUTOSAR规范来的。每个模块都有一个文件夹,如下图所示CanNm模块,里面包含了BSWMD的配置描述文件,文档手册,该模块代码生成的生成器文件,以及静态代码,头文件和相应的库文件,最后是MakeFile编译环境需要的编译文件。-> DaVinciConfigurator:这个文件夹包含了DaVinci Configurator 工具,以及针对该代码包的特殊需求所需要的全部文件,例如BswmdModel (使用工具时生成的) 以及Platform Types。-> Doc:为代码包所附带的文档的文件夹,这个文件夹是非常重要的,开发人员需要经常去这个文件夹中翻阅相关的文档和手册,来帮助解决实际的开发需求和问题。如下图示是里面的内容分类,有一些应用开发提醒说明文档,辅助信息文档,代码包发布信息文档,产品发布说明,技术参考手册和用户手册。这个文件夹里的内容是非常重要的,几乎涵盖了90%以上的开发所遇到的问题,建议读者小伙伴们重点关注这个文件夹。特别是在实际开发过程中碰到了问题时,要想到去这里找寻答案。-> Misc:包含了一些和代码包模块无关的模块,不同的代码包对于的内容都有所差异。主要是一些工具,检查工具脚本,生成器等内容。一般情况下,很少会用到。如果有需要,可以联系Vector的支持工程师进一步咨询和了解。-> ThirdParty:这个文件夹是帮助用户将第三方的工具,软件,插件等集成到Vector代码包中进行配置和开发的。最常见的用法是将第三方芯片厂商提供的MCAL代码包以及配置工具集成到Vector代码包中,然后就可以通过DaVinci Configurator工具来对MCAL的模块进行配置,相关模块的关联,以及代码生成了。最后,针对SIP包里的内容进行总结一下,Vector 的SIP包里包含的内容是非常丰富的,不管是代码,工具,脚本,文档等等。都是值得我们的开发小伙伴,或者感兴趣的读者去关注和学习的。尤其是文档方面,Vector的文档书写非常规范,严谨,和全面的;当中有些文档也是图文并茂的,对于开发人员来说,非常友好,且帮助很大。在DocumentationGuide_MICROSAR.pdf这份文档中,就介绍了SIP包里的文档架构和用途,第一次接触的读者,可以先从这份文档开始。搁笔分享完毕!愿你我相信时间的力量做一个长期主义者!诊断测试工具CANoe.DiVa从入门到精通系列——开门见山 |
|