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.

[参考译文] PROCESSOR-SDK-AM62X:AM62RM 中断源用户无法理解

Guru**** 2466550 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1467978/processor-sdk-am62x-am62rm-interrupt-sources-not-user-understandable

器件型号:PROCESSOR-SDK-AM62X

工具与软件:

表10-11第2列的中断源确实会让用户感到困惑。

在此表中、哪个 IRQ 编号映射到系统节拍?

上表中 NVIC IRQ 1-15映射到的 IRQ 编号是什么?

我希望中断源应该像模块(计时器)、事件(溢出)组合这样有意义、而不仅仅是把 TI 内部 文档关键字转储为用户手册

谢谢!

吉姆  

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

    Jim、您好!

    感谢您的提问。

    我正在将问题分配给专家。

    此致、

    Sreenivasa

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

    吉姆

    中断章节已更新、将包含在下一个 TRM 版本中。  下面是更新的副本。   

    -保罗

    e2e.ti.com/.../AM62x_5F00_Interrupts-_2800_30Jan25_2D00_2_2900_.pdf

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

    新版本比上一个更好;但我仍然找不到信息。

    哪个 IRQ 编号是系统节拍中断?

    SVCALL 是哪个 IRQ 编号?

    哪个 IRQ 号是 PendSVC?

    Cortex M4中有16个例外、这些例外如何映射到这些 IRQ 编号?

    谢谢!

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

    Paul、你好:  

    我们是否要尝试在 SDK v12版本中及时为 AM64x 执行相同的中断工件? 还请抄送新的营销人员 (24) Kathryn Kalouf 的个人资料- Kathryn Kalouf - TI E2E 支持论坛 、以便进行回复。

    谢谢

    吉姆

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

    4天前我的问题有任何最新动态吗?

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

    吉姆  

    我在软件支持中循环使用、因为 Tick 和 SVCALL 都是软件概念。

    等待它们提供输入。  

    -保罗  

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

    Jim、您好!

    感谢您的耐心。

    [报价 userid="346969" url="~/support/processors-group/processors/f/processors-forum/1467978/processor-sdk-am62x-am62rm-interrupt-sources-not-user-understandable/5635312 #5635312"]

    哪个 IRQ 编号是系统节拍中断?

    SVCALL 是哪个 IRQ 编号?

    哪个 IRQ 号是 PendSVC?

    [报价]

    SVC 的中断号为11、PendSV 为14、Sys_tick 为15。

    Cortex M4中有16个例外、这些例外如何映射到这些 IRQ 编号?

    请参阅 {MCU+SDK}\source\kernel\freertos\DPL\m4\Hwip_armv7m_handlers_freertos.c 以便查看中断映射。

    此致、

    Tushar

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

    我用 NXP cortex M4已经很多年了 、我知道 SVC 为11、PendSV 为14和 Sys_tick 为15、并且前16个 IRQ 映射到了前16个 IRQ 编号。 我想确认一下、TI 也在这样做。

    即使从 AM62 TRM 的新版本(2025年1月版本)来看、我也无法弄清您刚才提到的那些 IRQ 映射。

    用户如何使用系统节拍映射 MAIN_GPIOMUX_INTROUTER0_OUTP_OUT_34?   最后一列中的中断源对用户没有任何意义

    我已确认中断源信息、请关闭此问题。  

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

    Tushar、 Sreenivasa:

     我认为"Jim Zhang"  为 Sitara 团队带来了 TI 竞争对手的意见。 具有 某些 IRQ 编号是合理的  HwiP_armv7m_handlers_freertos.c  集成到 TRM 中、以便来自 TI 竞争对手 ARM 解决方案的用户能够轻松迁移。 请注意、并不是每个人都不必对管理 IRQ 分配的原始 ARM M4内核文档(或者关于这个问题的 R5或 A53)进行检查。  

    请考虑这对于 SDK 12时间范围

    谢谢

    吉姆

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

    我有原来的 ARM M4文档、但这个 TRM 没有将中断清楚地映射到原始 ARM M4内核;TRM 表中的中断源让我感到困惑。 我想它使用的术语或关键字只有 TI 员工开发人员才能理解

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

    吉姆

    TRM 列出了器件上的物理中断映射。   有两个表、一个按实例中断输入排序、一个按实例中断输出排序。  

    Tick、SVC 和 PendSVC 是映射到物理实例/中断的软件术语。  

    您能提供一下映射混淆的示例吗?  

    -保罗  

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

    TRM 的用途是什么?  是硬件设计人员还是软件设计人员?  对于软件开发人员、我们需要知道我们使用的中断源如何映射到处理器中。  我们需要知道系统节拍的 IRQ 编号、我们需要知道 MCU_TIMER0溢出中断的 IRQ 编号。 我们需要能够从用户手动获取这些信息。   

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TRM 的用途是什么?  是硬件设计人员还是软件设计人员?  [报价]

    这是两种情况。  

    [报价 userid="346969" url="~/support/processors-group/processors/f/processors-forum/1467978/processor-sdk-am62x-am62rm-interrupt-sources-not-user-understandable/5642577 #5642577"]对于软件开发人员、我们需要知道我们使用的中断源是如何在处理器中映射的。  我们需要知道系统节拍的 IRQ 编号、我们需要知道 MCU_TIMER0溢出中断的 IRQ 编号。 我们需要能够从用户手动获得这些信息

    文档中列出了定时器中断的映射。 例如  

    这表明来自 timer0的中断连接到 MCU_M4FS0、CORE0、NVIC 输入4

    对于被识别为中断15源的 SysTick 以及您询问的其他问题、 我将提交一个工单、以查看是否可以在 TRM 中对其进行记录。  

    感谢您发送编修。  

    -保罗  

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

    Paul -请为 AM64x Come  SDK v 11时间范围添加相同的内容;cc: k-kalouf@ti.com 

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

    这是来自的 TRM 令人困惑的部分   {MCU+SDK}\source\kernel\freertos\DPL\m4\Hwip_armv7m_handlers_freertos.c、0~15应映射到 cortex M4内核异常、不能用作计时器 IRQ

    以下是中的异常处理程序  hwiP_armv7m_handlers_freertos.c、IRQ 4由 memFault exception 使用、不能为计时器中断

    uint32_t _attribute__(((section (".vectors")、aligned (32))) gHwip_vectorTable[Hwip_MAX_interrupts] ={

       [0]=(uint32_t)&_STACK_END、            /* 0 */

       [1]=(uint32_t)&_c_int00、               /* 1 */

       [2]=(uint32_t)&Hwip_NMI_handler、       /* 2 */

       [3]=(uint32_t)&HwiP_hardFault_handler、 /* 3 */

       [4]=(uint32_t)&Hwip_memFault_handler、  /* 4 */

       [5]=(uint32_t)&Hwip_busFault_handler、  /* 5 */

       [6]=(uint32_t)&hwiP_usageFault_handler、/* 6 */

       [7]=(uint32_t)&Hwip_reserved_handler、  /* 7 */

       [8]=(uint32_t)&Hwip_reserved_handler、  /* 8 */

       [9]=(uint32_t)&Hwip_reserved_handler、  /* 9 */

       [10]=(uint32_t)&Hwip_reserved_handler、  /* 10 */

       [11]=(uint32_t)&vPortSVCHandler、        /* 11 */

       [12]=(uint32_t)&hwiP_debugMON_handler、  /* 12 */

       [13]=(uint32_t)&Hwip_reserved_handler、  /* 13 */

       [14]=(uint32_t)&xPortPendSVHandler、     /* 14 */

       [15]=(uint32_t)&Hwip_interrupt_handler、 /* 15 *//* SysTick */

       /*其余处理程序在 Hwip_init 中设置、将用于  

        *"外部"NVIC 中断

        */

    };

    TRM 与代码不匹配。 我认为 TRM 不正确。

    我对 TI 文档的一般看法是: TI 不是在建真实的房子、房子缺少许多重要部分、TI 文档写作人员认为用户可以找到正确的文档来完成房子。 问题是在一切都为用户工作之前,用户不知道他发现的乐高是否正确。 用户需要花费大量时间来验证他发现的乐高是否正确。 这会浪费新用户数吨的时间。

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

    吉姆

    我一直在研究这个问题。  列出了例外情况  HwiP_armv7m_handlers_freertos.c 是"内置"CPU 异常、TRM 中未记录这些异常。  TRM 只记录外部外设中断源、我认为这正是混淆发生的地方。  

    我们将看到我们可以做些什么来使这一点更清楚。  

    -保罗

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

    我很高兴你会研究这个问题、谢谢。 但 IRQ 编号不应在外部 IRQ 和 Cortex M4内核异常之间发生冲突、请检查

    谢谢

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

    吉姆

    在查看这一点时、我看到内部异常是如何表示的。  表中的电流向量数与 M4F 外部中断总线索引对齐、因此该解决方案可以简单地将外设中断向量偏移16以与软件对齐。 但是、这可能不是正确答案、因此我已提交了一个内部请求单供查看、以便在未来的 TRM 版本中解决该问题。  

    -保罗  

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

    您能在下一个文档发布前在此处找到答案并提供答案吗? 我需要在代码中进行正确的 IRQ 中断号/源映射。 当然、我不能将4定义为定时器 IRQ 编号。 我需要更新 TRM 表中列出的所有外部 IRQ 源的 IRQ 编号

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

    Paul: Jim Z 好像在要求提交 TRM 勘误表。  更好的 cc:m-firth@ti.com 

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

    吉姆:

    是的、我需要 IRQ 映射的应答或确认。 它可能不在任何正式文档中、只是一位专家、告诉我如何在 TRM 表上的源代码触发中断时将 TRM 表上的 IRQ 编号映射到 Cortex M4内核捕获的 IRQ 编号。 我需要为我的项目设置正确的映射

    谢谢!

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Paul: 好像 Jim Z 在询问 TRM 勘误表。  Better cc :m-firth@ti.com [/报价]

    我们仅发布器件勘误表。  

    是的、我需要对 IRQ 映射进行回答或确认。 它可能不在任何正式文档中、只是一位专家、告诉我如何在 TRM 表上的源代码触发中断时将 TRM 表上的 IRQ 编号映射到 Cortex M4内核捕获的 IRQ 编号。 我需要为我的项目提供正确的映射

    我会让软件团队就使用的映射发表意见。  

    -保罗

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

    Jim、您好!

    很抱歉出现以上问题。

    要启用 M4F 内核中断、您需要将16个值偏移值添加到所有 源中断。

    例如、您需要将索引值为9的 WarmReset 中断路由到 M4F 内核。

    然后、启用中断、使次数达到16+9 = 25。

      HwiParams.intNum =  25

    另一个任务是、您需要将 Timer0中断路由到 M4F 内核。

    在这种情况下计时器0中断索引为4、您需要为第20个数字启用中断。

      HwiParams.intNum = 20;

    对于 GPIO 中断、用户 不能直接启用 、这些中断分配通过 SCI 客户端完成、因为这些输出是路由器输出并在不同内核之间共享。

    除了路由器中断外、您只需将16个偏移值添加到 TRM 中给出的所有中断。

    此致、

    Anil。

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

    模拟:

    所以 PaulM 假设是正确的:

    表中的电流向量数与 M4F 外部中断总线索引对齐、因此该解决方案可以简单地将外设中断向量偏移16以与软件对齐。

    我需要在表中的 IRQ 编号上添加16偏移、以获取 ARM 内核捕获的正确 IRQ 编号。 请确认、该问题即可解决。

    谢谢!

    吉姆

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

    除了向 TRM 中添加文本之外、偏移量为16 (十进制?) 是必要的-这应该很容易纠正。

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

    吉姆

    是、十进制为16。  

    如前所述、已提交 TT 以更新 TRM。  

    -保罗