目录
- 关键词
- 平台说明
- 一、BSW是什么
- 二、BSW的组成
- 2.1 微控制器抽象层(MCAL)
- 2.2 ECU抽象层
- 2.3 服务层
- 2.4、复杂驱动
- 三、功能的实现
关键词
嵌入式、C语言、autosar、Rte
平台说明
项目 | Value |
---|---|
OS | autosar OS |
autosar厂商 | vector |
芯片厂商 | TI |
编程语言 | C,C++ |
编译器 | HighTec (GCC) |
一、BSW是什么
BSW(basic software),如图1.1所示,根据autosar的分层架构,BSW层是介于RTE和微控制器层之间的一层封装,让上层可以直接访问到芯片底层。为了适配不同厂商的MCU,BSW自上到下分为了三层,越靠上和下层MCU的硬件的联系就越小。
(图1.1)
二、BSW的组成
2.1 微控制器抽象层(MCAL)
(MCAL)MicroController Abstraction Layer。这一层向下直接操作主MCU的寄存器层面。和TI的SDK库差不多,就是把操作寄存器的指令封装供给上层操作,这样上层就能不管是什么芯片都能兼容了。
2.2 ECU抽象层
ECU Abstraction Layer。负责将主芯片及其外围设备以及接口一起封装提供给上层调用。外围设备以及接口包括 IO、memory、喂狗、通信芯片等。
2.3 服务层
将下面两层的功能归类统一调用,例如FEE、FLS、NVM等归于存储管理,CAN,ETH,SPI等归于通讯管理。上层不需要管下面如何实现通信或者存储,只需要调用服务层即可。服务层总共包含以下服务:诊断(Diagnostics)、管理(ECU and BSW state management) 、存储管理(NVRAM Management)、看门狗管理(Watchdog Manager)、通信(Communication)、操作系统(OS)、调度管理(Schedule Manager)、通信通道管理(Com Channel Management)。
2.4、复杂驱动
复杂驱动是对上面三层的一个补充,通常用于复杂传感器或者执行器,SIP包中没有对其进行定义。
三、功能的实现
从图中可以看出,想要实现一种功能,都需要从上至下分别经过服务层–>ECU抽象层 -->MCAL
,如下图所框出来的所示。