s3c2440記憶體控制器與SDRAM基本測試

2022-05-14 12:19:34 字數 912 閱讀 4024

前面我們實驗的led和串列埠程式,是cpu傳送位址給特定的暫存器,在暫存器中寫相應的位,達到控制要求。

第一類是gpio閘電路如led,第二類是協議類如串列埠,這些都不是cpu直接給位址資訊,而是通過暫存器來控制的。

第三類是記憶體介面,cpu發出的位址可以直接傳遞給這種裝置如nor flash,sdram,網絡卡。注意nand flash不屬於這種型別。

關於sdram,可以參考這篇文章,這對於了解sdram很重要,非常有必要閱讀一波。

《高手高階,終極記憶體技術指南(完整/高階版)》

這篇文章能夠讓你了解sdram這個記憶體介質。

然後,檢視2440的晶元資料:

2440已經有針對sdram的控制器,2440可以直接通過位址線和sdram通訊。

關於暫存器方面的東西就不再貼出來了。需要注意的是,操作sdram還是比較繁瑣的,時序要求需要根據2440手冊和所對應的sdram晶元手冊進行配置。

現在,我們開始編寫程式。

void sdram_init(void

)int sdram_test(void

)

上面是sdram的初始化和測試,直接通過位址訪問sdram,我們對sdram進行寫入,並且再讀出來,看看是否相等。這樣可以測試是否成功配置sdram。

#include "

s3c2440_soc.h

"#include

"init.h

"int main(void

)

如果測試通過,返回0,led被點亮,遮蔽掉sdram初始化之後,led不會再閃爍。

需要注意的是,如同sdram 這樣的記憶體,訪問位址時加上volatile能夠讓你少點煩惱。。。

s3c2440記憶體控制器(不含SDRAM )

s3c2440資料手冊的第五章是關於記憶體控制器的,這篇文章就是關於它的理解和備忘 暫不涉及sdram的程式設計 記憶體類晶元常見的基本就那麼幾大類。使用很頻繁的,後面可能專門對它們做乙個總結。從2440的手冊figure 5 4到5 9總結 對於rom,沒有ub lb引腳,所以接多片做資料位拓展時...

s3c2440之記憶體控制器與SDRAM學習筆記

這節就記錄一下我在學習記憶體sdram時候感覺需要理解的一些重點。1 不同位寬裝置的連線 上圖連線方式是不同位寬裝置與cpu的連線示意圖,例如,cpu發出尋找第3位元組的位址.0011,8位rom接收到的是.0011 從內部結構可以看出是第4個位元組 16位rom接收到的是.0001 從內部結構可以...

S3C2440的SPI控制器

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!s3c2440包含有兩個序列外圍裝置介面 spi口 每個spi口都有兩個分別用於傳送和接收的8位移位暫存器,在一次spi通訊當中資料被同步傳送 序列移出 和接收 序列移入 8位序列資料的速率由相關的控制暫存器的內容決定。如果只想傳送,接收到的是一些...