日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) >

s3c2440的内存管理机制

發(fā)布時(shí)間:2023/12/10 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 s3c2440的内存管理机制 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.???? Nand FlashNor FlashSDRAM地址區(qū)別

Nand FlashROM,容量大,適用于數(shù)據(jù)存儲(chǔ),ARM不能從Nand中直接啟動(dòng),需要把程序從Nand的前4k空間中拷貝到SDRAM,然后再?gòu)?span face="Calibri">SDRAM中啟動(dòng)。

Nor FlashROM,容量小,適用于程序存儲(chǔ),ARM可以從Nor Flash中直接啟動(dòng)。

SDRAM RAM,容量大,操作系統(tǒng)等大型軟件都運(yùn)行在SDRAM中。

?

2.???? S3c2440尋址空間:

S3C244027地址線ADDR[26:0]8根片選信號(hào)ngcs0-ngcs7,對(duì)應(yīng)bank0-bank7當(dāng)訪問(wèn)bankx的地址空間,ngcsx引腳為低電平,選中外設(shè)。

2^27=2^7 * 2^10 * 2^10 = 128Mbyte

8*128Mbyte = 1Gbyte

所以S3C2440總的尋址空間是1Gbyte(也就是最高地址0x40000000

尋址空間如下圖:

?

3.???? SDRAM的尋址原理:

SDRAM內(nèi)部是一個(gè)存儲(chǔ)陣列。可以把它想象成一個(gè)表格。和表格的檢索原理一樣,先指定行,再指定列,就可以準(zhǔn)確找到所需要的存儲(chǔ)單元。這個(gè)表格稱(chēng)為邏輯BANK。目前的SDRAM基本都是4個(gè)BANK。尋址的流程就是先指定BANK地址,再指定行地址,最后指定列地址。這就是SDRAM的尋址原理。

4.???? 內(nèi)存片(HY57V561620F)的連接方式:

HY57V561620F的容量是16M尋址*16位寬=256Mbit

TQ2440中使用了兩片內(nèi)存,總?cè)萘繛?span face="Calibri">2*32M=64Mbyte。

A0-A12是地址線:行地址、列地址復(fù)用,行地址使用A0-A1213條),列地址使用A0-A89條)。

BA0-BA1bank選擇引腳。(bank選擇與行地址(row address)同時(shí)下發(fā),在列地址下發(fā)時(shí),有其他用途)

?

這個(gè)SDRAM

13根行地址線?? RA0-RA12

9根列地址線??? CA0-CA8

2BANK選擇線 BA0-BA1

SDRAM的地址引腳是復(fù)用的,在讀寫(xiě)SDRAM存儲(chǔ)單元時(shí),操作過(guò)程是將讀寫(xiě)的地址分兩次輸入到芯片中,每一次都由同一組地址線輸入。兩次送到芯片上去的地址分別稱(chēng)為行地址和列地址。它們被鎖存到芯片內(nèi)部的行地址鎖存器和列地址鎖存器。/RAS是行地址鎖存信號(hào),該信號(hào)將行地址鎖存在芯片內(nèi)部的行地址鎖存器中;/CAS是列地址鎖存信號(hào),該信號(hào)將列地址鎖存在芯片內(nèi)部的列地址鎖存器中。

SDRAMA0接S3C2440的ADDR2,很多初學(xué)者都對(duì)這里又疑問(wèn)。A0為什么不接ADDR0?

要理解這種接法,首先要清楚在CPU的尋址空間中,字節(jié)(8位)是表示存儲(chǔ)容量的唯一單位。

2片HY57V561620F擴(kuò)展成32位SDRAM,可以認(rèn)為每個(gè)存儲(chǔ)單元是4個(gè)字節(jié)。因此當(dāng)它的地址線A1:A0=01時(shí),處理器上對(duì)應(yīng)的地址線應(yīng)為ADDR3:ADDR2=0132SDRAM4字節(jié)一個(gè)地址,對(duì)應(yīng)于CPU)(因?yàn)?/span>CPU的尋址空間是以Byte為單位的)。所以SDRAM的A0引腳接到了S3C2440的ADDR2地址線上。

(可以看成,ARM的尋址地址=CPU的地址*4,因?yàn)閷?duì)CPU來(lái)講相當(dāng)于沒(méi)讀一次都相隔4byte)。

?

同理,如果用1片HY57V561620F,數(shù)據(jù)線是16位,因?yàn)橐粋€(gè)存儲(chǔ)單元是2個(gè)字節(jié),這時(shí)SDRAM的A0要接到S3C2440的ADDR1上。

?也就是說(shuō)SDRAM的A0接S3C2440的哪一根地址線是根據(jù)整個(gè)SDRAM的數(shù)據(jù)位寬來(lái)決定的。

上面的接線圖上,BA0,BA1ADDR24,ADDR25,為什么用這兩根地址線呢?

BA0~BA1代表了SDRAM的最高地址位。因?yàn)镃PU的尋址空間是以字節(jié)(Byte)為單位的,本系統(tǒng)SDRAM容量為64MByte,那就需要A25~A0(64M=2^26)地址線來(lái)尋址,所以BA1~BA0地址線應(yīng)該接到2440的ADDR25~ADDR24引腳上。

13根行地址線+9根列地址線 = 22根。另外HY57V561620F一個(gè)存儲(chǔ)單元是2個(gè)字節(jié),相當(dāng)于有了23根地址線。BA0,BA1是最高地址位,所以應(yīng)該接在ADDR24,ADDR25上。

?

5.???? 啟動(dòng)過(guò)程中尋址方式

系統(tǒng)啟動(dòng)取決于S3c2440 CPUOM0OM1兩個(gè)引腳的取值:

因此在TQ2440中,直接將OM1接地(永遠(yuǎn)為0),OM0作為撥碼開(kāi)關(guān),來(lái)選擇是從nand啟動(dòng)(接地,0)還是從nor 32-bit啟動(dòng)(懸空,1)。

6.???? Nor Flash引腳圖(EN29LV160AB-70TCP

地址線A0-A19,共20條;

數(shù)據(jù)線D0-D15,共16條(D15為數(shù)據(jù)、地址復(fù)用);

當(dāng)47BYTE#配置為字節(jié)byte模式時(shí)(0)D15用于A-1地址線,所以尋址空間為20+1=21條,也就是2M byte

當(dāng)47BYTE#配置為雙字word模式時(shí)(1),D0-D15都用于數(shù)據(jù)線,尋址空間為20條,1M,數(shù)據(jù)線D0-D15有效,數(shù)據(jù)量為1M*2=2Mbyte(TQ2440采用此模式)

7.???? 重要信息地址

?

標(biāo)示

地址

含義

寄存器

寄存器范圍

0x48000000~0x5fffffff

?

?

S3C24X0_GPIO_BASE

0x56000000

Gpio各寄存器基地址

?

S3C2410_SDI_BASE

0x5A000000

SDI

?

S3C24X0_USB_DEVICE_BASE

0x52000140

用戶(hù)設(shè)備

?

S3C2410_NAND_BASE

0x4E000000

Nand

?

S3C24X0_LCD_BASE

0x4D000000

LCD

?

S3C24X0_INTERRUPT_BASE

0x4A000000

中斷

?

?

?

?

運(yùn)行數(shù)據(jù)

_bss_start

0x33db6990

?

?

_armboot_start

0x33d80000

?

?

CFG_ENV_SIZE

0x20000

?

?

FREE_RAM_SIZE

0x3d1df7c

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

?

宏觀內(nèi)存范圍

Nor Flash(nor 啟動(dòng)方式)

0x00000000~0x001fffff

Nor flash位于bank0

2Mbyte容量。

?

CPU內(nèi)部SRAMNand Flash啟動(dòng)方式)

0x00000000~

Nand flash啟動(dòng)時(shí)拷貝到SRAM中運(yùn)行

?

外部SDRAM

0x30000000~0x34000000

64Mbyte容量

?

Nand Flash

NULL

Nand Flash不直連總線,通過(guò)控制器訪問(wèn)。

?

?

內(nèi)存分配

SDRAM地址end

@0x34000000

Bss_start

此上,為bss數(shù)據(jù)區(qū)

Armboot_start

此上,為uboot映像,大概200k

CFG_MALLOC_LEN

256k

GLB_DATA_SIZE

128byte+4byte

IRQ_stack

4k

FIQ_stack

4k

用戶(hù)棧區(qū)

128k

空閑地址空間

大概61MbyteSDRAM內(nèi)存總共64M.

SDRAM地址start

@0x30000000

Nor /nand flash…..

?

?

?

?

8.???? 名詞解釋

?

?

?

nGCS0

芯片選擇(片選)寄存器

nGCS0-nGCS7

?

?

?

?

?

?

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的s3c2440的内存管理机制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。