社区
驱动开发/核心开发
帖子详情
求助:关于CFI以及flash driver
ionlic
2005-08-14 03:20:25
最近老板让我写flash driver催得急,有些东西我不懂,求助这里的诸位高人。
进入Query mode后,是不是只能访问
addresses(x16)
10h~50h 这段的地址啊。是不是就是说只能访问cfi query data stucture?
cfi的主要作用是什么啊?
我昨天拿到am29lv256m的datasheet,正在看。我怎么没有看到,如何读写flash呢?
谢谢。
...全文
361
3
打赏
收藏
求助:关于CFI以及flash driver
最近老板让我写flash driver催得急,有些东西我不懂,求助这里的诸位高人。 进入Query mode后,是不是只能访问 addresses(x16) 10h~50h 这段的地址啊。是不是就是说只能访问cfi query data stucture? cfi的主要作用是什么啊? 我昨天拿到am29lv256m的datasheet,正在看。我怎么没有看到,如何读写flash呢? 谢谢。
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ionlic
2005-09-07
打赏
举报
回复
呵呵,谢谢楼上,我那个时候刚接触,什么都不懂,现在懂了一些皮毛。
CFI操作主要是查询flash芯片的相关信息。
在查询前,用户需要在指定地址写入QRY,其实就是查询(读)。
对于NOR型的flash芯片(NAND还没看过),读就是直接从地址读。
而写需要执行擦除操作(flash只是对指定位置写0,擦除是写1)。
至于对flash的操作,不同的厂商都有一套自己的command或者command sequence。
flash属于状态敏感型芯片,对指定的内存地址写入指定的值(或者值序列)就会使flash芯片处于一个指定的状态。
土豆
2005-08-31
打赏
举报
回复
你要干吗?
读flash简单,只需要像访问内存那样就可以了。
但是写比较麻烦些。你需要按照CFI的操作序列去实现。CFI其实是Intel推出的标准,amd的flash操作命令不一样,但是意思差不多。
比如要在偏移为addr的地方写入一个数value,按下面的序列
1)在偏移0x555的地方写入0xaa
2)在偏移0x2aa的地方写入0x55
3)在偏移0x555的地方写入0xa0
4)在偏移addr的地方写入value
5)等待上述操作执行完成。
注意:写只能对被擦除了的区域,如果有数据的,需要先作擦除。
1)在偏移0x555的地方写入0xaa
2)在偏移0x2aa的地方写入0x55
3)在偏移0x555的地方写入0x80
4)在偏移0x555的地方写入0xaa
5)在偏移0x2aa的地方写入0x55
6)在要删除的section的开始地址offset写入0x30
7)等待上述操作执行完成。
其实flash的driver 有很多要做:
首先,你要检测flash的类型,也就是做probe;另外你也需要实现reset的功能,因为flash内部其实也有一段程序,在出现故障的时候需要做reset;上面实现的写操作是字节写的,当然也能工作,不过flash一般都有buffer write功能,可以一次性将一块数据写上去,这样效率高写。
ionlic
2005-08-14
打赏
举报
回复
CFI我有点理解了。
为了使程序可重用。如果支持了CFI,就可以应用程序判断是什么类型的flash,然后根据不同的芯片类型作相应的操作。我这样理解对么?
是不是一般flash中都有state machine?其实,写操作主要是通过设定state machine的状态来进行些操作的对么?
我刚刚接触,还请各位大侠再给补充补充。
linux dd 移动硬盘,紧急
求助
DD无法挂载移动硬盘
Found an alias at 0x1800000 for the chip at 0x0 Physically mapped
flash
: Found an alias at 0x1c00000 for the chip at 0x0 Amd/Fujitsu Extended Query Table v1.3 at 0x0040 number of
CFI
chips: 1
cfi
_cmd...
嵌入式linux启动信息完全注释
flash
在内存中的的起始地址为0x46000000,而ROMFS在
flash
分区上的起始位置为0x00040000,所以ROMFS在内存地址中的位置就为0x46040000。这个细节的部分能够参考
flash
分区时的地方,Creating 3 MTD partitions。 romfs...
c语言俄罗斯方块.7z
C语言项目源码
IE-模版-软件项目策划过程.doc
IE-模版-软件项目策划过程.doc
计算机专业项目代码:ASP人事处网站的完善设计(论文+源代码+答辩PPT).7z
毕业设计ASP
驱动开发/核心开发
21,616
社区成员
21,711
社区内容
发帖
与我相关
我的任务
驱动开发/核心开发
硬件/嵌入开发 驱动开发/核心开发
复制链接
扫一扫
分享
社区描述
硬件/嵌入开发 驱动开发/核心开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章