IS62WV51216的寻址问题,原子哥请进

2019-07-20 22:48发布

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芯片的?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
正点原子
1楼-- · 2019-07-21 04:25
 精彩回答 2  元偷偷看……
likunxue
2楼-- · 2019-07-21 06:35
本帖最后由 likunxue 于 2016-4-10 02:41 编辑

光从电路硬来说, 超过了又从零开始, 从软件的角度看,是更高位的地址, 但哪个更高位的地址置1时对当前芯片无效,如果CPU不出错,哪你读也的值双从零地址开始增加

好比如,单个节字,只有8个位, 最大值255,也就0XFF, 如果你再加1 不就变成 256了 这时,数据向高位进0 低位全清零 再加,如果不管高位,你哪单字节是不是一直从0~ 255在从重变化?
stm1994
3楼-- · 2019-07-21 08:48
 精彩回答 2  元偷偷看……

一周热门 更多>