有一个问题困扰了好久了,就是ARM与存储器(SDRAM和FLASH)相连的问题.数据总线好连,直接对应相连即可,不管8位,16位,32位.关键是地址总线的连接,我以前的理解是看存储芯片的数据位宽,如果是8位,则ARM端的地址线A0对应存储器的地址线B0,A1-B1,以此类推.如果存储器是16位,则A1-B0,这样错开一位,ARM的A0不用.如果存储器是32位的,则A2-B0,以此类推,ARM的A0,A1都不用.我以前就是这样理解的.感觉也没什么问题. 可是最近一段时间我看了看其它的芯片和它的原理图,发现有很多连法和我上面的理解不一样.比如IMX27和BF537这两款CPU都是不管存储器是多少位的的,都是直接A0-B0,没有任何考虑错位的情况.更有甚者,有的CPU接存储器比如16位时,竟然不是我想像中的A1-B0,而是A0-B1,反倒是存储器的B0不接.这到底是怎么回事呀? 关于ARM外接存储器连法的问题,希望能有高手细致的讲解一下.拜谢了! |