文章目录

  • 前言
  • 一、AutoSar架构简介
  • 二、开发环境组成
  • 1.DaVinci Developer
  • 2.DaVinci Configurator
  • 3.SIP
  • 总结



->返回总目录<-

前言

作为初学者,接触AutoSar的开发,除了需要掌握基本的AutoSar架构知识外,还需要熟悉设计和配置AutoSar的工具链。接下来我会以Vector的DaVinci为代表,来讲述实际项目运用中该工具的组成及任务。

一、AutoSar架构简介

下图是博主实际开发中使用到的AutoSar的架构框图,模块有所剪切,并未包含所有模块。
按照从上到下顺序,可分四层:
Application: 应用层,熟称APPL,该层包含用户自定义的组件SWC(软件组件)。 一个SWC就好比一个C文件,用于实现某一需求的,如诊断, 通信,电源管理,开关信号等。

RTE: 可运行环境,它作用是将APPL和基础软件层BSW分隔开来,并为APPL和BSW之间通信提供唯一接口。

BSW: 基础软件层,如下图中红色框内区域。具体底层模块的实现,如操作系统Os模块,网络管理Nm,CanNm模块,ECU管理模块EcuM等。

MCAL: 微控制器抽象层,如下图中绿色框内区域。它是跟硬件最接近的一层,外设驱动文件。例如Can总线的驱动CanDrv,Adc的驱动AdcDrv等。

craco 开发环境关闭sourceMap autosar开发环境_汽车

~

二、开发环境组成

若要完成AutoSar工程的开发必须具备以下资源:

  1. DaVinci Developer工具
  2. DaVinci Configurator工具
  3. SIP集成软件包

1.DaVinci Developer

craco 开发环境关闭sourceMap autosar开发环境_自动驾驶_02


主要用于AutoSar的APPL层的SWC组件搭建,以及组件间通信接口创建等。

2.DaVinci Configurator

craco 开发环境关闭sourceMap autosar开发环境_can_03


主要用于AutoSar的BSW层的配置;同时也参与了MCAL层以及RTE的配置,例如:Spi的配置片选,通道,时钟等。

3.SIP

Software Integration Package,软件集成包。这个比较特殊,针对于项目以及芯片型号向Vector公司定制购买的(价格不菲,如果涉及到功能安全要求多的,一般这个包的价格在一千万RMB左右。所以玩起来门槛会比较高哈~)

对于一个项目的开发都在这个SIP包内。工程打包也就是把SIP包给压缩。

craco 开发环境关闭sourceMap autosar开发环境_autosar_04


基于上图的SPI框架分析:

Application: 应用层的一些文件,比如建立的SWC,使用DaVinci Configurator生成的一些配置文件(.c / .h 文件格式)

BSW: 包里自带的基础软件,如诊断服务模块DCM的底层实现。具体功能以及函数的使能是引用了DaVinci Configurator生成的一些配置文件如类似文件名dcm_cfg.h中定义的宏。

craco 开发环境关闭sourceMap autosar开发环境_can_05

BSWMD: 基础软件层各模块的AutoSar格式的arxml文件,如下图

craco 开发环境关闭sourceMap autosar开发环境_嵌入式硬件_06


DaVinciConfigurator: 工具Configurator的目录,可以在该目录下启动。Doc: 一些SIP自带的文档。比如技术文档,安全手册等。

craco 开发环境关闭sourceMap autosar开发环境_汽车_07

ThirdParty: 该目录中安装了MCAL的代码包。比如ADC的驱动代码文件(最终ADC的功能配置还是在Configurator工具中)。是从芯片供应商那里购买的。安装之后如下图

craco 开发环境关闭sourceMap autosar开发环境_autosar_08

总结

目前个人评价DaVinci这套工具链:
优点:1,界面简单 2,功能齐全 3,工具比较完善,bug较少。
缺点:1,太贵了,玩家门槛太高。 2,代码封装的太过复杂,对代码理解起来较为吃力。