文章目录
BSW的结构
BSW又可以分成MCAL,ECUAL,SAL,CD四层
如下图所示每一层又提供不同的服务
看一下ECU抽象层
功能:
包含ECU板上外部设备的驱动,内部设备与外部设备的接口(I/O),是对ECU上包括主芯片MCU在内的所有设备的封装,使上层软件与ECU硬件设计无关。
ECU上不光有主芯片,还有其他的一些设备(比如外置存储,外置看门狗等),这些设备其实也是要通过主芯片控制的,比如外置看门狗,就需要和主芯片相连接,由主芯片的接口去配置它。因此,其底层还是需要MCAL的支持。
结构:
I/O硬件抽象层(I/O Hardware Abstraction)
通过I/O硬件抽象中的信号接口来访问不同的I/O设备
对电流、电压、频率等I/O信号进行封装传输
对上层的应用软件层隐藏下层的ECU硬件
通信硬件抽象层(Communication Hardware Abstraction)
通信硬件抽象将微控制器及板上所有的通信信道都进行了封装,并对CAN、FlexRay、LIN、MOST等通信方式进行了抽象的定义。
内存硬件抽象层(Memory Hardware Abstraction)
将片内、板上的内存资源进行统一封装,如对片内EEPROM和片外的EEPROM都提供了统一的访问机制。
车载设备抽象层(On-board Hardware Abstraction)
对ECU上特殊的一些外设进行封装,如WatchDog以及时钟等。