STM32使用FSMC控制NANDflash例程概要_第1頁
STM32使用FSMC控制NANDflash例程概要_第2頁
STM32使用FSMC控制NANDflash例程概要_第3頁
STM32使用FSMC控制NANDflash例程概要_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

STM32使用FSMC控制NANDflash例程大綱STM32使用FSMC控制NANDflash例程大綱STM32使用FSMC控制NANDflash例程大綱EvaluationOnly.CreatedwithAspose.PDF.Copyright2002-2020AsposePtyLtd.本文原創(chuàng)于觀海聽濤原作者版權(quán)所有,轉(zhuǎn)載請注明出處。近幾天開發(fā)項(xiàng)目需要用到STM32驅(qū)動(dòng)NANDFLASH,但由于開發(fā)板例程以及固件庫是用于小頁我要用到的FLASH為1Gbit的大頁(2K,多走了兩天彎路。以下筆錄將說明如何將默認(rèn)固件庫更正為大頁模式以驅(qū)動(dòng)大容量NAND,并作驅(qū)動(dòng)。本文硬件:控制器:STM32F103ZET6,儲(chǔ)藏器:HY27UF081G2A第一說一下NOR與NAND儲(chǔ)藏器的差異,此類差異網(wǎng)上有很多,在此僅大體說明:1、Nor讀取速度比NAND稍快2、Nand寫入速度比Nor快很多3、NAND擦除速度(4ms遠(yuǎn)快于Nor(5s4、Nor帶有SRAM接口,有足夠的地址引腳來尋址能夠很輕松的掛接到CPU地址和數(shù)據(jù)總線上對CPU要求低5、NAND用八個(gè)(或十六個(gè)引腳串行讀取數(shù)據(jù),數(shù)據(jù)總線地址總線復(fù)用,平時(shí)需要CPU支持驅(qū)動(dòng)且較為復(fù)雜6、Nor主要據(jù)有1-16M容量市場,并且能夠片內(nèi)執(zhí)行適合代碼儲(chǔ)藏7、NAND據(jù)有8-128M及以上市場,平時(shí)用來作數(shù)據(jù)儲(chǔ)藏8、NAND低價(jià)一些9、NAND壽命比Nor長10、NAND會(huì)產(chǎn)生壞塊,需要做壞塊辦理和ECC更詳細(xì)差異請連續(xù)百度以上內(nèi)容部分摘自神舟三號(hào)開發(fā)板手冊EvaluationOnly.CreatedwithAspose.PDF.Copyright2002-2020AsposePtyLtd.下面是NAND的儲(chǔ)藏結(jié)構(gòu):由此圖可看出NAND儲(chǔ)藏結(jié)構(gòu)為立體式正如硬盤的盤片被分為磁道每個(gè)磁道又分為若干扇區(qū),一塊nandflash也分為若干block,每個(gè)block分為如干page。一般而言,block、之間的關(guān)系隨著芯片的不同樣而不同樣。需要注意的是對于flash的讀寫都是以一個(gè)開始的,但是在讀寫從前必定進(jìn)行flash的擦寫,而擦寫則是以一個(gè)block為單位的。我們此次使用的HY27UF081G2A其PDF介紹:MemoryCellArray=(2K+64Bytesx64Pagesx1,024Blocks因此可知該NAND每頁2K,共64頁,1024塊。其中:每頁中的2K為主容量DataField,64bit為額外容量SpareField。SpareField用于存貯檢驗(yàn)碼和其他信息用的其實(shí)不能夠存放實(shí)質(zhì)的數(shù)據(jù)。由此可算出系統(tǒng)總?cè)萘繛?K*64*1024=134217728個(gè)即1Gbit。NAND閃存顆粒硬件接口:由此圖可見此顆粒為八位總線,地址數(shù)據(jù)復(fù)用芯片為SOP48封裝。軟件驅(qū)動(dòng):(此部分寫的是偽碼,僅用于講解含義,可用代碼拜會(huì)附件主程序:#defineBUFFER_SIZE0x2000//此部分定義緩沖區(qū)大小,即一次寫入的數(shù)據(jù)#defineNAND_HY_MakerID0xAD//NAND廠商號(hào)#defineNAND_HY_DeviceID0xF1//NAND器件號(hào)/*配置與SRAM連接的FSMCBANK2NAND*/EvaluationOnly.CreatedwithAspose.PDF.Copyright2002-2020AsposePtyLtd.NAND_Init(;/*讀取NandFlashID并打印*/NAND_ReadID(&NAND_ID;復(fù)制代碼Tips:NAND器件的ID包含四部分:1stManufacturerCode2ndDeviceIdentifier3rdInternalchipnumber,cellType,NumberofSimultaneouslyProgrammedpages.4thPagesize,sparesize,Blocksize,Organization==NAND_HY_MakerID&&==NAND_HY_DeviceID//判斷器件吻合{/*設(shè)置NANDFLASH的寫地址*/=0x00;=0x00;=0x05;/*擦除待寫入數(shù)據(jù)的塊*/status=NAND_EraseBlock(WriteReadAddr;//寫入前必定擦出EvaluationOnly.CreatedwithAspose.PDF.Copyright2002-2020AsposePtyLtd./*將寫NandFlash的數(shù)據(jù)BUFFER填充為從0x25開始的連續(xù)遞加的一串?dāng)?shù)據(jù)*/Fill_Buffer(TxBuffer,BUFFER_SIZE,0x25;//填充數(shù)據(jù)以測試/*將數(shù)據(jù)寫入到NandFlash中。WriteReadAddr:讀寫的初步地址*/status=NAND_WriteSmallPage(TxBuffer,WriteReadAddr,PageNumber;//主要寫入函數(shù)此部分默認(rèn)為小頁需要更正/*從NandFlash中讀回剛寫入的數(shù)據(jù)。讀寫的初步地址*/status=NAND_ReadSmallPage(RxBuffer,WriteReadAddr,PageNumber;/取主要函數(shù)也需要更正/*

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論