最重要的SRAM读写函数中 ADDR +1还是+2的问题,可以用下面的解释。
当 Bank1 接的是 16 位宽度存储器的时候: HADDR[25:1]对应 FSMC[24:0]
当 Bank1 接的是 8 位宽度存储器的时候: HADDR[25:0]对应 FSMC[25:0]。
以上这是规定。
不论外部接 8 位/16 位宽设备, FSMC_A[0]永远接在外部设备地址 A[0]。
这里,
使用的是 16 位数据宽度,所以 HADDR[0]并没有用到,只有 HADDR[25:1]是有效的,对应关
系变为: HADDR[25:1]对应FSMC[24:0],相当于右移了一位。
8位 即8*1024k 存储空间
16位 即16*512k 存储空间。。。。所以有:对应的地址深度不一样,地址位不一样。