关 闭

新闻中心

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

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

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

①flash_nor_drive指向*(spansion_parts[])的第一个元素;

②将当前Flash ID flash_id_dest[4]与spansion_parts[i]->id[4]相比较;

③如果ID匹配,对应的spansion_partsEi]->ops是当前Flash的函数,spansion_parts[i]->ops->write()是当前Flash的写操作函数;

④如果ID不相同,fsi_nor_drive指向*(spansion_parts[])的下一个元素,重复步骤③,如果遍历*(spansion_parts[])还未找到ID号等于flash_id_dest[4]的元素,则表示当前软件版本不支持这款Flash,对应的驱动不存在,系统报错。

结语

本文主要对NOR Flash存储器驱动的自适应进行了重点设计,为上层文件系统提供了统一的接口去调用Flash存储器功能函数。对于特定Flash功能函数的实现并未详细讲解,整个方案在S3C2440 ARM9平台上对Spansion Flash(S29NS064N、S29NS128N、S29N128N)和Toshiba公司Flash ty5701111183kc04四款Flash的自适应进行了验证,后期还可以添加其他Flash的驱动函数,以再实现对其他Flash的自适应的支持。本方案可以进一步扩展,在ARM9平台上用软件的方式实现系统对NAND Flash、LCD和其他外围IC的自适应。


上一页 1 2 3 4 下一页

关键词:闪存驱动设计

评论


相关推荐

技术专区

关闭