您好!
对于 EMIF 读取和写入外部 SRAM 存在疑问。
如果在 EMIF 读取或写入期间发生中断、会发生什么情况?
客户遇到一个问题、有时程序计数器指向 EMIF 映射位置、如 CS0和 CS2。 实际上使用的是 CS0、不使用 CS2。
在读取/写入期间、如果中断被禁用、则没有问题。
问题可能出在哪里? 我们是否确实需要在 EMIF 运行期间禁用中断?
非常感谢。
BR、Jordan
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好!
对于 EMIF 读取和写入外部 SRAM 存在疑问。
如果在 EMIF 读取或写入期间发生中断、会发生什么情况?
客户遇到一个问题、有时程序计数器指向 EMIF 映射位置、如 CS0和 CS2。 实际上使用的是 CS0、不使用 CS2。
在读取/写入期间、如果中断被禁用、则没有问题。
问题可能出在哪里? 我们是否确实需要在 EMIF 运行期间禁用中断?
非常感谢。
BR、Jordan
您好!
实际上、我们不知道问题何时发生。
但是、如果在 EMIF 运行期间禁用了所有中断、则不会发生此问题。
如果未禁用中断、则会发生该问题。
这就是我们认为 EMIF 操作与中断发生冲突的原因。
在 JTAG 的帮助下、我们发现、程序计数器可以指向不同的存储器位置、其中一些在 EMIF CSx 中、有些在存储器外。
客户无法提供代码。
非常感谢。
BR、Jordan
您好!
中断代码、一些在闪存中运行、另一些在 RAM 中运行。 它们都运行 EMIF。
闪存:
APP_ROM :origin = 0x088052、length = 0x037FAE、fill = 0xFFFF //闪存 E~N
RAM:
APP_RAM :origin = 0x00C000、length = 0x010000 // RAMGS0~RAMGS15
BR、Jordan