AUTOSAR分层-MCAL辨析

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

猜你喜欢

转载自www.cnblogs.com/wjcdx/p/9026623.html