从下到上:硬件层、底层外设驱动、中间层、应用层
image.png

一般头文件Header file

S32 SDK包含一个特定于设备的头文件,它提供了对外设寄存器的直接访问。
S32 SDK中支持的每个设备都有一个完整的芯片系统(SoC)内存映射头文件。
这个头文件包含每个外设的内存映射和寄存器基地址,以及带有相关向量号的IRQ向量表。

功能头文件Feature Header File

PAL: Peripheral Abstraction layer外设抽象层
PAL有很强兼容性,不管SOC设备的外设配置差异有多大。
为设备提供了一个完整的外设特性头文件,以定义每个SOC子设备的特性或配置差异。

外设抽象层Peripheral Abstraction Layer

PAL为一系列外设提供了统一的接口,允许应用程序代码的跨平台兼容性。
其主要目标是提供一个独立于底层外设实现的应用程序编程接口。

外设驱动Peripheral Drivers

外设驱动程序是基于内部寄存器访问抽象层、其他外设驱动程序和/或系统服务来实现高级逻辑事务的高级驱动程序。
例如,UART寄存器访问抽象层主要关注于字节级的基本函数原语,而UART外设驱动程序在中断驱动级上使用数据缓冲区来传输字节流。

PAL与PD的使用