Nand flash程式設計技術

2021-06-21 14:44:52 字數 1304 閱讀 2975

一、nand flash容量與介面

1.容量

nand flash按照面、塊、頁、位元組進行儲存空間的管理,以我接觸過的兩款晶元來說:

k9k8g08u0a

的儲存容量為1024mb = 4(planes) * 2k(blocks) * 64(pages) * 2k(bytes)

oob區的大小為32mb = 256mbit = 512k(pages) * 64(bytes)

(注:該flash中每一頁包括2kb儲存空間和64b的oob區資訊)

k9f2g08u0a的儲存容量為2gbit = 256mb = 2(planes) * 1k(blocks) * 64(pages) * 2k(bytes)

oob區的大小為8mb = 64mbit = 128k(pages) * 64(bytes)

(注:該flash中每一頁包括2kb儲存空間和64b的oob區資訊)

2. 介面

i/o[0-7]:資料、位址、狀態和命令共同復用的輸入輸出口

cle:命令鎖存使能

ale:位址鎖存使能

ce:晶元片選使能

re:讀使能

we:寫使能

wp:寫保護使能

r/b:晶元「就緒/忙」訊號

vcc:電源

vss:地

n.c:懸空

二、k9f2g08u0a功能框圖、組織結構與支援的命令集

三、操作步驟

nand flash相關暫存器初始化

給出頁位址,傳送塊擦除命令(0x60/0xd0),按塊(128k)擦除

給出將要寫入資料的起始位址,傳送寫命令(0x80/0x10),資料被寫入nand flash指定位址

給出將要讀取資料的起始位址,傳送讀命令(0x00/0x30),將從nand flash讀取指定長度的資料

四、說明

通過給定列位址值,我們可以不按頁對齊開始,而是從給定位址開始讀取資料

迴圈讀取資料的長度也不必是整頁的長度大小,而是根據實際長度來讀取,如len = 100

寫入也是同理,不必整頁對齊,但這樣會降低讀寫效率

擦除必須是從整數頁開始擦,擦除空間必須是乙個block的大小,比如128kb

Nios Flash程式設計技術

1.1 altera支援cfi flash程式設計 1.3 非支援cfi程式設計 由於我所用的nor flash晶元是am29lv320db,不再nios支援的列表,自己編輯了override檔案,但還是無法正確program進去,決定用列表支援的sst39vf800試一試,引腳相容,容量為1 4,...

DLL程式設計技術

一 dll原理 dll dynamic link library 也就是 動態鏈結庫 是乙個可以被其它應用程式共享的程式模組,其中封裝了一些可以被共享的程式或資源。它雖然包含了可執行 卻不能單獨執行,而應由相應的應用程式直接或間接呼叫。在 windows 32 中,可以將 dll 標記為共享以導致相...

多道程式設計技術

讓多個計算機問題同時裝入乙個計算機系統的主儲存器的併發執行,這種設計技術稱為 多道程式設計 這種計算機系統稱為 多道程式設計系統 或簡稱 多道系統 多道程式設計概念 所謂多道程式設計是指允許乙個計算機系統的主儲存器同時容納多個使用者程式,這些程式在計算機系統中可以併發執行。設有兩道程式a與b要在同乙...