新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > S3C2440存儲控制器、SDRAM原理、內(nèi)存初始化

        S3C2440存儲控制器、SDRAM原理、內(nèi)存初始化

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

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

        本文引用地址:http://www.104case.com/article/201611/316881.htm

          

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

        1.S3C2440存儲控制器特性

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

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

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

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

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

        最大共1GB

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

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

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

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

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

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

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

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

        2.SDRAM原理分析:

        型號:K4S561632(兩片共64M)

        大?。?M*16bit*4banks*2= 512 bit = 64M字節(jié)

        數(shù)據(jù)寬度:32 bit

        連接在BANK6上,片選信號nGCS6

        地址范圍:0x3000_0000—0x33FF_FFFF

        SDRAM存儲原理:

        SDRAM的內(nèi)部是一個存儲陣列,陣列中的每個單元格就是一個存儲單元。

        有四個邏輯BANK(L-BANK)

        由BA1、BA0選擇

        行地址數(shù):13

        列地址數(shù):9

        SDRAM儲存區(qū)域分配:

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

        0x33ff_0000~0x33ff_4800(堆區(qū))

        0x33ff_4800~0x33ff_8000(棧區(qū))

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

        3.內(nèi)存初始化

        內(nèi)存是嵌入式系統(tǒng)中非常重要的一部分,在系統(tǒng)啟動前,必須配置內(nèi)存讓其工作。

        NOR FLASH

        NOR FLASH (EN29LV160AB):

        大?。?M

        數(shù)據(jù)寬度:16bit

        連接在BANK0上,片選信號nGCS0

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

        特點:

        線性尋址

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

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

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

        NAND FLASH

        大?。?56M* 8Bit

        數(shù)據(jù)寬度:8位

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

        特點:

        非線性尋址

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

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

        寫之前必須進行擦除操作

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

        壞塊:

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

        位交換:

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

        使用方法:

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

        啟動方式:

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

        系統(tǒng)啟動時Nand flash存儲器的前面4K字節(jié)被自動拷貝到Steppingstone中。

        Steppingstone被映射到nGCS0對應(yīng)的BANK0存儲空間。

        CPU在Steppingstone的4-KB內(nèi)部緩沖器中開始執(zhí)行引導(dǎo)代碼。

        引導(dǎo)代碼執(zhí)行完畢后,自動跳轉(zhuǎn)到SDRAM執(zhí)行。



        評論


        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 阿拉善右旗| 浠水县| 台北县| 叶城县| 新野县| 定襄县| 甘肃省| 余姚市| 平远县| 关岭| 镇宁| 习水县| 韩城市| 疏附县| 永胜县| 彭山县| 永新县| 金溪县| 磐安县| 安吉县| 磐石市| 集安市| 筠连县| 莱州市| 喀喇沁旗| 肃北| 新蔡县| 阿荣旗| 东方市| 曲沃县| 吉隆县| 锡林郭勒盟| 噶尔县| 弋阳县| 阜新| 仙游县| 灵山县| 合作市| 辽阳县| 鹤峰县| 东丽区|