关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 一种支持多种闪存的自适应驱动设计

一种支持多种闪存的自适应驱动设计

作者: 时间:2012-05-23 来源:网络 收藏

2 Flash自适应方法设计

传统的Flash驱动Software_A中只为Flash_A提供了驱动接口函数。自适应Flash驱动Software_AB在硬件接口层中同时为Flash_A和Fla sh_B各提供一套驱动接口函数,系统通过读取Flash存储器的ID号来识别当前Flash,从而选择适合当前Flash存储器的接口函数。以此类推,如果Software_ABC中添加了Flash_C的接口操作函数,则Software_ABC也添加对Flash_C的支持,实现3种Flash存储器的自适应。

2.1 Flash自适应方法模型及实现

自适应模型与传统模型的比较如图4所示。自适应驱动方法在传统驱动方法的基础上添加了自适应层,硬件驱动层里有多款Flash的接口操作函数。

d.JPG

一个驱动程序中存在多种Flash的接口函数,系统在自适应层中分三步来寻找对应Flash的接口函数。如图5所示,自适应层实现方法如下:

e.JPG

①读取Flash设备ID;

②fLash_nor_probe(),系统根据读取到的ID,遍历指针数组*(spansion[]),寻找当前Flash的驱动信息,并将之存储在全局变量中;

③根据相应的全局变量,自动寻找相应的驱动函数。

2.2 Flash接口函数的实现

本文以Toshiba公司ty5701111183kc04的Flash ID读取为例,介绍NOR Flash驱动函数的实现方法。

Flash ID读取流程:

①发送复位指令0xf0令Flash复位;

②给Flash发送读取ID的命令序列;

③读取Flash ID存储到全局变量中。



关键词:闪存驱动设计

评论


相关推荐

技术专区

关闭