欢迎来到天天文库
浏览记录
ID:12346546
大小:185.50 KB
页数:3页
时间:2018-07-16
《arm 为什么地址线要偏移一位接》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、ARM为什么地址线要偏移一位接以前在某些书上看到过,某些RAM、norflash推荐的接法是地址线偏移一位,即cpu的a1接到芯片的a0,不是一一对应。今天上课终于搞懂了原来就是因为这类RAM、norflash是16位的,word=2byte一般在我们c语言软件编程的概念,一个地址对应的数据是一个byte,8位即32根地址线,能够访问4G的地址空间,每个空间是8bits=1byte所以32位cpu总共能够管理4GByte的数据,而不是4Gbit的数据这种情况下,cpu的地址线跟芯片地址线一一对应没有问题现在,这种RAM、norflash是16位的,即一个地址能够存放16bits的数据
2、也就是说,芯片的a0的0、1变化,就是16bits的变化,不是一般的8bits的变化了此时,cpu的地址线里,只有a1是16bits变化这个数量级的,所以相同数量级的引脚连接,自然要偏移一位如图所示的是FS2410上SST39VF的原理图,CE#接的是nGsc0,即该芯片的地址空间为0x0-0x100000这样,U16a=*(char*)0x0和U16b=*(char*)0x1就没有区别了,所以编程要牢记最小16bits为单位,地址保证2byte对其,即最低位置零这是SDRAM的连接图,ADDR2接的是SDRAM芯片的A0,偏了2位所以arm编程强调的4字节对齐,不仅仅是指令集上的关
3、系,连硬件上都限制死了
此文档下载收益归作者所有