AUTOSAR分层-MCAL辨析

时间:2023-03-08 16:15:13
AUTOSAR分层-MCAL辨析
8. AUTOSAR中MCAL虽然包含各种drvier,但毕竟是AL即抽象层,不应包含architecture和device特定的信息。应该只包含模型定义,不包含实现细节。
AUTOSAR文档中的分层结构如下:
0层:
AUTOSAR分层-MCAL辨析
1层:
AUTOSAR分层-MCAL辨析
从中可以看到,Microcontroller Abstraction Layer即MCAL包含的模块为:
AUTOSAR分层-MCAL辨析
是否有察觉到异常?
Microcontroller Abstraction Layer为抽象层,而各个Driver必然包含很多设备相关的细节。这两个是矛盾的。
Microcontroller Abstraction Layer应该抽象出不同开发商的相同类型device产品的driver的共同点。比如有很多Can Device的开发商,他们的设备都应该符合Can协议,提供相似的操作接口。MCAL应当负责提取出这套接口,建立模型。而非具体的Driver。
如此,层级结构图变成了:
AUTOSAR分层-MCAL辨析
PS. 可以参考Linux kernel的实现中,有asm-generic/asm/mach相关的归类。
asm:  Architecture Specific Macros
mach: Machine