不得不先表明,本篇文字内容多数为摘抄和引用专业的信息来源,也未能真正在凌鸥芯片上将开源 AutoSAR OS 跑起来(实在抽不出时间去研究了),这里只起到个抛砖引玉的作用,希望自己整合的一些东西能够帮助大家更高效地、有针对性地去学习汽车软件架构,同时也希望不会挨喷 如有侵权请联系删除。本篇主要提及到以下内容:
1. 什么是 AutoSAR
2. 什么是 OSEK/VDX
3. 汽车软件产业白皮书
4. 国内外 AutoSAR 软件龙头企业
5. 开源的 OSEK OS
什么是 AutoSAR
“AUTOSAR,汽车开放系统架构(AUTomotive Open System Architecture)是一家致力于制定汽车电子软件标准的联盟。AUTOSAR是由全球汽车制造商、部件供应商及其他电子、半导体和软件系统公司联合建立,各成员保持开发合作伙伴关系。自2003年起,各伙伴公司携手合作,致力于为汽车工业开发一个开放的、标准化的软件架构”。
AutoSAR主要分为3个层级:应用软件层(AppL),实时运行环境(RTE)和基础软件层(BSW)。
实际在做符合AUTOSAR的应用软件开发时,需要对APPL层和RTE层有更深入的认识,而对BSW有个基本认识即可。
关于 AUTOSAR的介绍,其官网及各大网站平台都有很详细的介绍,这里只罗列了一小部分内容用于简单了解,大家可以上知乎搜索新能源汽车行业的软件开发工程师,他们写的很多文章都比较有营养。
什么是 OSEK/VDX
OSEK/VDX 是应用在模块和静态实时操作系统上的标准,由主要的汽车制造商和供应商,研究机构以及软件开发商发起。
OSEK,是指德国的汽车电子类开放系统和对应接口标准(open systems and the corresponding interfaces for automotive electronics),而VDX则是汽车分布式执行标准(vehicle distributed executive),后者最初是由法国独自发起的,后来加入了OSEK团体。两者的名字都反映出OSEK/VDX的目的是为汽车电子制定标准化接口。该标准完全独立,对目标系统只限制了少量的条件。这样,就可以应用一些简单的处理器替代那些昂贵的解决方案,来控制任务执行,并不需要任何附加条件。事实上,在此基础上,也可以合理使用一些更复杂的CPU,于是该标准便对任何可能的目标平台都没有了限制。目前OSEK已经成为国际上主流的汽车行业标准。国内的使用也在普及中。
传统开发模式,开发一个ECU产品需要编写所有软件代码,进行全部测试,并且由于设计过程中的协调问题,造成功能与功能的衔接困难。当启动一个新的项目是,又会进行相同的开发流程,重复劳动增加;先进的开发模式,基于稳定的标准化基础软件模块,采用统一的接口,在开发一个ECU产品时,只需要在模块的基础上进行相应的配置,就可以实现ECU的标准功能,开发人员可以将更大的精力投入应用的开发上。减少开发工作量,成本,提高质量。
汽车电子软件引入模块化、标准化的虚拟零部件的概念和真实汽车的零部件(比如螺丝)是类似的,OSEK把所有与应用环境无关的的具有共性特征的软件代码进行标准化,虚拟成一个软件零部件,规定这些零部件的规格和接口。标准化后有很多优势,比如:上下游一致,规范是共同语言;避免软件研发重复劳动;节约人力资源;缩短研发周期,适应快速变化的市场需求;ECU开发可以有更多的精力集中到应用策略上;减少测试工作,提高产品质量;降低成本。汽车软件产业白皮书3.0
软件能力决定了汽车价值,现在国际上已经承认这么个概念“软件定义汽车”。日前,《中国汽车基础软件发展白皮书3.0》在2022世界智能网联汽车大会上正式发布。《白皮书3.0》是继2021年《白皮书1.0》发布之后,在工业信息化部装备一司和装备中心的指导下第三次发布中国汽车基础软件白皮书。在中国汽车行业发展的关键时期,《白皮书3.0》联合中国汽车芯片产业创新战略联盟以及AUTOSEMO 80余家成员单位,根据各家在生态领域积累的经验,结合目前汽车软件产业发展现状,以智能汽车车用基础软件平台为主题,围绕中国汽车基础软件领域中的关键技术和关键标准研究进展进行总结。本书内容涵盖市场发展情况,关键汽车软件技术趋势、关键标准研究情况、汽车软件产业生态发展建议等方面。
目前我国汽车基础软件的发展虽然呈现百花齐放、欣欣向荣的态势,但是车用基础软件的开发,面临着技术复杂度高、投资大、周期长的巨大挑战。随着汽车E/E架构升级演进,基础软件平台化是汽车软件发展的必然趋势。当前,国外主机厂和零部件供应商也正在着力打造其专属基础软件平台,并且已完成从聚焦单纯“内核与中间件”向“基础软件平台”转变。在这样的时代背景下,《白皮书3.0》以“汽车基础软件平台”为主题,围绕其技术形态和关键技术进行深入探讨,共享知识成果。
具体内容见以下链接:
http://www.yitb.com/article-33228
https://new.qq.com/rain/a/20220919A00T1R00|
国内外 AutoSAR 软件龙头企业
AUTOSAR 是汽车软件领域最重要的中间件,也是利润最丰厚的领域。AUTOSAR只是一个标准框架,是一种方**,并不能拿来直接应用。经典AUTOSAR需要软件厂家配合硬件芯片特别是MCU来做二次开发,这项工作通常都是由第三方来提供,国际上AUTOSAR三巨头分别是 VECTOR、ETAS 和 EB。VECTOR 基本上可以配合所有主流MCU芯片,EB 偏向瑞萨和NXP的MCU,ETAS 偏向意法半导体和英飞凌,最近和瑞萨合作也有升温。汽车MCU市场高度集中,按金额计算,2021年前六大厂家市场占有率高达97.5%,前三大厂家市场占有率高达75.6%。瑞萨市场占有率28.8%位居第一,NXP市场占有率24.9%,英飞凌为21.9%,德州仪器为7.5%,Microchip为7.4%,意法半导体为7.0%。 - VECTOR: 工具链齐全,好用,技术实力最强,软件质量最高,但是不够灵活,价格特高,如果开发途中有较大变更,将有很大延期可能。特别要说明的是,vector将重构MCAL,软件包也是国外团队适配好,国内提供技术支持,技术实力和软件质量可见是相当不错的.一般vector的价格比其他厂商高2倍以上。
- ETAS: 博世集团子公司,工具链齐全,较为好用,质量不太好,尤其是中国技术团队,水平相对欧洲差太多,他们正在做本土化,然而中国技术人员对底层不太懂,如MCAL和编译 相关,因此想和他们合作,必须自己把关底层。功能安全相关做的也不怎么样。但是他们打价格战,合作方式灵活。
- EB: 大陆集团子公司。有BSW,MCAL工具链,但是没有ASW工具链,因此,想和其合作与购买第三方的ASW工具链,如autosarbuilder,但是某些第三方为美国公司,软件会受到制裁而且三方合作会给项目带来更多风险。eb在中国的技术团队人数较少,技术能力有限,因此目前主要是由国外团队做集成,国内团队做技术支持。如果不是缺ASW工具,我觉得他比ETAS好,当然他的价格贵于ETAS.
国内做AUTOSAR中间件的企业多达十几家,国产三巨头是东软睿驰、普华基础软件经纬恒润。其余有华为、斑马智行、超星未来、映驰科技、未动科技、零念科技、上海赫千、国汽智控、成都道伟。AUTOSEMO 创始会员单位汇聚国内20家整车企业和汽车软件供应商,包括:中国一汽、一汽解放、东风汽车、广汽研究院、蔚来汽车、上汽零束、小鹏汽车、吉利汽车、长城汽车、长安汽车、北汽福田、东软睿驰、苏州挚途、万向钱潮、威迈斯、经纬恒润、上海拿森、上海重塑、北京地平线、中汽创智。这个委员会下属的ASF组,致力于定一个中间件的行业标准,就是AUTOSEMO Service Framework,简称就是ASF。AUTOSEMO 的工作组发布了前面说的白皮书。
开源的 OSEK OS AUTOSAR与OSEK二者都是汽车电子软件的标准。OSEK/VDX是基于ECU开发的操作系统标准,AUTOSAR基于整体汽车电子开发的功能标准。AUTOSAR中规定的操作系统标准就是基于OSEK/VDX,通信和网络管理虽然和OSEK有区别,但是是有继承性的。可以认为,AUTOSAR是基于OSEK/VDX发展出来的,OSEK/VDX被AUTOSAR标准软件架构所包含。
市场上符合OSEK/VDX规范的OS产品
- FreeOSEK(https://github.com/ciaa/Firmware)和OpenOSEK(https://github.com/parai/OpenOSEK)是两个开源的OSEK/VDX操作系统,目前都在github上。
- ProOSEK是德国的3soft公司推出的全世界最早的OSEK/VDX操作系统(1997),为BMW、VM/Audi、DaimlerChrysler提供了基于OSEK的软件开发平台。
- Freescale公司开发的OSEKTurbo是目前市场上实现OSEK/VDX标准中,使用最为广泛的实时操作系统之一,在业界居领先地位,完全满足最新的OSEK/VDX开放系统的标准,支持8、16、32位微处理器,在稳定性和软件质量方面表现出色,当然现在属于NXP。
- Nucleus OSEK是Accelerated Technology Embedded System公司基于开源的Nucleus PLUS操作系统的基础之上实现的,它实现了OSEK/VDX标准的V2.2R1版本,提供了完全的OSEK/VDX认证。
- Embedded Office开发的OSEK Extension for uC/OS II基于开源的uC/OS II操作系统,通过了BCC1、ECC1、CCCA、CCCB的官方认证。
- OSEKWorks是Wind River公司在其VxWorks的基础之上根据OSEK/VDX标准扩展开发的,具有VxWorks的优良特性。
- osCAN是德国的Vector公司开发的具有CANopen协议栈的OSEK操作系统,可以结合Vector公司任意通信协议,支持多版本的CAN协议,具有多种特殊功能,例如运行过程中的堆栈管理,多种堆栈优化方法,内部跟踪、模板生成器、组件管理器等。
- RTA-OSEK是LiveDevices公司开发的,是全球第一个完整实现OSEK所有一致类的RTOS。ERCOSEK是BOSCH公司在其发动机管理系统中使用的实时操作系统,由ETAS公司开发。LiveDevices与ETAS在2007年合并。
- R-OSEK是由韩国电子与电信研究院(ETRI)开发的OSEK/VDX标准的RTOS,ETRI从2006年投资了367万美元用于开发ROSEK,并于2009年5月份通过了OSEK/VDX的认证。
- DeltaOSEK是中国北京科银京成技术有限公司为汽车电子的控制类应用所开发的、符合OSEK/VDX标准的嵌入式操作系统,提供标准的OS及COM功能部件的应用编程接口。它的最新版本在MPC555/MPC5554的平台上通过了OSEK/VDX测试集的全面测试,符合OSEK/VDX标准,于2009年3月获得了OSEK/VDX认证机构的认可。
- SmartOSEK OS是由浙江大学ESE工程中心开发的符合OSEK/VDX标准的嵌入式实时操作系统,在2005年通过了国际OSEK/VDX组织的官方认证。SmartOSEK OS支持多种国际主流处理器,满足不同的硬件需求,具有静态配置、微内核和实时性等优点,实现可抢占式内核以及多种实时调度机制,适用于实时性要求较高的汽车电子产品。
另外还搜集到 github 上面的一些开源的 AUTOSAR 操作系统框架,下面附上链接:
- https://github.com/TrampolineRTOS/trampoline
- https://github.com/leduynguyen/My_AUTOSAR_Project
- https://github.com/parai/as
下面这个是在学习基于 STM32F4 的 FreeOSEK 移植的一个截图,后面有机会移植到凌鸥芯片上时可以参考工程结构:
附件中包含了 OSEK OS 相关的一些参考资料,比如 oil 的文档。
OSEK_OS_RM.zip
(2.58 MB)
|