IS62WV51216不是只有19根地址线吗?为什能寻址1MB的内存它的地址线 2的19次方是512K,数据线是16位的,
但问题是编程的时候,比如说我是字节寻址,地址累加的时候,当程序中的地址超出512K时,即19位地址线全为1时,接下来的地址怎么表示?是不是要借用了其他信号?
如以下代码:
#define Bank1_SRAM3_ADDR ((u32)(0x68000000))
u32 i = 0;
for(i=0;i<1024*1024;i++)
{
*(vu8*)(Bank1_SRAM3_ADDR+i) = 0x55;
}
上面的代码很明,只寻址了1M的空间,每次写1个字节。可以是超出了512K的址是怎么传达给 IS62WV51216芯片的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
光从电路硬来说, 超过了又从零开始, 从软件的角度看,是更高位的地址, 但哪个更高位的地址置1时对当前芯片无效,如果CPU不出错,哪你读也的值双从零地址开始增加
好比如,单个节字,只有8个位, 最大值255,也就0XFF, 如果你再加1 不就变成 256了 这时,数据向高位进0 低位全清零 再加,如果不管高位,你哪单字节是不是一直从0~ 255在从重变化?
一周热门 更多>