版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
NandFlashNANDFlashNandFlash的芯片為例作了具體的解釋。NANDFlashbitmemorycell,一般來(lái)說(shuō),cell816bit,(NandFlashNandFlashK9F1208,K9F1208U0M),528Byte32形成一個(gè)BlockSizeof(block)=16kByte。1block=16kbyte,512Mbit=64Mbyte,Numberof(block)=40961block=32,1=528byte=512byte(MainArea)+16byte(SpareArea)Nandflash式可以形成所謂的三類地址:--BlockAddress--Address--ColumnAddressNANDFlash來(lái)講,地址和命令只能在I/O[7:0]8位。512byte9bit528byteNAND512byte1sthalf2ndhalf,各自的訪問(wèn)由地址指針命令來(lái)選擇,A[7:0]就是所謂的column對(duì)地址。BlockA14以上的bit來(lái)表示,例如512Mb的NAND,共12bitA[25:14],1Gbit的528byte/NANDFlashblockaddressA[26:24addressblcokaddress|addressinblockNANDFlash的地址表示為:BlockAddress|Addressinblock|halfpointer|ColumnAddress地址傳送挨次是ColumnAddress,Address,BlockAddress。由于地址只能在I/O[7:0]512Mbitx8NANDflash,0~0x3FF_FFFF,只要是這個(gè)范圍內(nèi)的數(shù)值表示的地址都是有效的。NAND_ADDR為例:1columnaddress,NAND_ADDR[7:0],不需移位即可傳遞到pointerbit8是由操作指令打算的,即指令打算halfbit8don”tcare的。9NAND_ADDR[16:9]I/O[7:0]上3NAND_ADDR[24:17I/O上I/O4步才4-stepaddressing。NANDFlash256Mbit以下,那么,blockadress最高位只到3x16NANDflash器件略微進(jìn)展一mainarea256word512byte。bit8完全不用管,地址傳遞照舊和x8器NANDx8nandflashblock,每個(gè)block。一般而言,block、隨著芯片的不同而不同,典型的安排是這樣的:1block=321=512bytes(datafield)+16bytes(oob)flashblock512bytes1sthalf和2sdhalf,half256K9F1208U0B4096個(gè)Blocks,flash4096*(32*528)=69206016Bytes=66MB最終16Bytes*(32*512)=67108864Bytes=64MB,1528Bytes528〔1Byte00Byte11Byte,81Byte1bit〕。這528BytesDataFieldSpareField,其中SpareField占528Bytes里的16Bytes,這16Bytes是用于在讀寫操作的時(shí)候存放校驗(yàn)16Bytes512BytesDataField,528Bytes,但512BytesNandFlash讀命令有兩個(gè),分別是Read1,Read2Read1DataFieldRead2SpareFieldNandFlash,也就是說(shuō)當(dāng)我們給定了讀取的起始位置后,讀操作將從Byte〔SpareFieldNandFlashNandFlashColumnAddressAddress.進(jìn)展尋址。ColumnAddressBytePaageAddress:頁(yè)地址。由于頁(yè)地址總是以512Bytes90FlashRead1src_addrColumnAddressAddress:column_addr=src_addr%512;//columnaddress_address=(src_addr>>9);//addressNandFlashA0~A7rA8A8你將了解到這是什么緣由)Read1命令的操作分為4Cycle,發(fā)送完讀命令00h或01h〔00h與01h的區(qū)分請(qǐng)見(jiàn)下文描述4Cycle1st.Cycle,3rd.Cycle4th.CycleAddress〔每次向17Address3Read100h01h。這里消滅了兩K9F1208U0BDataField2half如上文我所提及的,Read11st.CycleColumnAddress,假設(shè)我0,0Byte是127,狀況也與前面一樣,但不知道你覺(jué)察沒(méi)有,用于傳遞ColumnAddress8〔I/O0~I/O7,對(duì)應(yīng)A0~A7,這也是A8的地址位中〕,也就是說(shuō)我們能夠指定的ColumnAddress范圍為0~255,但不命令從第256個(gè)字節(jié)處開頭讀取此頁(yè),那將會(huì)發(fā)生什么情景?我必需把ColumnAddressColumnAddress。DataField〔ColumnAddress〕0~25500h256byte頁(yè),那么我將這樣發(fā)送命令串:column_addr=256;從2ndNF_CMD=0x01; half開頭讀取NF_ADDR=column_addr&0xff;1stCycleNF_ADDR=_address&0xff;2nd.CycleNF_ADDR=(_address>>8)&0xff;3rd.CycleNF_ADDR=(_address>>16)&0xff;4th.Cycle其中NF_CMD和NF_ADDR分別是NandFlash的命令存放器和地址存放器的地址解引用,我一般這樣定義它們:#definerNFCMD(*(volatileunsignedchar*)0x4e000004)//NADDFlashcommand#definerNFADDR(*(volatileunsignedchar*)0x4e000008)//NANDFlashaddressA801h是00h這兩個(gè)命令來(lái)置高位或是置低位〕,這樣我們傳遞column_addr的值256NF_CMD=0x011所以我們傳到地址存放器里的值變成了:A0A1A2A3A4A5A6A7A8100000001256byte〔2ndhalf0byte〕開頭讀取數(shù)據(jù)。nand_flash.c3voidnf_reset(void);voidnf_init(void);voidnf_read(unsignedintsrc_addr,unsignedchar*desc_addr,intsize);nf_init調(diào)用。nf_initnand_flashnandflash,nf_init必需被調(diào)用。nf_read(unsignedintsrc_addr,unsignedchar*desc_addr,intsize);src_addrnandflash,desc_addr,size讀取文件的長(zhǎng)度。nf_resetnf_readNF_nFCE_L;NF_nFCE_H;NandFlashNF_nFCE_L必定被調(diào)用,F(xiàn)lash〔片選/取消片選〕nf_reset中的:rNFCONF=(1<<15)|(1<<14)|(1<<13)|(1<<12)|(1<<11)|(TACLS<<8)|(TWRPH0<<4)|(TWRPH1<<0);,rNFCONFNandFlashs3c2410NandFlash中的第5000字節(jié)處開頭讀取10240x30000000read函數(shù):nf_read(5000,0x30000000,1024);5000src_addr.:依據(jù)column_addr=src_addr%512;_address=(src_addr>>9);我們可得出:column_addr=5000%512=392_address=(5000>>9)=99392nf_readcolumn_addr=5000%512;>_address=(5000>>9);NF_ADDR=column_addr&0xff;1stCycleNF_ADDR=_address&0xff;2nd.CycleNF_ADDR=(_address>>8)&0xff;3rd.CycleNF_ADDR=(_address>>16)&0xff;4th.CyclerNFDATA(NandFlash我用下面的代碼進(jìn)展數(shù)據(jù)的讀取.:for(i=column_addr;i<512;i++){*buf++=NF_RDDATA;}0Column(0Byte).NandFlash下面是源代碼:/*本代碼只屬于溝通學(xué)習(xí),不得用于商業(yè)開發(fā)*/#include“s3c2410.h“#include“nand_flash.h“staticunsignedcharseBuf[16]={0xff};//-------------------------------------------------------------------unsignedshortnf_checkId(void){inti;unsignedshortid;NF_nFCE_L;//chipenableNF_CMD(0x90);//ReadIDNF_ADDR(0x0);for(i=0;i<10;i++);//waittWB(100ns)id=NF_RDDATA<<8;//Makercode(K9S1208V:0xec)id|=NF_RDDATA;//Devidecode(K9S1208V:0x76)NF_nFCE_H;//chipenablereturnid;}//-------------------------------------------------------------------staticvoidnf_reset(void){inti;NF_nFCE_L;//chipenableNF_CMD(0xFF);//resetcommandfor(i=0;i<10;i++);//tWB=100ns.NF_WAITRB;//wait200~500us;NF_nFCE_H;//chipdisable}//-------------------------------------------------------------------voidnf_init(void){rNFCONF=(1<<15)|(1<<14)|(1<<13)|(1<<12)|(1<<11)|(TACLS<<8)|(TWRPH0<<4)|(TWRPH1<<0);//11111xxxrxxx,rxxx//EnrrECCRnFCE=HtACLStWRPH0tWRPH1nf_reset;}//-------------------------------------------------------------------voidnf_read(unsignedintsrc_addr,unsignedchar*desc_addr,intsize){inti;unsignedintcolumn_addr=src_addr%512;//columnaddressunsignedint_address=(src_addr>>9);//addrressunsignedchar*buf=desc_addr;while((unsignedint)buf<(unsignedint)(desc_addr)+size){NF_nFCE_L;//enablechipnand_flash*/if(column_addr>255)//2endhalftNF_CMD(0x01);//Read2command.cmd0x01:Readcommand(startfrom2endhalf)elseNF_CMD(0x00);//1sthalft?NF_ADDR(column_addr&0xff);//ColumnAddressNF_ADDR(_address&0xff);//AddressNF_ADDR((_addre
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 單位管理制度收錄大合集職員管理十篇
- 博物館對(duì)外文標(biāo)識(shí)統(tǒng)一規(guī)范自查報(bào)告
- 2022年甘肅省武威市中考模擬英語(yǔ)試題(解析版)
- 2019-2025年中國(guó)葡萄籽行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 巴彥淖爾精密塑料制品項(xiàng)目可行性研究報(bào)告
- 土木工程專業(yè)實(shí)習(xí)報(bào)告5000字范文
- 中國(guó)手機(jī)外屏玻璃行業(yè)發(fā)展前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 濕地飛禽公園建設(shè)項(xiàng)目可行性研究報(bào)告
- 叉接機(jī)行業(yè)行業(yè)發(fā)展趨勢(shì)及投資戰(zhàn)略研究分析報(bào)告
- 垃圾分類行業(yè)市場(chǎng)調(diào)查研究及投資前景預(yù)測(cè)報(bào)告
- 《中國(guó)大熊貓》課件大綱
- 大學(xué)生醫(yī)療創(chuàng)新創(chuàng)業(yè)
- 新課標(biāo)背景下的大單元教學(xué)研究:國(guó)內(nèi)外大單元教學(xué)發(fā)展與演進(jìn)綜述
- 危險(xiǎn)化學(xué)品無(wú)倉(cāng)儲(chǔ)經(jīng)營(yíng)單位生產(chǎn)安全事故應(yīng)急救援預(yù)案(新導(dǎo)則版)
- MOOC 企業(yè)內(nèi)部控制-山西省財(cái)政稅務(wù)??茖W(xué)校 中國(guó)大學(xué)慕課答案
- 質(zhì)量管理體系知識(shí)培訓(xùn)課件
- (正式版)HGT 4339-2024 機(jī)械設(shè)備用涂料
- 人機(jī)交互技術(shù)智慧樹知到期末考試答案2024年
- 2024年醫(yī)療器械銷售總結(jié)
- 基于物聯(lián)網(wǎng)的支護(hù)機(jī)械遠(yuǎn)程監(jiān)控系統(tǒng)
- GB/T 144-2024原木檢驗(yàn)
評(píng)論
0/150
提交評(píng)論