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.

[参考译文] RTOS/66AK2H12:Keystone II 中断处理和 SWI 上的 SMP BIOS

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/662454/rtos-66ak2h12-smp-bios-on-keystone-ii-interrupt-handling-and-swis

器件型号:66AK2H12

工具/软件:TI-RTOS

SMP 文档(processors.wiki.ti.com/.../BIOS )指出:

  • 默认情况下、所有中断在内核0上运行。
  • 无论 SWI 在哪个内核上发布、它都在内核0上运行。

1) 1)从 ARM Corepac 用户指南中可以看出、所有中断都是提供给所有 ARM 内核的。 是否无法让 ARM 1处理 SMP 中的某些中断? 如果是、如何操作?

2) 2)无法理解为什么 SWI 必须在内核0上运行。 实际上、如果所有 HWI 必须已经在 Core 0上运行、那么显而易见的架构将希望能够通过简单地执行 SWI_POST 来将某些 HWI 的处理转移到另一个内核。

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

    我已将其转发给 RTOS 团队。 他们将直接在此处发布反馈。

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

    您好、Bruce、

    默认情况下、Hwi 位于内核0上、但可以配置为使用内核1 (有限制)。 这里是我找到的一些要点

    Hwi 调度

    • Hwi 可配置为在 SMP 应用程序中的任一内核上运行
    • Hwi 模块有一个称为 intAffinity 的模块级配置参数、用于管理在 SMP 模式下运行 Hwi 的内核。
    • intAffinity[]是一个将中断号映射到特定 CoreID 的数组。
    •  在 Cortex-M3/M4上、对于低于16的中断号、无法更改内核相关性。 在 SMP 应用中、此类中断将始终由内核0提供服务。
    • 在 Cortex-A15上、对于低于32的中断号、无法更改内核相关性。
    • 每个内核都有自己的 Hwi 堆栈、在这个堆栈上运行 ISR 例程。

    Todd

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢、Todd。 很抱歉、我还没有机会尝试一下、我一直在努力解决 CCS 工作区损坏的问题。 您的帖子回答了我的问题。 那么、我将告诉您。