EEPROM驱动程序的稳定可靠在嵌入式产品的设计中占据举足轻重的地位,因为如果EEPROM不正确,那么存储的设备运行参数和数据就不正确,曾遇到过因为老产品的EEPROM驱动设计存在缺陷,导致客户抱怨,退回产品,虽然有的程序员写的驱动程序可以用,但是在恶劣条件下,导致数据丢失或者存储错误,EEPROM驱动的设计复用性应当相当高,在产品的设计中可以服用,如果驱动做的好的话,可以直接用在下一个产品中,只需更改一些应用层的映射,底层驱动完全不用改。
EEPORM驱动主要的功能接口应该提供,读,写,擦除,比较数据等接口,例如汽车电子行业中的AUTOSAR就对EEPROM的驱动有标准要求,其他行业也可以参考使用,汽车电子对安全要求相当高,为了避免各个厂商做出的驱动不一致性,所以在标准中提出了细致的要求,大家都必须按照标准来走,这样的话就大大提高了程序的复用性,和可靠性,对外置EEPROM和内置EEPROM都适用,也推荐大家使用状态机来做EEPROM的驱动,另外还要维护EEPROM的状态,要有超时退出设计,避免死循环。
我们以读未例来看下AUTOSAR标准给出的API接口
Std_ReturnTypeEep_Read(Eep_AddressTypeEepromAddress, uint8* DataBufferPtr, Eep_LengthType Length )
看一下接口描述
同样可以参考写和擦除接口,以及错误管理,同样推荐大家写驱动文档也可以按照这个格式和样式来书写,以提高开发文档的书写和表达能力。
我们曾在公众号里给大家介绍过基于AUTOSAR标准的GPIO驱动开发,其实认真阅读AUTOSAR标准,开发出一个符合AUTOSAR标准的驱动没有想象中那么难,希望有兴趣的同学可以阅读下AUTOSAR标准中的以下文档,对你开发EEPROM有很大的帮助,即使你不完全按照AUTOSAR标准,也会为你提供很好的架构参考。
关于AUTOSAR的完整标准,大家可以登录www.autosar.org官网下载,目前最新的应该是4.2版本。希望会对你们做嵌入式驱动开发的程序猿提供指导