www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

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


1.硬件原理

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

1.1.壞塊管理

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

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

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

(3)壞塊管理

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

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

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

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

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

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內(nèi)存

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

3、支持硬件ECC校驗

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


4.2.操作Nand方法

1、設(shè)置nandflash配置寄存器NFCONF

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

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

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


4.3.ECC奇偶校驗

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

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

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

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

1:當(dāng)MCU寫數(shù)據(jù)到NAND時,ECC產(chǎn)生模塊生成ECC碼。

2:當(dāng)MCU從NAND讀數(shù)據(jù)時,ECC產(chǎn)生模塊生成ECC碼同時用戶程序?qū)⑺c先前寫入時產(chǎn)生的ECC碼作比較。

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

nand.h


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

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

*FileName:nand.h

*Author:HuangYinqing

*Version:1.0

*Date::2012-04-22

*Description:nandflash驅(qū)動.

*FunctionList:

*History:

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

#ifndef__NAND_H__

#define__NAND_H__

/*nandflash調(diào)試等級*/

#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//復(fù)位

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

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

#defineCMD_RANDOMWRITE0x85//隨意寫命令

/*NFCONF設(shè)置時序*/

#defineTACLS1

#defineTWRPH02

#defineTWRPH10

/*NFCONT片選*/

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

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

/*讀寫數(shù)據(jù)*/

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

#define NF_ADDR(addr) {rNFADDR = (addr);} //傳輸?shù)刂?

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

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉