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