【发布时间】:2021-12-03 20:38:57
【问题描述】:
我使用的是 NUCLEO-H755ZI-Q 板,它有两个核心 cortex m4 和 cortex m7,要启用 lwip,我必须启用 CPU ICache 和 CPU DCache
但在运行时程序通过 SCB_EnableDCache() 退出;功能。如果错过了什么,请帮助我。
【问题讨论】:
标签: stm32 stm32f4discovery stm32f7
我使用的是 NUCLEO-H755ZI-Q 板,它有两个核心 cortex m4 和 cortex m7,要启用 lwip,我必须启用 CPU ICache 和 CPU DCache
但在运行时程序通过 SCB_EnableDCache() 退出;功能。如果错过了什么,请帮助我。
【问题讨论】:
标签: stm32 stm32f4discovery stm32f7
来自CMSIS-Core的引用,__STATIC_FORCEINLINE void SCB_EnableDCache(void)的描述
在启用数据缓存之前,您必须使整个数据无效 缓存
SCB_InvalidateDCache(),因为外部内存可能有 从禁用缓存时更改。重置后,您必须 在启用之前使SCB_InvalidateDCache()每个缓存失效。
所以我认为你可以在SCB_EnableDCache() 之前尝试SCB_InvalidateDCache()。
另一方面,能否提供错误信息或错误状态?
我认为这有助于找出根本原因。
【讨论】:
我能够解决这个问题。当我回滚到 1.6 时,这更适用于 cube ide 1.7,它工作正常。问题在于从 cube mx 生成代码
【讨论】: