s3c2440
對外引出了
27根位址線
addr0~addr26
,它最多能夠定址
128mb
,而s3c2440
的定址空間可以達到
1gb,這是由於
s3c2440
將1gb
的位址空間分成了8個
banks
(bank0~bank7
),其中每乙個
bank
對應一根片選訊號線
ngcs0~ngcs7
,當訪問
bankx
的時候,
ngcsx
管腳電平拉低,用來選中外接裝置,
s3c2440通過8
根選訊號線和
27根位址線,就可以訪問
1gb。如下圖所示:
如上圖所示,左側圖對應不使用
nandflash
啟動時,儲存器
bank
分布圖,通常在這種啟動方式裡選擇
norflash
啟動,將
norflash
焊接在bank0
,系統上電後,
cpu從
bank0
的開始位址
0x00000000
開始取指執行。
上圖右側是選擇從
nandflash
引導啟動
,系統上電後,
cpu會自動將
nandflash
裡前4k
的資料複製到
s3c2440
內部乙個
4k大小
sram
型別儲存器裡(叫做
steppingstone
),然後從
steppingstone
取指啟動。
其中bank0~bank5
可以焊接
rom或
sram
型別儲存器,
bank6~bank7
可以焊接
rom,
sram
,sdram
型別儲存器,也就是說,
s3c2440
的sdram
記憶體應該焊接在
bank6~bank7
上,最大支援記憶體
256m
,bank0~bank5
通常焊接一些用於引導系統啟動小容量
rom,具體焊接什麼樣儲存器,多大容量,根據每個開發板生產商不同而不同,比如
mini2440
開發板將2m的
norflash
焊接在了
bank0
上,用於存放系統引導程式
bootloader
,將兩片
32m,
16bit
位寬sdram
記憶體焊接在
bank6
和bank7
上,併聯形成
64m,
32位記憶體。
由於s3c2440是32
位晶元,理論上講可以達到
4gb的定址範圍,除去上述8個
bank
用於連線外部裝置,還有一部分的位址空間是用於裝置特殊功能暫存器,其餘位址沒有被使用。
s3c2440儲存控制
nandflash和norflash都是flash的一種,都是散存,都是磁碟儲存介子,但是nandflash一般比較大,而norflash都比較小,並且norflash比較貴,並且norflash寫的速度比較慢,但讀的速度比較快 而nandflash讀的速度比較慢,寫的速度比較快。nor flash...
S3C2440 儲存管理器
假如要從網絡卡或者sdram等裝置讀取資料 位址為0x30000000 可以如下 mov r1,0x30000000 ldr r0,r1 也就是讀取4byte資料cpu不需要關心外設是什麼,硬體相關所有工作由儲存管理器完成 1.片選訊號 2.bank選擇 3.列位址 4.行位址 等等位址線 資料線 ...
S3C2440儲存器SDRAM控制筆記
最近一年多的時間一直在從事任意輪系機械人運動控制及慣性導航的研究實踐,買的開發板閒置了一年多了,決定繼續 延續一年多前的學習,繼續做筆記。cpu發出ngcs6訊號,選中bank7,對應開發板nscs引腳,引腳標號19 sdram晶元行位址使用13根位址線,列位址復用行位址9根位址線,同時還有兩根位址...