初學arm嵌入式,如何理解讀取NANDFlash的過程

時間 2022-04-16 18:25:09

1樓:糊塗伊人笑

nand flash是通過 ale/cle (高電平有效)來區分資料線上的資料時命令(cle有效),位址(ale有效)還是資料(cle/ale都無效)。

那麼這裡既然是寫命令 那麼就一定是 cle有效(高電平) ale無效(低電平)。

同樣命令既然是寫給nand flash的那麼 肯定有乙個寫週期。我們需要注意的是,寫是在上公升沿有效還是下降沿有效。

1 這裡是命令鎖存是時序,那麼我們要注意的其實就只有 cle 為高電平期間這段時序。(寫命令啊,cle有效時(高電平)指示現在的資料其實命令)ale此時一定為低電平我們可以不關心他

2 所以,cle為 低電平的時期,其他大部分引腳上都是 灰色的陰影,這代表我們不需要關心這段時期這些引腳的電平

3 那麼 這個資料是什麼時候被nand flash讀取到的呢, 注意到 nwe訊號 在上公升沿有乙個貫穿所有其他引腳時序的豎線(這好像是叫生命線?我也不清楚)

2樓:小明

你的理解是什麼意思,是每個命令代表什麼。nandflash 讀取要通過連續的向給定位址寫入給定數來完成,你可以理解成這些不同的組合代表不同的指令即可,也有可能這樣做是跟其時序有關。

3樓:

和nor flash不一樣,nand flash的命令,定址和資料都是復用在8條io pin上的

寫乙個位址要經過多個cycle才能完成,雖然是同樣的pin但是不同的訪問時間,可以讓控制器把訪問分開,拿你上面的**來說,寫乙個位址是4個cycle,nand flash編址比較複雜,建議你找乙個具體的晶元手冊來看

nfaddr = addr & 0xff; // 分次傳送位址

nfaddr = ( addr >> 9 ) & 0xff;

nfaddr = ( addr >> 17) & 0xff;

nfaddr = ( addr >> 25 ) & 0x1;

nand flash提供乙個ready輸出,當該pin輸出特定電平時,標明操作完成

while ( ! ( nfstat & 1 ) ); //等待不忙

讀資料也是類似的原理,乙個cycle讀若干個bit

在嵌入式中(arm9+linux),如何子應用程式中對nandflash進行讀寫操作,大致說下流程,感謝啦

4樓:

通過flash驅動提供介面進行讀寫,而且flash的讀寫不是你想的可以按位元組來讀,而是按flash的pagesize大小來的,而且擦除只能按block擦除

一般通用的可以使用mtdutils這個軟體包交叉編譯,它有提供nanddump nandtest nandwrite等命令

從flash讀取到記憶體的數值是沒有格式的,只能按照起始位址和長度讀取二進位制,你需要對這段記憶體值進行強制格式轉換,然後就可以列印出你需要的值了

新手學習arm,對片內ram、sdram、nor flash和nand flash啟動這幾個概念不理解,還有uboot不懂,求大蝦指點

5樓:匿名使用者

片內ram,速度最快,cpu訪問匯流排速度最快,靜態儲存器,總而言之就是快!但造價高而且是易失的(斷電不儲存資料),用於cpu資料指令暫存,位置在核心

sdram,屬於動態ram,位置在核心之外,甚至片外. 速度比靜態ram慢,也是易失的,用於系統計算資料/指令儲存

nand flahs nor flash等屬於flash, 斷電可儲存資料,用於儲存程式**和常量資料.兩者的區別是: nor是晶元內執行應用程式可以直接在flash內執行,傳輸效率很高,但是寫入和擦除速度慢。

nand儲存密度高,並且寫入和擦除的速度也很快但flash的管理和需要特殊的系統介面。

uboot是bootloader的一種.

引導程式是系統上電後一些初始化指令程式,主要是為系統執行做好準備,而沒有什麼使用者功能(如串列埠讀寫**), uboot就增加了一些使用者功能和介面

6樓:匿名使用者

片內的ram用來儲存啟動**,在2440初始化sdram之前,**就在片內ram中執行。片內ram裝載的是norflash中的內容,即u-boot。

uboot放在norflash裡,nandflash就存放的作業系統。所以norflash相當於電腦的bios,nanflash才是硬碟。sdram就是記憶體了

uboot是一級啟動**,即bootloader,用來載入作業系統(nandflash)到sdram並且執行,當然uboot還能格式化nandflash和安裝新系統的功能。

arm linux下nand flash讀寫應用程式怎麼寫?

7樓:御濮存

回覆 謝謝! 請問直接讀寫nandflash的應用程式怎麼寫?網上這方面資料太少了,很難找。 檢視原帖》

micro2440 nandflash怎麼讀寫檔案

8樓:休閒居大偉

開發板所帶的光碟上有android,可以直接執行,不需要另寫驅動。當然如果需要二次開發有可能要另寫

嵌入式應該學習什麼如何學習,學習嵌入式開發要學習哪些知識?

加青菇涼 一 學習嵌入式,你可以做什麼?學習嵌入式必須勤學苦練。華清遠見老師講一講具體怎麼來學習嵌入式。學習嵌入式你可以做 手機 pda mp4 遙控玩具 psp 相機 家電控制 洗衣機 電飯煲等 汽車導航儀,只要跟電子控制相關的,二 如何學習?計算機這行都是偏向於實踐的課程,所以要注重動手能力。1...

嵌入式難學嗎,嵌入式軟體開發就業前景如何,學習的難度又有多大?

樓主,學習是自己的事情,學的成果如何那都要看自己的努力了。嵌入式自學起來確實有一些困難,需要一定的c基礎,還是參加培訓吧。推薦華清星創客學院的教程,每個知識點都有對應的案例,理解起來很容易,零基礎入門的量身教程。技術問答讓你的每天的問題可以得到及時的解答,不留尾巴。課程內容乾貨多,廢話少,互動式讓枯...

什麼是嵌入式系統 什麼是ARM 我要的是處理機

什麼是arm?什麼是嵌入式?arm是advance risc machines的縮寫,而risc reduced instrument set computer 計算機精簡的指令集合。嵌入式系統一般指非 pc 系統,有計算機功能但又不稱之為計算機的裝置或器材。它是以應用為中心,軟硬體可裁減的,適應應...