|
在看核心板原理图的时候发现这样一个问题,为什么一个是从ADDR1启示连接,而另外一个是从ADDR2开始连接,我想关于地址线的连接问题还不是这么简单的问题吧,希望有人能解释一下,顺便我百度了一下,得出的结果是这样的(以下文字来源于互联网)
“ARM与不同位宽存储器的地址线错位接口 , 外部总线接口深入
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
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开始才变化。
” |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|