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.

[参考译文] TMS570LC4357:如何在 TMS570上验证三个 NPU 控制器的空闲状态

Guru**** 2391415 points
Other Parts Discussed in Thread: HALCOGEN

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1443131/tms570lc4357-how-to-verify-idle-status-of-the-three-npu-controllers-on-tms570

器件型号:TMS570LC4357
主题中讨论的其他器件:HALCOGEN

工具与软件:

您好!

我使用的是 TMS570LC43x 系列微控制器、需要为三个 NPU (Nucleus 处理单元)控制器设置 MPU (存储器保护单元)区域。 我指的是第467页上的技术参考手册(TRM)详述的过程、其中提到:

**"以下是设置 MPU 区的推荐通用软件序列:

  1. 确保总线主机空闲且未发送任何事务。 有关如何使总线接口空闲、请遵循总线主器件 TRM。 它将在不同的总线主控之间有所不同。"**

为了正确理解此流程、我需要对以下几点进行一些澄清:

  1. 当说明"确保总线主控空闲且不发送任何事务"时、我们是否应该特别检查总线主控(例如 EMAC DMA)本身的空闲状态、确保它没有发起任何事务?
  2. 相反、"请遵循总线主器件 TRM、了解如何使总线接口空闲"这一表述表明我们需要确保 NPU 使用的总线本身(例如 AXI、AMBA、AHB、APB)处于空闲状态。 我们是否还应该验证总线是否没有任何事务、而与主控方无关?

这就使得关于是专注于总线主控还是总线接口来验证空闲状态产生了一些歧义。 请提供以下方面的详细指导:

  • 要检查以确保每个 NPU 总线主器件处于空闲状态的特定步骤或寄存器。
  • 有关如何确认这些 NPU 所用总线接口空闲状态的任何参考。

非常感谢您提供任何指导、包括 TRM 的相关部分、应用手册或说明此过程的示例代码。

感谢您的帮助。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    在我们的 HALCoGen 生成的代码 中、我们会在启动代码中执行系统初始化后立即调用_mpuInit_、该启动代码在上电后和调用 main 之前。

    在 MPU 初始化之前、我在这里找不到任何与总线空闲相关的代码、这可能是因为没有其他主器件会进行任何通信、因为此时诸如 DMA 之类的其他总线主器件不会被激活。

    因此、我的建议是、如果您在启动代码中调用 MPU 初始化、您无需检查任何其他总线主器件空闲状态、也许您要在应用程序运行期间调用此 MPU 初始化、那么您可能需要检查其他总线主器件是否空闲。

    ——
    谢谢、此致、
    Jagadish。