Common Flash Interface (CFI)规范定义NOR flash和CPU之间的接口,方便CPU查询NOR flash的重要信息。html
此表表示访问Nor数据或者读查询结构的时序算法
- 读Nor数据或者读查询结构数据都至少要2个总线周期,第一个周期写一个特定的命令,第二个周期读Array地址或者Query地址数据
- spec中指定的地址都是基于chip支持的最大字长而言的
- 让chip进入query mode,须要往55H地址写98H
下表表示不一样device type/device mode的状况下,让chip进入query mode的地址和command code的差异 ui
- 表格第一列device_type/device_mode,device_type表示chip支持的最大字长,device_mode表示chip被配置为多少位。好比,x16 device/x8 mode,表示chip的总线位宽最大支持16bit,可是配置为8bit mode,通常都是经过BYTE# pin配置为低电平来选择8bit mode.
- 第2/3列表示以chip最大总线位宽为单位时,向chip发送地址/command code时的格式。Query 模式下,data只是使用数据总线的低8位(D7 - D0),总线的高位置为0。所以发送98H Query command code时,16-bit总线时为0098h, 32-bit总线时为00000098h
- 第4/5列表示以字节为单位时,向chip发送地址/command code时的格式。其中,发送地址=字长地址 x 字长数。好比对于x16 device,发送地址=55H x 2,由于chip内部一个地址表示两个字节的空间,所以字节地址空间要乘以2.对于数据,和第三列相似,老是使用数据总线的低8位。
- N/A* 由于字长地址没法表示全部的字节地址,好比x16的字长为2B,地址老是偶数的,没法表示基数地址
下表表示不一样device type/device mode的状况下,查询结构的数据输出格式的差异 .net
- 表格各个列的含义与上表相似
- 地址10H的含义见表6
重点解释下第五列,当为x8 device/x8 mode时,读10H,获得查询结构的10H的3个字节'Q','R','Y'。 当为x16 device/x16 mode时,输出的数据只出如今低8位,高位置0,因此,21H 为 0。x32 device/x32 mode状况相似.3d
当为x16 device/x8 mode时,理解为,16bit字长的地址对应8bit的数据,和x16 device/x16 mode不一样的是,x8 mode时一个字长内高字节数据不是置0,而是重复低字节的数据。TODOunix
0x10用来判断NOR Flash是非支持CFI接口。code
0x13定义了NOR Flash使用的主算法命令集,如intel扩展命令集是0001, AMD扩展命令集是0002.cdn
0x15定义了主算法扩展查询表的地址,表B.1给了这个地址的结构。htm