简介
本文介绍AUTOSAR BSW的闪存驱动(Flash Driver)模块,应用于内部和外部闪存。
闪存驱动模块为闪存读、写、擦提供服务,并且如果底层硬件支持,可为设置/重置写/擦保护配置接口。在ECU的应用模式下,闪存驱动仅由Flash EEPROM模块使用,用于写数据。在应用模式,它不用于写程序代码到闪存中,但这会在boot模式下发生,不属于AUTOSAR范围。
内部闪存的驱动直接访问微控制器硬件,且位于微控制器抽象层。外部闪存通常连接到微控制器的数据/地址总线(内存映射访问),闪存驱动使用这些总线的handlers/driver访问外部闪存设备。外部闪存的驱动位于ECU抽象层。
对内部闪存和外部闪存的功能要求和功能范围是一样的,因此API在语义上是完全一致的。
闪存驱动仅擦出或写如整个闪存扇区的每个页,例如,它不提供任意类型的重写策略,因为它不使用任何内部缓存区。
闪存驱动不提供由于证明数据一致性的策略(如,检验和、重复储存,等)。
如果是外部闪存,对该闪存设备的访问需要通过与相应的I/O驱动通信。
功能介绍
通用设计规则
FLS模块应为闪存的操