我正在使用外部sram(256kbx16b),16位数据和18位地址,当我使用msb(addr位16和17)访问任何内容时,我无法读取/写入外部sram。
访问任何不需要这些咬合的东西(任何带有addr位0-15的东西)都可以正常工作。
我发现当断开16位和17位addr位并将它们连接到高电平或低电平时工作正常,但当这些位连接到PSoC 5lp并由emif组件(外部存储器接口)选择时,它会显示随机静态值,我期待一组特定的变化值。
我还验证了来自psoc的地址位16和17的信号,它们看起来就像任何其他地址位的行为一样。如果我断开16和17线,然后单独插入它们,psoc上寻址第16或第17位的任何端口都会冻结我的LCD上的数据。
传递给ext sram是通过dma完成的,而读取是直接使用指向内存的指针完成的,这对以前的srams来说很好,尽管它们只是1Mbx8b。
这与gpio引脚一致。
我正在使用512kbx16 sram:CY7C1041D
sram是异步的。
再次使用PSoC进行读/写操作适用于sram上的所有地址,这些地址不使用高2 msb进行寻址。
有谁知道发生了什么事?