工具/软件:
早上好、
当使用 EMIF 进行重复读取时、连续读取之间的间隔需要超过配置的周期来进行翻转。 此处的问题可能是什么?
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 进行重复读取时、连续读取之间的间隔需要超过配置的周期来进行翻转。 此处的问题可能是什么?
尊敬的 Deepak:
我们的内部 AI 工具生成了以下信息、这在本例中可能很有用、我希望您检查一次这些信息。 如果它不能解决您的问题、我将对此问题进行进一步调查:
根据提供的技术文档、对于重复或连续的异步读取操作、EMIF 不会插入任何周转周期。 用户观察到的间隙可能是由于较高优先级的任务抢占了后续读取操作。
绕过 (TA) 周期在 TA 异步配置寄存器 (CEnCFG) 字段中配置。 但是、对于连续操作、此规则有例外情况。
对于正常模式和选择选通模式下的异步读取操作、以下规则适用于周转周期:
TA CENCFG 寄存器的字段。 TA 字段为 0、则会插入一个周转周期。 同样、如果需要多个读取操作才能完成单字访问(对于数据总线宽度较小的器件)、EMIF 会立即重新进入设置周期以开始下一个操作、而不会产生任何周转周期延迟。
EMIF 等待任何所需的周转周期后、它会重新检查以确保读取操作仍然是最高优先级任务。 如果请求了具有更高优先级的不同任务、EMIF 将终止当前读取操作以服务于新任务。 这种读取操作的抢占和随后重新启动可能是您在连续读取之间观察到的延迟的来源
--
此致、
Jagadish。
尊敬的 Deepak:
我所做的是我在 while 循环中使用了读取函数来检查多个读取操作之间的延迟、并在调试期间观察到这些延迟、增加了更多的周期、而在释放模式下增加的周期相对较少。
与没有代码优化的调试模式相比、释放模式具有更高的代码优化。 可能是因为这就是您在两个连续读取周期之间有几个周期的原因。
此外、我建议您消除函数调用、而不是一个接一个地添加代码并查看行为。
还会验证您的另一端外部 EMIF 器件时序参数、有时慢速外部器件也会导致连续读取出现延迟。
--
此致、
Jagadish。
尊敬的 Deepak:
对延迟的回复表示歉意:
(+) RM57L843:关于使用 SafeTI 诊断库的问题 — 基于 Arm 的微控制器论坛 — 基于 Arm 的微控制器 — TI E2E 支持论坛
您能引用一下上述主题吗?
--
此致、
Jagadish。