嵌入式linux學習筆記--20200224--JZ2440V3-S3C2440的Nor Flash啓動流程分析以及參數修改測試

NOR Flash 是一種常見的存儲設備。它可以向內存一樣的讀,但是不可以像內存一樣寫。 因爲它的這一特性很多的嵌入式linux 設備都會有一塊NOR flash 作爲啓動的芯片。在系統一上電之後就可以直接開始運行程序,執行初始化操作。但是由於價格的原因,NOR flash 一般都不會很大大多都是用作啓動的芯片的(我覺得用來放boot loader 也是非常棒的  用來實現ISP 會簡單很多)

我們先來分析開發板的主控芯片 S3C2440 ,很老很老的一款芯片了,也就比我小几歲。

這是S3C2440 不同的啓動模式對應的內存圖。  主要是兩大類,一類是 NAND啓動,一類是非NAND。

當進行nand啓動的時候  CPU 會自動雲心內部的程序把 NANDFlash 上面的前 4K的數據拷貝到片內僅有的 4K內存上

這時候這一段內存對應的地址就是0~ 4095 (程序上電是從 0地址開始運行的 )

當啓動模式是非 NAND 啓動的時候(NOR啓動) 程序是直接從0地址開始運行的  片內的4K ram 的地址變成 0x4000 0000以及之後的4K 空間

接下來我們分析一下時序部分

根據時序圖  我們可以知道

讀取的 時序的邏輯是 先發送地址線(A24:A0)  然後發送指定的片選線 nGCSx 和nOE(輸出使能)

 

 

這是 JZ2440 開發板的 NOR flash 芯片我的 讀取時序

NOR flash 的 AC特性表  

這裏最大70ns  就可以讀取到數據 這是一個極限值 ,在芯片接收到地址之後的70ns  之後肯定有數據

OE 之後  30ns 數據就是有效的

Toh  數據保持時間是0

Tdf 數據輸出浮動(這段時間內數據不穩定  不能去操作其他的)

爲了簡化操作  讓  CE OE ADDR 信號同時發出 都大於70ns  就可以滿足這款芯片的需要

在 前面的時序圖中我們知道 S3C2440側的 時間 是以時鐘週期爲單位的,  這裏我們的HCLK  設置成100MHz  所以也就是 說我們需要讓 Tacc 大於等於 7個時鐘週期

反應到寄存器的取值上面就是  BANKCON0 的 [10:8] 要大於5

NOR  flash 的參數很少需要設置的。作爲入門總線接口芯片的 第一個是非常合適的。

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章