久久ER99热精品一区二区-久久精品99国产精品日本-久久精品免费一区二区三区-久久综合九色综合欧美狠狠

新聞中心

EEPW首頁 > 嵌入式系統 > 設計應用 > S3C2440存儲控制器、SDRAM原理、內存初始化

S3C2440存儲控制器、SDRAM原理、內存初始化

作者: 時間:2016-11-11 來源:網絡 收藏
NandFlash和NorFlash都是Flash的一種,都是散存,都是磁盤存儲介子,但是NandFlash一般比較大,而NorFlash都比較小,并且NorFlash比較貴,并且NorFlash寫的速度比較慢,但讀的速度比較快,而NandFlash讀的速度比較慢,寫的速度比較快。

NOR Flash是總線型設備,可在芯片內執行(XIP,eXecute In Place),應用程序可以直接在FIash閃存內運行,不必再把代碼讀到系統RAM中;而NAND Flash則需I/O接口,因此使用時需要寫入驅動程序

本文引用地址:http://cqxgywz.com/article/201611/316881.htm

  

 SDRAM:Synchronous Dynamic Random Access Memory,同步動態隨機存儲器,同步是指Memory工作需要同步時鐘,內部的命令的發送與數據的傳輸都以它為基準;動態是指存儲陣列需要不斷的刷新來保證數據不丟失;隨機是指數據不是線性依次存儲,而是自由指定地址進行數據讀寫。

1.S3C2440存儲控制器特性

(1)S3C2440A的存儲器管理器提供訪問外部存儲器的所有控制信號

27位地址信號、32位數據信號、8個片選信號、以及讀/寫控制信號等

(2)總共有8個存儲器bank(bank0—bank7)

(3)bank0---bank5為固定128MB

bank6和bank7的容量可編程改變,可以是2、4、8、16、32、64、128MB

最大共1GB

(4) bank0可以作為引導ROM。其數據線寬只能是16位和32位,其它存儲器的數據線寬可以是8位、16位和32位

(5) 7個固定存儲器bank(bank0-bank6)起始地址。bank7的開始地址與bank6的結束地址相連接,但是二者的容量必須相等

(6)所有存儲器bank的訪問周期都是可編程的

(7)支持SDRAM的自刷新和掉電模式

(8)支持大小端(軟件選擇)

注:8個128M的bank,一共只有1G(地址空間),剩余3G,有一部分是寄存器的地址,還有一部分沒有被使用,系統上電后從bank0執行bootloader程序。

S3C2440的8個bank在系統上電后必須進行相應的初始化(n多寄存器的配置,S3c2440片內有NandFlash,SDRAM,NorFlash等配置寄存器),2440不然就不能工作。

S3C2440的每個bank都可以用來總線型設備,這些設備共用系統的總線。這些設備的片選端,都應該接到相應bank的片選信號上,因此所有總線型設備的地址線也是共用的。比如bank0接的就是norflash(bank0可以作為引導ROM), Bank6接SDRAM。NandFlash不是總線型設備,所以NandFlash沒有接在bank上,而是單獨和S3C2440連接。系統如果從NandFlash啟動的話,NandFlash里面必須燒有bootloader程序,NorFlash同理。

2.SDRAM原理分析:

型號:K4S561632(兩片共64M)

大小:4M*16bit*4banks*2= 512 bit = 64M字節

數據寬度:32 bit

連接在BANK6上,片選信號nGCS6

地址范圍:0x3000_0000—0x33FF_FFFF

SDRAM存儲原理:

SDRAM的內部是一個存儲陣列,陣列中的每個單元格就是一個存儲單元。

有四個邏輯BANK(L-BANK)

由BA1、BA0選擇

行地址數:13

列地址數:9

SDRAM儲存區域分配:

0x3000_0000~0x3100_0000(程序代碼區、文字常量區)

0x33ff_0000~0x33ff_4800(堆區)

0x33ff_4800~0x33ff_8000(棧區)

0x33ff_ff00~0x3400_000(偏移中斷向量表)

3.內存初始化

內存是嵌入式系統中非常重要的一部分,在系統啟動前,必須配置內存讓其工作。

NOR FLASH

NOR FLASH (EN29LV160AB):

大小:2M

數據寬度:16bit

連接在BANK0上,片選信號nGCS0

地址范圍:0x0000_0000---0x0020_0000

特點:

線性尋址

可直接按地址進行讀寫操作

寫操作之前需進行擦除操作

寫入、擦除速度較慢,讀取速度較快,單位密度低、成本較高

NAND FLASH

大小:256M* 8Bit

數據寬度:8位

地址范圍:有專門的時序控制總線,不占用系統總線資源

特點:

非線性尋址

讀操作,一次必須讀一個扇區(512字節)

寫操作,可按指定地址直接寫入

寫之前必須進行擦除操作

單位密度高、成本低、擦除速度快

壞塊:

NAND器件中的壞塊是隨機分布的,在初始化時,需要對介質進行初始化掃描以發現壞塊,并將壞塊標記為不可用

位交換:

NAND Flash中發生的次數要比NOR Flash多,建議使用NAND閃存時,同時使用EDC/ECC算法

使用方法:

NOR Flash是可在芯片內執行(XIP,eXecute In Place),應用程序可以直接在FIash閃存內運行,不必再把代碼讀到系統RAM中;而NAND Flash則需I/O接口,因此使用時需要寫入驅動程序

啟動方式:

NandFlash沒有接在bank0上,而程序必須從0地址開始執行,即bank0開始。2440內部有一個叫做“起步石(Steppingstone)”的SRAM緩沖器。

系統啟動時Nand flash存儲器的前面4K字節被自動拷貝到Steppingstone中。

Steppingstone被映射到nGCS0對應的BANK0存儲空間。

CPU在Steppingstone的4-KB內部緩沖器中開始執行引導代碼。

引導代碼執行完畢后,自動跳轉到SDRAM執行。



評論


技術專區

關閉