器件型号:TDA4AL
工具与软件:
您好!
我一直在尝试将一些数据移动到地址0x70040000的 MSMC SRAM、但内核冻结。 我的代码在 MCU 域中运行、MCU 和 MAIN 都可以访问该存储器吗? `s 它仅用于 main、这就是我进入内核冻结的原因
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.
器件型号:TDA4AL
工具与软件:
您好!
我一直在尝试将一些数据移动到地址0x70040000的 MSMC SRAM、但内核冻结。 我的代码在 MCU 域中运行、MCU 和 MAIN 都可以访问该存储器吗? `s 它仅用于 main、这就是我进入内核冻结的原因
您好!
是的、对于 MCU 和主域、默认情况下可以访问0x70040000的系统地址。 此系统地址映射到 MSMC3。 MSMC3可以是高速缓存或 SRAM。 默认为 SRAM。
在启用 MPU 但没有为该区域设置条形寄存器的情况下、您很可能尝试从 MCU-R5访问存储器、因此内核拒绝该访问。 我建议您对代码进行试验并使用调试器来排除故障、从而找出根本原因。 我附上了简短的视频、其中介绍了 MCU 和主域成功访问存储器的情况。 该视频还展示了缺少 MPU 条目如何导致无访问中止。
e2e.ti.com/.../tda4al_5F00_70040000_5F00_2024_2D00_08_2D00_08_5F00_17h43_5F00_08.mp4
尊敬的 Richard:
n`t 提供的信息非常感谢、我们没有启用 MPU、在以下模式下、我们仍然面临相同的问题
我们一直在尝试调试、没有明显的输出、
您还有其他想法吗?
在使用 MSMC 之前、我们是否需要进行任何特定的配置?
是否更多信息或详细信息、而不是数据表中的信息或详细信息?
您好 Amira、
在典型运行期间、MCU 和 MAIN 均可实现 MSMC-SRAM 访问。 我提到过、访问的第一个问题是与 R5 MPU 相关。 我可以想象过去基于历史记录出现运行时问题的几个可能原因: #1某个代码设置了防火墙、该代码阻止来自其中一个内核的访问;#2如果 MSMC-SRAM 完全重新配置为 L3高速缓存而不是 SRAM、#3一些代码尝试以不安全的方式"重新编程"MSMC 默认值。 #4其中一个内核"或其他内核"设法生成总线协议违例、导致路径挂起、现在来自其他内核的访问挂起。 #4在软件中会更难实现、但如果错误代码将"时钟"设置为超出规格的速度、则可能导致协议违例类型挂起。 我假设5个问题是、当由于 PDN 违例而有过多内核处于活动状态时、您的定制硬件可能出现电压骤降(欠压)、当发生电压骤降时、所有各种问题都会发生(包括协议违例)、然后挂起。