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.

[参考译文] TMS320C6678:如何使用超链接中断独立地以各种内核为目标

Guru**** 2559190 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/625062/tms320c6678-how-to-target-various-cores-independently-by-using-hyperlink-interrupts

器件型号:TMS320C6678

大家好、


我想在 C6678上使用超链接中断。 为了从发送方方面获得更大的灵活性、我想使用 int2cfg=0模式。 我已经设法在 int2cfg=1模式下使用中断、但映射是固定的、并且每个 CIC 只有一个内核可由中断(或多个内核同时具有广播事件)访问。

换言之、我希望能够独立地(无广播)向远程 DSP 的每个内核发送超链接中断、而无需在每次更改目标时配置寄存器。

我尝试了此配置

DSP A 端

Sien = 1.
intlocal = 0
CTRL 索引= 0
CTR 值[0] mps = 0 vector = 0
IVECTOR = 0来触发中断

DSP B 端

INTEN = 1
int2cfg = 0
PTR 索引= 0
ptr 值[0] ptr = 0x26000200 (CIC0原始状态/设置寄存器)

我想对远程 CIC0系统中断0 (原始状态寄存器的位0)进行触发

启用系统中断0、并使用 INTC HW 向量9

它似乎不起作用,有什么想法为什么?

谢谢你
FD

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我已通知工厂团队。 他们的反馈将在此处发布。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    此代码是否在 DSP A 和 DSP B 的内核0上运行? 请访问 e2e.ti.com/.../381960

    此致、Eric

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

    是的、当然我的代码在 DSP A 和 B 的内核0上运行、当我说 DSP A 端时、我指的是 DSP A 的内核0执行的代码、依此类推。 请注意、此代码不是由无关内核执行的。

    根据您向我指示的线程、我已经读取了它们、它们帮助我使用 int2cfg=1模式向远程 DSP 发送中断。
    此模式的问题在于每个 CIC 一次只能将一个系统中断(对于超链接为111)路由到一个中断控制器。 我想选择中断的内核、而无需重新配置寄存器。

    在 int2cfg=0模式下、我读出可以通过将其地址写入中断指针值寄存器来写入 CIC 的原始状态集寄存器。 但它实际上不起作用、我无法在该寄存器(或另一个寄存器)中写入任何内容。

    此致、

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

    根据您的说明、我认为最好通过访问远程侧的 CIC 区域来生成中断、因此您可以为不同的内核编写不同的中断编号。

    您可以参考 ti\drv\hyplnk\examples\cicInterruptExamples\src\cicInterruptExample.c

    呼叫流程:
    DSP A 内核0运行超链接初始化/设置代码
    DSP B 内核0运行相同的超链接初始化/设置代码
    在此阶段、您在 DSP A 和 B 之间建立了超链接。

    在 DSP B 侧、创建超链接空间映射以访问 DSP A 侧 CIC 区域(例如、将0x4000_0000映射到 CIC2 0x260_8000)。
    4.在 DSP A 侧、配置中断:找出8个未使用的系统中断和8个 CIC 输出、将它们链接在一起
    5.在 DSP B 侧、通过写入 DSP A 侧 CIC 区域生成中断。 这样、您就可以从 DSP B 向 DSP A 的不同内核生成中断。请注意、这不是超链接中断。 但它是通过超链接接口访问远程 CIC 区域的中断。 我们为客户实施了这一方案。
    6.您可以对 DSP A 到 DSP B 端中断执行同样的操作。

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

    尊敬的 Eric:

    几年前、我们已经测试过此解决方案、但我们希望使用超链接中断进一步改进。 我可以使用该解决方案。

    感谢大家的帮助!

    此致

    FD