日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 單片機 > 單片機
[導讀]1.硬件原理NandFlash在對大容量的數據存儲中發(fā)揮著重要的作用。相對于NorFlash,它具有一些優(yōu)勢,但它的一個劣勢是很容易產生壞塊,因此在使用NandFlash時,往往要利用校驗算法發(fā)現壞塊并標注出來,以便以后不再使用


1.硬件原理

NandFlash在對大容量的數據存儲中發(fā)揮著重要的作用。相對于NorFlash,它具有一些優(yōu)勢,但它的一個劣勢是很容易產生壞塊,因此在使用NandFlash時,往往要利用校驗算法發(fā)現壞塊并標注出來,以便以后不再使用該壞塊。NandFlash沒有地址或數據總線,如果是8位NandFlash,那么它只有8個IO口,這8個IO口用于傳輸命令、地址和數據。NandFlash主要以page(頁)為單位進行讀寫,以block(塊)為單位進行擦除。每一頁中又分為main區(qū)和spare區(qū),main區(qū)用于正常數據的存儲,spare區(qū)用于存儲一些附加信息,如塊好壞的標記、塊的邏輯地址、頁內數據的ECC校驗和等。

1.1.壞塊管理

由于NANDFlash的工藝不能保證NAND的MemoryArray在其生命周期中保持性能的可靠,因此,在NAND的生產中及使用過程中會產生壞塊。壞塊的特性是:當編程/擦除這個塊時,不能將某些位拉高,這會造成PageProgram和BlockErase操作時的錯誤,相應地反映到StatusRegister的相應位。

(1)固有壞塊,這是生產過程中產生的壞塊,一般芯片原廠都會在出廠時都會將壞塊第一個page的sparearea的第6個bit標記為不等于0xff的值。

(2)使用壞塊,這是在NANDFlash使用過程中,如果BlockErase或者PageProgram錯誤,就可以簡單地將這個塊作為壞塊來處理,這個時候需要把壞塊標記起來。為了和固有壞塊信息保持一致,將新發(fā)現的壞塊的第一個page的sparearea的第6個Bit標記為非0xff的值。

(3)壞塊管理

根據上面的這些敘述,可以了解NANDFlash出廠時在sparearea中已經反映出了壞塊信息,因此,如果在擦除一個塊之前,一定要先check一下sparearea的第6個bit(512)或第1個bit(2k)是否是0xff,如果是就證明這是一個好塊,可以擦除;如果是非0xff,那么就不能擦除。

當然,這樣處理可能會犯一個錯誤―――“錯殺偽壞塊”,因為在芯片操作過程中可能由于電壓不穩(wěn)定等偶然因素會造成NAND操作的錯誤。但是,為了數據的可靠性及軟件設計的簡單化,我們就要奉行“蔣委員長”的“寧可錯殺一千,也決不放過一個”的宗旨。

(4)需要對前面由于PageProgram錯誤發(fā)現的壞塊進行一下特別說明。如果在對一個塊的某個page進行編程的時候發(fā)生了錯誤就要把這個塊標記為壞塊,首先就要把其他好的page里面的內容備份到另外一個空的好塊里面,然后,把這個塊標記為壞塊。

當然,這可能會犯“錯殺”之誤,一個補救的辦法,就是在進行完頁備份之后,再將這個塊擦除一遍,如果BlockErase發(fā)生錯誤,那就證明這個塊是個真正的壞塊,那就毫不猶豫地將它打個“戳”吧!

(2)可能有人會問,為什么要使用sparearea的第六個bit作為壞塊標記。這是NANDFlash生產商的默認約定。

2.芯片手冊

K9F2G08U0B

2.1.特性

容量256MB

一頁2k+64;一塊128k+4k;

2.2.引腳描述

見手冊

2.3.指令集

2.4.讀

2.5.編程

2.6.擦除

2.7.讀ID

3.mini2440電路圖

4.S3C2440寄存器

4.1.控制器特性

1、支持讀/寫/編程NANDFLASH內存

2、系統(tǒng)復位后nandflash的前4k代碼自動copy到內部sram,copy完成后從sram啟動,此時內部sram被映射為nGCS0。(當OM[1:0]=00時使能NANDFLASH啟動模式)

3、支持硬件ECC校驗

4、系統(tǒng)啟動后內部ram可以用做其他的用途。


4.2.操作Nand方法

1、設置nandflash配置寄存器NFCONF

2、向命令寄存器NFCMD寫入操作命令

3、向地址寄存器NFADDR寫入地址

4、讀/寫數據前要讀取狀態(tài)寄存器NFSTAT來判斷nandflash是否處于忙狀態(tài)。


4.3.ECC奇偶校驗

S3C2440在讀/寫操作時,自動生成2048字節(jié)的奇偶校驗碼。

NandFlash的頁為2048B。在讀寫的時候每頁會產生4個bit大小的ECC校驗碼。

28bitECC校驗碼=22bit線校驗碼+6bit列校驗碼

ECC產生模塊執(zhí)行以下步驟:

1:當MCU寫數據到NAND時,ECC產生模塊生成ECC碼。

2:當MCU從NAND讀數據時,ECC產生模塊生成ECC碼同時用戶程序將它與先前寫入時產生的ECC碼作比較。

在自動引導模式下,不進行ECC檢測。因此,NANDFLASH的前4KB應確保不能有位錯誤(一般NANDFLASH廠家都確保)。

nand.h


/*******************************************************************

*Copyright(C),2011-2012,XXX.

*FileName:nand.h

*Author:HuangYinqing

*Version:1.0

*Date::2012-04-22

*Description:nandflash驅動.

*FunctionList:

*History:

******************************************************************/

#ifndef__NAND_H__

#define__NAND_H__

/*nandflash調試等級*/

#defineDBG_NAND_LEVEL1

/*nandflash信息*/

#defineNAND_PAGE_SIZE(2*1024)//==1頁2k

#defineNAND_BLOCK_SIZE(NAND_PAGE_SIZE*64)//==1塊128k

#defineNAND_SIZE(256*1024*1024)//==容量256M

/*操作命令*/

#defineCMD_READ10x00//頁讀命令周期1

#defineCMD_READ20x30//頁讀命令周期2

#defineCMD_READID0x90//讀ID命令

#defineCMD_WRITE10x80//頁寫命令周期1

#defineCMD_WRITE20x10//頁寫命令周期2

#defineCMD_ERASE10x60//塊擦除命令周期1

#defineCMD_ERASE20xd0//塊擦除命令周期2

#defineCMD_STATUS0x70//讀狀態(tài)命令

#defineCMD_RESET0xff//復位

#defineCMD_RANDOMREAD10x05//隨意讀命令周期1

#defineCMD_RANDOMREAD20xE0//隨意讀命令周期2

#defineCMD_RANDOMWRITE0x85//隨意寫命令

/*NFCONF設置時序*/

#defineTACLS1

#defineTWRPH02

#defineTWRPH10

/*NFCONT片選*/

#defineNF_nFCE_L(){rNFCONT&=~(1<<1);}//==打開片選

#defineNF_nFCE_H(){rNFCONT|=(1<<1);}//==關閉片選

/*讀寫數據*/

#defineNF_CMD(data){rNFCMD=(data);}//傳輸命令

#define NF_ADDR(addr) {rNFADDR = (addr);} //傳輸地址

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯系該專欄作者,如若文章內容侵犯您的權益,請及時聯系本站刪除。
換一批
延伸閱讀

中國北京(2025年9月10日)—— 業(yè)界領先的半導體器件供應商兆易創(chuàng)新GigaDevice(股票代碼 603986)亮相于深圳國際會展中心舉辦的第26屆中國國際光電博覽會(展位號:12C12),全面展示GD25 SPI...

關鍵字: 光通信 MCU Flash

在嵌入式系統(tǒng)中,Flash存儲器因其非易失性、高密度和低成本特性,成為代碼存儲和關鍵數據保存的核心組件。然而,MCU驅動Flash讀寫時,開發(fā)者常因對硬件特性理解不足或操作流程疏忽,陷入性能下降、數據損壞甚至硬件損壞的陷...

關鍵字: MCU驅動 Flash

深圳2025年4月24日 /美通社/ -- 4月23日,2025上海國際車展盛大啟幕,全球汽車產業(yè)的目光聚焦于這場科技與創(chuàng)新的盛宴。在眾多展示亮點中,汽車AI+應用無疑是最大的熱點之一,“駕控超級大腦”技術概念、車機交互...

關鍵字: GB EMMC Flash PS

在自動駕駛、機器人與工業(yè)檢測領域,激光雷達作為環(huán)境感知的核心傳感器,其技術路線正從機械式向固態(tài)化演進。MEMS、OPA與Flash作為固態(tài)激光雷達的三大主流架構,分別通過微機電系統(tǒng)、光學相控陣與泛光面陣技術實現掃描與探測...

關鍵字: MEMS OPA Flash

在嵌入式系統(tǒng)開發(fā)中,外部存儲介質的選擇和管理至關重要。SPI Flash以其高容量、低功耗、高速率等特點,成為眾多嵌入式設備的首選存儲方案。然而,如何高效管理SPI Flash存儲,避免數據丟失、提高讀寫性能,是開發(fā)者必...

關鍵字: 嵌入式SPI Flash LittleFS

STM32單片機作為一種高性能、低功耗的嵌入式微控制器,廣泛應用于各種電子設備中。在實際應用中,為了擴展存儲空間或實現數據的持久化存儲,經常需要使用外部FLASH存儲器。本文將詳細介紹STM32單片機如何讀寫外部FLAS...

關鍵字: STM32 Flash

在嵌入式系統(tǒng)和存儲設備領域,Flash和EEPROM(電可擦可編程只讀存儲器)因其非易失性存儲特性而被廣泛應用。這些存儲設備能夠在斷電后保持數據,對于需要長期保存配置參數、程序代碼或用戶數據的應用來說至關重要。然而,關于...

關鍵字: Flash EEPROM
關閉