新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > ARM與8、16、32位寬存儲(chǔ)器的地址線(xiàn)連接若干問(wèn)題

ARM與8、16、32位寬存儲(chǔ)器的地址線(xiàn)連接若干問(wèn)題

作者: 時(shí)間:2016-11-11 來(lái)源:網(wǎng)絡(luò) 收藏
ARM是32位,地址空間是2的32次冪,4G地址空間。所有的外設(shè)(FLASH,RAM,SD卡等等)都映射到這4G的空間上。比如大部分ARM7都把RAM映射到0x40000000,所以對(duì)RAM的操作就在0X40000000開(kāi)始的地址上。FLASH從0X0開(kāi)始。使用FLASH還要考慮地址重映射,就是選擇片內(nèi)FLASH或片外FLASH。

FLASH一般是8位或16位,當(dāng)它接到32位的ARM上時(shí),地址位就會(huì)錯(cuò)位。對(duì)于16位FLASH,F(xiàn)LASH的A0要接ARM的A1。對(duì)于8位FLASH,F(xiàn)LASH的A0要接ARM的A0。ARM的A0對(duì)應(yīng)8位,ARM的A1對(duì)應(yīng)16位,ARM的A2對(duì)應(yīng)32位,如果FLASH是32位,那么FLASH的A0接ARM的A2

本文引用地址:http://2s4d.com/article/201611/316826.htm

32位的FLASH,F(xiàn)LASH的A0要接ARM的A2,因?yàn)?2位寬數(shù)據(jù)線(xiàn)表示最小的讀寫(xiě)單位為4個(gè)字節(jié),每次要跳4個(gè)字節(jié)的話(huà),那么就是從A2開(kāi)始才變化,A1 A0不變化

16位的FLASH,F(xiàn)LASH的A0要接ARM的A1,因?yàn)?6位數(shù)據(jù)線(xiàn)寬表示最小讀寫(xiě)單位為2個(gè)字節(jié),每次要跳2個(gè)字節(jié)的話(huà),那么就是從A1開(kāi)始才變化,A0不變化

8位的FLASH,F(xiàn)LASH的A0要接ARM的A0,因?yàn)?位數(shù)據(jù)線(xiàn)寬表示最小的數(shù)據(jù)讀寫(xiě)單位為1個(gè)字節(jié),每次要跳1個(gè)字節(jié)的話(huà),那么就是從A0開(kāi)始才變化。


LPC2200,S3C2410A,S3C2440等都是上述這樣的,當(dāng)然也有不同的。IMX27和BF537這兩款CPU都是不管存儲(chǔ)器是多少位的的,都是直接A0-B0,沒(méi)有任何考慮錯(cuò)位的情況,是因?yàn)樗麄兊拇鎯?chǔ)控制器已經(jīng)內(nèi)部作了處理了,三星的如S3C2443S3C2450S3C6410等后續(xù)的也都是這樣子了。



評(píng)論


技術(shù)專(zhuān)區(qū)

關(guān)閉