合肥网站制作专业,贝壳找房官网首页入口,激励案例网站制作,做网站需知CFI定义了符合CFI规则设备的基本Query接口#xff0c;包括已知或待拟定的flash Read/Write/Program/Erase控制接口。Query接口以结构体形式定义与flash设备相关的关键参数#xff0c;但是CFI不会对单个flash设备厂家指定详细的指令集、状态轮询模式以及软件算法。
1.操作概要… CFI定义了符合CFI规则设备的基本Query接口包括已知或待拟定的flash Read/Write/Program/Erase控制接口。Query接口以结构体形式定义与flash设备相关的关键参数但是CFI不会对单个flash设备厂家指定详细的指令集、状态轮询模式以及软件算法。
1.操作概要
设备接收到Query command code后进入Query模式允许对CFI Query数据结构进行访问。CFI Query data structure包含16bit指令集、Control Interface ID code(控制接口)、通用flash内存参数和算法指定的数据域。
上述信息主要用于给指定的flash提供读写、擦除等操作。
2. 硬件接口
2.1 Query command interface CFI Query结构的访问与NVM现有的”ID Mode”或”JEDEC ID”访问类似但是使用不同的指令代码。Query 访问指令为98hJEDEC ID 模式访问为90h。 上电后假设NvM处于制度模式Query 结构的内容必须能够在单个系统写周期的特定地址位置读取198h被写入到设备地址空间内55h的地址位置(以最大设备总线宽度)2)设备处于任何有效的读状态如“读阵列”或“读ID数据”。其他设备状态可能存在于一长串命令或数据输入中;在编写98h Query命令代码产生有效的Query数据结构输出之前必须先完成或终止这些序列。 设备驱动程序应该始终在地址总线上提供55h在数据总线上提供98h以进入查询模式;或者Flash设备可以选择忽略地址总线并进入查询模式如果98h只在数据总线上看到。 Flash供应商必须为其他模式访问定义其他命令序列。 2.2 Query structure output Query 数据只在数据输出(D7 - D0)上显示。 因此对于字节宽(x8)设备Query结构的前两个字节即ASCII中的“Q”和“R”出现在设备地址10h和11h处这与绝对字节地址相同。相同逻辑应用到x16、x32设备。下表Query数据输出的示例 3 Query Structure
3.1 Query结构总览 Offset Section名称 描述 00h Reserved 指令算法信息 10h CFI Query Identification 命令集ID和算法数据偏移量 1Bh System Interface Information 设备时间、电压信息 27h Device Geomerty Definition Flash设备的layout P 主算法的特定扩展 主算法的特定扩展 A 备选算法的特定扩展 备选算法的特定扩展
3.2 CFI Query Identification Offset Length bytes Description 10h 03h 三字节的“QRY”查询结构标记 13h 02h 两字节的主算法命令集和控制接口ID码 15h 02h ValueP 主算法扩展表的地址P 17h 02h 备选算法命令集和控制接口ID码 19h 02h ValueA 备选算法扩展表的地址A
3.3 System Interface Information Offset LengthBytes 含义 举例Intel 28 F800BVT 10H 03H 查询ASCII字符串“QRY” 10:0051H ‘Q’ 11:0052H ‘R’ 12:0059H ‘Y’ 13H 02H 制造商命令集和控制接口识别码ID 13:0003H 14:0000H 1BH 01H 逻辑供电Vcc最小电压。位7-4BCD伏 位3-0BCD100毫伏 1B:0030H3伏 1CH 01H 逻辑供电Vcc最大电压。位7-4BCD伏 位3-0BCD100毫伏 1C:0055H5.5伏 1DH 01H 编程/擦除供电Vpp最小电压。位7-4HEX伏 位3-0BCD100毫伏 1D:0045H4.5伏 1EH 01H 编程/擦除供电Vpp最大电压。位7-4HEX伏 位3-0BCD100毫伏 1E:00C6H12.6伏 1FH 01H 典型单字节/字写周期定时时间2Nus 1F:0003H3.8us 21H 01H 典型单块擦除定时时间2Nms 21:000AH1.024s 22H 01H 典型整片擦除定时时间2Nms 22:0000H不支持 23H 01H 单字节/字写周期最大定时时间2Nx典型单字节/字写周期定时时间 23:0004H24x8us 25H 01H 单块擦除最大定时时间2Nx典型单块擦除定时时间 25:0004H24x1.024s 26H 01H 整片擦除最大定时时间2Nx典型整片擦除定时时间 26:0000H不支持 3.4 Device geometry definition Offset LengthBytes 含义 举例Intel 28 F800BVT 28H 02H Flash器件接口识别码ID 28:0002H 29:0000H 2CH 01H 器件可擦除块区域个数。Bit7-0可擦除块个数 2C:0004H 4个擦除块 2DH 04H 擦除块信息域1。Bit31-16z高两字节表示擦除块大小对于256字节的倍数0表示128B。Bit15-0y低两字节1表示擦除块的个数0表示没有块 2D:0006H 2E:0000H 7个擦除块 2F:0000H 30:0002H 256x200H128K字节 31H 04H 擦除块信息域2。 31:0000H 32:0000H 33:0080H 34:0001H 35H 04H 擦除块信息域3。 35:0001H 36:0000H 37:0020H 38:0001H 39H 04H 擦除块信息域4。 39:0000H 3A:0000H 3B:0040H 3C:0000H
3.5 主算法的特定扩展
如下表所示 Offset Length bytes Description Ph 03h 主算法扩展查询表标记字符串“PRI” P3h 01h 主版本号 P4h 01h 次版本号 P5h Variable 主算法扩展查询结构内容
3.6 备用算法的特定扩展
如下表所示 Offset Length bytes Description Ah 03h 备用算法扩展查询表标记字符串“ALT” A3h 01h 主版本号 A4h 01h 次版本号 A5h Variable 备用算法扩展查询结构内容
4. CFI代码示例 Std_ReturnType Fls_HwCfiQuery(uint32 CfiBaseAddr,uint8 CfiCmd, _CfiValueType *CfiValueBuf)
{Std_ReturnType retVal E_NOT_OK;uint16 i0;/* #10 Handle CFI query cmd */Fls_lCmdProcessing((_FLS_CFI_BASE_ADDRESS CfiBaseAddr),CfiCmd);/* #20 Check that the CFI interface is operable */if ((Fls_lCfiReadValue(_FLS_CFI_BASE_ADDRESS _FLS_CFI_QUERY_OFFSET_ONE) ! 0x51U)||(Fls_lCfiReadValue(_FLS_CFI_BASE_ADDRESS _FLS_CFI_QUERY_OFFSET_TWO) ! 0x52U)||(Fls_lCfiReadValue(_FLS_CFI_BASE_ADDRESS _FLS_CFI_QUERY_OFFSET_THREE) ! 0x59U)){retVal E_NOT_OK;}else{/* #30: Read the required CFI Info */for(i 0; i 256; i){CfiValueBuf[i] Fls_lCfiReadValue(_FLS_CFI_BASE_ADDRESS (uint32)i);}retVal E_OK;}return retVal;