乐鑫技术交流
直播中

贾永世

7年用户 1737经验值
私信 关注
[问答]

启用外部SPIRAM后,报spi_flash_disable_interrupts_caches_and_other_cpu错误的原因?

问题现象:
1. 启用外部 SPIRAM 后执行 OTA 升级时,报 spi_flash_disable_interrupts_caches_and_other_cpu 错误。
2. 启用外部 SPIRAM 后执行蓝牙初始化时,报 spi_flash_disable_interrupts_caches_and_other_cpu 错误,此时可通过降低任务的堆栈空间可规避此问题。
3. 禁用外部 SPIRAM 后,执行 OTA 或初始化蓝牙时,不会报上述错误,增加任务堆栈空间也不会出错。

回帖(1)

时见栖鸦

2024-6-13 16:18:12
根据您提供的问题现象,我们可以逐步分析可能的原因:

1. 首先,启用外部 SPIRAM 后执行 OTA 升级或蓝牙初始化时出现错误,而禁用外部 SPIRAM 后则没有问题。这表明问题可能与外部 SPIRAM 的使用有关。

2. 报错信息为 "spi_flash_disable_interrupts_caches_and_other_cpu",这个错误通常与 SPI Flash 操作有关。可能是在启用外部 SPIRAM 后,SPI Flash 的操作受到了影响。

3. 降低任务堆栈空间可以规避此问题,这可能意味着在启用外部 SPIRAM 后,某些任务的堆栈空间不足以满足需求,导致错误。

结合以上分析,我们可以得出以下可能的原因:

1. 外部 SPIRAM 的配置或初始化可能存在问题。请检查外部 SPIRAM 的配置参数是否正确,以及初始化过程是否正常。

2. 启用外部 SPIRAM 后,可能会影响到 SPI Flash 的操作。请检查 SPI Flash 的配置和操作是否与外部 SPIRAM 的使用相兼容。

3. 任务堆栈空间不足可能是导致错误的原因之一。在启用外部 SPIRAM 后,可能需要重新评估任务堆栈空间的需求,并相应地进行调整。

为了解决这个问题,您可以尝试以下步骤:

1. 检查外部 SPIRAM 的配置参数和初始化过程,确保它们正确无误。

2. 检查 SPI Flash 的配置和操作,确保它们与外部 SPIRAM 的使用相兼容。

3. 重新评估任务堆栈空间的需求,并在启用外部 SPIRAM 的情况下进行调整。

4. 如果问题仍然存在,您可以尝试更新硬件驱动程序或固件,以解决可能存在的兼容性问题。

5. 如果以上步骤都无法解决问题,您可能需要联系硬件供应商或寻求专业技术支持。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分