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.

[参考译文] SK-AM62B-P1:无法写入 GIC 存储器区域(GICSS0_GIC)

Guru**** 2487425 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1437657/sk-am62b-p1-unable-to-write-into-gic-memory-region-gicss0_gic

器件型号:SK-AM62B-P1

工具与软件:

尊敬的 TI:

我正在尝试在 A53多核上启用软件中断。

我所做的是将中断号(来自 GICSS0_COMMON_0的宏)和绑定 CPU 内核号写入 GICSS0_GIC 区域(从0x01800000开始)。

但是、调试过程告诉我、在分配操作后 GIC 区域的值没有改变。

我还尝试了在调试模式下手动更改 GIC 区域中的值、但每次执行[ STEP INTO]时、GIC 区域中的值都会恢复为0。

如何使 GIC 区域可写?  

此致、

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    以下代码是赋值操作。
    GIC 是指 GICSS0_GIC 区域的地址、GIC->dist->cpu_target[index]是应存储 CPU 内核号但实际上不更改的位置。
    -------------------------------------------------------------------------------------------------------------
     *抱歉编辑,我的团队负责人要求我删除机密问题的源代码*
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    我已将您的问题分配给有关专家。 请等待他们的回复。

    此致、
    Aparna

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

    尊敬的 Xie:

    您能否提供有关这方面的更多信息:

    1.请告诉我您为此使用的 MCU + SDK 版本。

    2.请提供有关使用案例的更多详细信息:您从哪个模块生成此中断? 您尝试生成的中断号是什么? 您计划如何使用软件生成触发条件? 此外、您计划将该中断路由到哪个内核?

    3.告诉我,当你说  gic->dist->cpu_target[index]时,你指的是哪个寄存器,是 GICD_ITARGETSRn 还是 GICD_SGIR

    此致、

    开会。

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

    大家好、

    我们在 RTOS 上开发一些应用。

    1.开发基于 MCU_PLUS_SDK_am62x_09_01_00_39

    2.我们使用 Display 子系统模块来生成中断。

    中断号116被 引用至以下头文件。

    mcu_plus_sdk_am62x_09_01_00_39\source\drivers\hw_include\am62x\cslr_intr_gicss0_common_0.h

    我们有一些第三方软件适合我们的 RTOS、可生成触发器。  

    我正在尝试将中断签名到 CPU0以外的内核。

    3. GICD_ITARGETSRn

    虽然 AM62x 的 DSS 文档尚未发布、但我们参阅以下链接 AM62Px MCU+ SDK:DSS

    此致、

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

    尊敬的 Xie-san:

    对于 AM62x、所有 A53内核共享同一个 GIC 控制器、因此每个中断都路由到所有内核、请参阅 AM62x TRM 中的第10.1节"中断架构"、了解更多详细信息。 因此、ITARGET 寄存器保留、无法对其进行写入(请参阅 TRM 中的第14.6.1节):

    此致、

    了解、

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

    大家好、

    非常感谢您的回答!

    对于该中断、我仍然有一些问题。

    我在调试模式中的中断函数内设置了一个断点。 每次程序在断点处停止时、中断处理函数始终在 CPU0 (A53的主内核)上运行。

    但是、根据说明「所有四个 A53内核共享 TRM 第10.1节中的同一 GICSS」、是否意味着所有四个内核中都会出现中断功能? 我尚未在调试模式下的其他内核中看到中断处理函数发生。

    此致、

    *edit* interrupt function -> interrupt handle function

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

    尊敬的 Xie-san:

    我正在与我们的团队核实这一点、我有更新后会立即回复您。

    此致、

    开会。

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

    尊敬的 Xie-san:

    目前在 MCU + SDK 中、所有外设中断和资源都只分配给 A530_0 内核、要在 A530_1内核上运行、我们需要将中断拆分为这两个内核、并在这两个内核之间划分资源。 这不是在 MCU+SDK 中完成的。  请查看此信息的 MCU + SDK 版本说明。

    此致、

    开会。

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

    大家好、

    感谢您的调查。 它 几乎解决了我的问题。  

    此致、