AutoSAR系列讲解(入门篇)2.1-MCAL
MCAL概述
一.什么是mcal
在AUTOSAR分层架构模型中,最重要且最复杂的是基础软件层 (Basic Software Layer,BSW) 。其中,微控制器抽象层(Microcontroller Abstraction Layer,MCAL)位于AUTOSAR分层模型中BSW的最底层。
MCAL等同嵌入式开发过程中的驱动层,与驱动层相同作用抽象硬件特性提供接口给上层模块。只是在atuosar架构中MCAL统一将接口提供给抽象层(Abstraction Layer),抽象层将接口传递给服务层(service)统一调配。
微控制器抽象层(Microcontroller Abstraction Layer,MCAL)又可分为:微控制器驱动(Microcontroller Drivers)、存储器驱动(Memory Drivers)、通信驱动(Communication Drivers)、I/O驱动(I/O Drivers)、加解密算法驱动(crypt driver)。各个部分又由具体的与autosar对应的抽象层一一对应。
二.MCAL层功能讲解
MCAL 图解
1.微控制器驱动(Microcontroller Drivers)
微控制器驱动(Microcontroller Drivers)可细化为MCU driver, Gpt driver, Watchdog driver几大类别, 主要是提供各种初始化功能。
MCU driver | 功能描述 |
Clock | 时钟初始化吗,时钟倍频(PLL),预分频,时钟分频 |
RAM | 内存初始化 |
power | 电源模式控制与选择 |
MCU reset | 芯片Reset功能 |
Gpt driver | 功能描述 |
Timer base | 提供基础计时功能 |
Watchdog driver | 功能描述 |
Watchdog | 提供看门狗服务 |
2.存储器驱动(Memory Drivers)
存储器驱动(Memory Drivers)可细化为Flash driver, Eeprom driver, Memory driver几大类别, 主要是提供内存操作功能。
Flash driver | 功能描述 |
read | 读Flash内存数据 |
write | 向Flash内存写数据 |
ease | 擦除Flash内存数据 |
Eeprom driver | 功能描述 |
read | 读Eeprom 内存数据 |
write | 向Eeprom 内存写数据 |
ease | 擦除Eeprom内存数据 |
Memory driver | 功能描述 |
read | 读不同存储器内存数据 |
write | 向不同存储器内存写数据 |
ease | 擦除不同存储器内存数据 |
black check | 针对不同存储器的空白检查 |
3.通信驱动(Communication Drivers)
通信驱动(Communication Drivers)可细化为Lin driver, SPI driver, CAN driver、Ethernet
driver、 Flaxray driver几大类别, 主要是提供通信驱动。
Lin driver | 功能描述 |
Lin通讯,收发Lin信号 | |
Flaxray driver | 功能描述 |
Flaxray通讯,收发Flaxray信号 | |
SPI driver | 功能描述 |
SPI通讯,收发SPI信号 | |
CAN driver | 功能描述 |
CAN通讯,收发CAN信号 | |
Ethernet driver | 功能描述 |
Ethernet通讯,收发Ethernet信号 |
4.I/O驱动(I/O Drivers)
通信驱动(Communication Drivers)可细化为OCU driver, Port driver,PWM driver、DIO
driver、 ICU driver几大类别, 主要是提供IO功能。
OCU driver | 功能描述 |
输出比较器 | |
Port driver | 功能描述 |
提供port引脚初始化 | |
PWM driver | 功能描述 |
提供PWM驱动功能 | |
DIO driver | 功能描述 |
输入输出 | |
ICU driver | 功能描述 |
输入比较器 |
5.加解密算法驱动(crypt driver)
加解密算法驱动(crypt driver)可细化为KeyManager, CryptoDriver, CryptoStack几大类别, 主要是提供。
KeyManager | 功能描述 |
秘钥管理服务 | |
CryptoDriver | 功能描述 |
链接安全算法库 | |
CryptoStack | 功能描述 |
算法库 |
三.S32K1 MCAL目录结构
四.S32K1 MCAL获取的方法
1. NXP账号注册
注册一个NXP的账号,需要登录账号才能下载。
2.选择autosar 4.2
搜索autosar关键词,根据芯片和Autosar版本选择对应的MCAL下载入口,实例用的是S32K14x系列芯片和4.2版本的Autosar
3. 下载对应EB版本和MCAL版本
3.1 选择S32K14X_MCAL4_2_RTM_1_0_2
3.2选择EB 23.0