我需要保留一个 CPU 核心用于关键中断和 WIFI 处理。
当我使用 PSRAM 时,访问 PSRAM 的 CPU 核心将停止,直到 PSRAM 数据传输结束。
如何配置 ESP-IDF 只为一个 CPU 内核分配 PSRAM,这样另一个 CPU 内核就不会因为访问 PSRAM 而停滞?
2023-3-2 14:05:07
PSRAM 访问本身不会停止两个内核,只会停止受影响的内核。然而,您可能会看到 PSRAM 和闪存使用相同的总线,因此不使用 psram 的处理器将在高速缓存未命中时停止,因为它需要等待 PSRAM 访问完成才能进行闪存访问。
PSRAM 访问本身不会停止两个内核,只会停止受影响的内核。然而,您可能会看到 PSRAM 和闪存使用相同的总线,因此不使用 psram 的处理器将在高速缓存未命中时停止,因为它需要等待 PSRAM 访问完成才能进行闪存访问。
举报
2023-3-2 14:05:20
我担心的是 PSRAM 中的任何缓存未命中都会使内核停滞。我的时序限制不会让内核在访问 PSRAM 所需的时间段内停止。我需要分配一个核心来处理不访问 PSRAM 的时序关键功能。
我担心的是 PSRAM 中的任何缓存未命中都会使内核停滞。我的时序限制不会让内核在访问 PSRAM 所需的时间段内停止。我需要分配一个核心来处理不访问 PSRAM 的时序关键功能。
举报
2023-3-2 14:05:29
唯一的解决方案是确保您在 IRAM 中完全运行的任何时间关键代码(包括它调用的任何函数)。
(另外,你在做什么需要那么紧的时间?你确定你不能用硬件处理它,例如 RMT 外围设备?)
唯一的解决方案是确保您在 IRAM 中完全运行的任何时间关键代码(包括它调用的任何函数)。
(另外,你在做什么需要那么紧的时间?你确定你不能用硬件处理它,例如 RMT 外围设备?)
举报
2023-3-2 14:05:40
PSRAM 区域中的缓存未命中仅触发 Espressif“spiram_psram.c”模块中实现的功能是否正确?
从而只停止当前访问 PSRAM 的线程?
PSRAM 区域中的缓存未命中仅触发 Espressif“spiram_psram.c”模块中实现的功能是否正确?
从而只停止当前访问 PSRAM 的线程?
举报