ARM與8、16、32位寬存儲器的地址線連接若干問題
FLASH一般是8位或16位,當(dāng)它接到32位的ARM上時,地址位就會錯位。對于16位FLASH,F(xiàn)LASH的A0要接ARM的A1。對于8位FLASH,F(xiàn)LASH的A0要接ARM的A0。ARM的A0對應(yīng)8位,ARM的A1對應(yīng)16位,ARM的A2對應(yīng)32位,如果FLASH是32位,那么FLASH的A0接ARM的A2
本文引用地址:http://m.butianyuan.cn/article/201611/316826.htm32位的FLASH,F(xiàn)LASH的A0要接ARM的A2,因為32位寬數(shù)據(jù)線表示最小的讀寫單位為4個字節(jié),每次要跳4個字節(jié)的話,那么就是從A2開始才變化,A1 A0不變化
16位的FLASH,F(xiàn)LASH的A0要接ARM的A1,因為16位數(shù)據(jù)線寬表示最小讀寫單位為2個字節(jié),每次要跳2個字節(jié)的話,那么就是從A1開始才變化,A0不變化
8位的FLASH,F(xiàn)LASH的A0要接ARM的A0,因為8位數(shù)據(jù)線寬表示最小的數(shù)據(jù)讀寫單位為1個字節(jié),每次要跳1個字節(jié)的話,那么就是從A0開始才變化。
LPC2200,S3C2410A,S3C2440等都是上述這樣的,當(dāng)然也有不同的。IMX27和BF537這兩款CPU都是不管存儲器是多少位的的,都是直接A0-B0,沒有任何考慮錯位的情況,是因為他們的存儲控制器已經(jīng)內(nèi)部作了處理了,三星的如S3C2443S3C2450S3C6410等后續(xù)的也都是這樣子了。
評論