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