nand flash 的初始化和復位操作

2021-07-16 05:56:03 字數 1399 閱讀 1701

1、nand flash的初始化操作

(1.1)nand flash的初始化操作流程

(1.1.1)設初始化 置管腳

(1.1.2)初始化nfconf暫存器

(1.1.3)初始化nfcont暫存器

(1.2)初始化nfconf暫存器分析

(1.2.1)在2440手冊中,分析nand flash 控制器的命令/位址時序圖,裡面只涉及三個引數tacls,twrph0,twrph1

/* hclk=100mhz,也就是10ns

* tacls:  發出cle/ale之後多長時間才發出nwe訊號, 從nand手冊可知cle/ale與nwe可以同時發出,所以tacls=0

* twrph0: nwe的脈衝寬度, hclk x ( twrph0 + 1 ), 從nand手冊可知它要》=12ns, 所以twrph0>=1

* twrph1: nwe變為高電平後多長時間cle/ale才能變為低電平, 從nand手冊可知它要》=5ns, 所以twrph1>=0*/

(1.2.2)nand flash 手冊相應類似的時序圖如下

tacls,twrph0,twrph1對應的是tcls-twp,twp,tclh.這裡tcls和twp的最小值都為12ns(3.3v下),twp大於等於12ns,tclh大於5ns

(1.2.3)引數對應的取值的**

(1.3)初始化函式

/* 初始化nand flash */

void nand_init(void)

2、nand flash 的復位操作

(2.1)nand flash的時序圖

其中trst在nand flash手冊的定義為在復位命令ffh被寫入nand flash 的命令暫存器後狀態引腳rnb變為高電平的時間(也就是nand flash狀態變為空閒的時間)

(2.2)歸納步驟如下

選中nand flash晶元

發出ffh命令

等待nand flash變為空閒狀態

取消片選

(2.3)函式編寫

void s3c2440_nand_reset(void)

直接初始化和複製初始化

關於這個問題,國內外都有許多爭論,但我至今未找到滿意的答案,至於為為什麼,這就是今天要說明的。可能大家都有看過c primer,我看的是第四版,中文版,英文水平不怎麼樣。其中第13章,描述說,複製建構函式可用於 1.根據另乙個同型別的物件顯式或隱式初始化乙個物件 2.複製乙個物件,將它作為引數傳遞給...

靜態初始化和例項初始化

父類單獨的效果 當父類單獨執行時,靜態初始化塊優先執行,然後是例項初始化塊,最後才是構造器 子類單獨效果 首先執行父類的靜態初始化塊和子類的初始化塊 優先執行靜態 然後執行父類的例項初始化塊和構造器,最後執行子類的例項初始化塊和構造器 父類子類效果1 父在前子在後 先將父類的物件例項出來後,進行子類...

直接初始化和拷貝初始化

定義 示例 string dots 10,直接初始化 string s dots 直接初始化 string s2 dots 拷貝初始化 string null book 9 999 99999 9 拷貝初始化 string nines string 100,9 拷貝初始化注 直接初始化實際上是要求編...