我正在使用外部sram(256kbx16b),16位数据和18位地址,当我使用msb(addr位16和17)访问任何内容时,我无法读取/写入外部sram .

访问任何不需要这些咬合的东西(任何带有addr位0-15的东西)都可以正常工作 .

我发现当我断开16位和17位addr位并将它们连接到高位或低位时工作正常,但当这些位连接到PSoC 5lp并被emif组件(外部存储器接口)选中时,它会显示随机静态 Value ,我期待一组特定的变化值 .

我还验证了来自psoc的地址位16和17的信号,它们看起来就像任何其他地址位的行为一样 . 如果我断开16和17线,然后单独插入它们,psoc上寻址第16或第17位的任何端口都会冻结我的lcd上的数据 .

转移到ext sram是通过dma完成的,而读取是直接使用指向内存的指针完成的,这对以前的srams来说很好,尽管它们只是1Mbx8b .

这在gpio引脚上是一致的 .

我使用的是512kbx16 sram:CY7C1041D

sram是异步的 .

再次使用PSoC进行读/写操作适用于sram上的所有地址,这些地址不使用高2 msb进行寻址 .

有谁知道发生了什么?