新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > ARM與8、16、32位寬存儲器的地址線連接若干問題

        ARM與8、16、32位寬存儲器的地址線連接若干問題

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

        FLASH一般是8位或16位,當它接到32位的ARM上時,地址位就會錯位。對于16位FLASH,FLASH的A0要接ARM的A1。對于8位FLASH,FLASH的A0要接ARM的A0。ARM的A0對應8位,ARM的A1對應16位,ARM的A2對應32位,如果FLASH是32位,那么FLASH的A0接ARM的A2

        本文引用地址:http://www.104case.com/article/201611/316826.htm

        32位的FLASH,FLASH的A0要接ARM的A2,因為32位寬數據線表示最小的讀寫單位為4個字節,每次要跳4個字節的話,那么就是從A2開始才變化,A1 A0不變化

        16位的FLASH,FLASH的A0要接ARM的A1,因為16位數據線寬表示最小讀寫單位為2個字節,每次要跳2個字節的話,那么就是從A1開始才變化,A0不變化

        8位的FLASH,FLASH的A0要接ARM的A0,因為8位數據線寬表示最小的數據讀寫單位為1個字節,每次要跳1個字節的話,那么就是從A0開始才變化。


        LPC2200,S3C2410A,S3C2440等都是上述這樣的,當然也有不同的。IMX27和BF537這兩款CPU都是不管存儲器是多少位的的,都是直接A0-B0,沒有任何考慮錯位的情況,是因為他們的存儲控制器已經內部作了處理了,三星的如S3C2443S3C2450S3C6410等后續的也都是這樣子了。



        評論


        技術專區

        關閉
        主站蜘蛛池模板: 安丘市| 凤山市| 普兰店市| 汝阳县| 富源县| 阿拉善盟| 饶平县| 邓州市| 嘉鱼县| 旺苍县| 奉节县| 汽车| 达拉特旗| 白城市| 金湖县| 晋中市| 两当县| 八宿县| 胶州市| 龙江县| 都兰县| 渑池县| 敦化市| 银川市| 襄城县| 靖远县| 封开县| 广宗县| 榆中县| 通辽市| 金乡县| 攀枝花市| 肥城市| 三原县| 晋中市| 淮南市| 宝丰县| 田东县| 华容县| 稻城县| 广南县|