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.

[参考译文] F29H850TU:CPU3 (F29H85x) 的 XINT 中断触发

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1638006/f29h850tu-xint-interrupt-triggering-for-cpu3-f29h85x

器件型号: F29H850TU

您好:

我尝试通过由 CPU3 控制的 GPIO 触发中断。

我不知道该怎么做。 当为 CPU1 配置所有输入 xbar 和中断配置时、没有问题、并且在运行时启用 ISR。 但是、我不知道如何将 XINT 路由到 CPU3。

注意:在 CPU3 应用程序中、我已通过以下行启用 CPU 中断:

  ENINT;
  INTERRUPT_enableGlobal();

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

    您好 Fleenor、  

    感谢您的努力,我知道如何将 XINT1 路由到 CPU3 的一般原则,但由于缺乏文档,我不知道正确的方法。

    但是、正如我所注意到的、您答案中的某些信息无效。

    首先、   TRM 中没有第 6.11.8 节、第 6.11.9 节等部分、因为我认为我使用的是上次更新的部分。

    其次、没有你建议的登记册。 (至少我的编译器弹出错误,因为没有标识符为“XINT1CR“。

    CPU3_XINT1CR = 0;//清除先前的配置
    CPU3_XINT1CR.bit.XINT1SEL = 5;//连接到 INPUTXBAR5
    CPU3_XINT1CR.bit.POLARITY = 0;// 0 =下降沿、1 =上升沿
    CPU3_XINT1CR.bit.QUAL = 0b01;//可选:2 样本鉴定

    我在 TRM 中只找到有用的信息、见第 203 页、但找不到名为“CPUx.XINT1“的基址或寄存器组


     

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

    您好 Gökhan、

    我想跟进您关于 CPU3 的 XINT 中断路由问题。 我意识到我上一次的回复可能还会留下一些空白、尤其是在您的特定用例的确切 PIE 配置和寄存器访问模式方面。

    以下几个问题有助于推动这一目标的实现:

    1. 您是否能够 使用我概述的 DriverLib 方法(+从 CPU3 上下文调用)在 CPU3 上触发 XINT 中断GPIO_setInterruptType() GPIO_enableInterrupt()

    2. 您是否首先从 CPU1 配置了 GPIO 所有权? 由于 GPIO CTRL 寄存器是 CPU1 只写、因此您需要 GPIO_setControllerCore(myGPIO, GPIO_CORE_CPU3) 先调用 CPU1、然后 CPU3 才能控制该引脚。

    3. 您正在使用哪个 XINT 实例? (XINT1、XINT2 等)—这决定了您需要哪个输入 XBAR 通道(例如 XINT1→XBAR4、XINT4→XBAR13)。

    4. 您是否看到设置了中断标志但 ISR 未执行、或者该中断是否完全不触发?

    如果您仍然困难重重、您能否分享:

    • 要使用的 GPIO 引脚
    • 显示您当前 CPU3 中断设置的代码片段
    • 当为 CPU1 配置时、同一 GPIO/中断是否有效

    我想确保问题得到正确解决。 F29H85x 上的多核 GPIO 中断路由有一些特定要求、单独的 TRM 来看并非总是显而易见的。

    期待收到您的回复。

    此致、
    Zackary Fleenor