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.

[参考译文] AM6548:多核应用中的 GPIO 分配

Guru**** 2487425 points
Other Parts Discussed in Thread: AM6548

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1438065/am6548-gpio-assignement-in-multi-core-application

器件型号:AM6548

工具与软件:

您好!

我正在开发一个在 AM6548上运行的多核应用。 对于我的应用、处理器内核的组织方式如下:4个 A53 (主域)运行 RTOS、1个 R5f (MCU 域)运行裸机固件、1个未使用 R5f。

对于我的应用、我需要获取并试用一些 GPIO (正在调查定量分析)、并且我正在尝试了解所有 GPIO 是如何在内核之间划分的。 根据 AM6548技术参考手册(第12.1.2.1节)、有三个 GPIO 实例(每个143个 GPIO):WKUP_GPIO0、GPIO0和 GPIO1。 手册中说明、第一个分配给 Wkup 域、而 GPIO0和 GPIO1保留给主域。 因此、显然无法通过 R5f 读取/写入任何 GPIO。 但是、在用于编译 R5f 固件库和驱动程序的 PDK 源文件 AM65xx_pinmux_data.c 上、报告了 WKUP_GPIO 设置。 我尝试通过 R5f 固件使用它们进行测试、并且我可以写入/读取。

那么、现在我的问题是:R5F 是否有任何 GPIO? 我知道答案是肯定的、因为我使用过、但为什么文档没有报告任何信息? 通过 R5f 使用 WKUP_GPIO 是否是错误、或者是否遗漏了一些概念?

最后、对于我的应用、我将会利用 R5f 内核(所谓的"安全岛")的安全特性(和认证)。 这是不是(非常规的?) 是否使用 GPIO 与此功能相关?

谢谢

Andrea

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

    你好、 Andrea

    感谢您的提问。

    让我回顾一下这些意见、然后再回来。

    此致、

    Sreenivasa

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

    您好!

    您有我的请求的更新吗?

    谢谢。

    Andrea

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

    安德烈、您好!

    感谢您的 ping、对于延迟的响应深表歉意。

    您能否验证您正在运行哪个版本的 AM65x MCU+ SDK (或 TI-RTOS SDK)?

    请参阅此处的注释:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1402124/am6548-how-to-develop-applications-for-the-mcu-r5f-cores/5368606#5368606

    此致、

    Nick

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

    您好!

    在 R5f 上运行的应用程序中、我将使用 PDK v.9.01、我想这是随 SDK-RTOS 9.01提供的。  


    不过、我的问题更多地与"硬件"以及如何从不同内核分配和访问 GPIO 有关。 具体而言、数据表未指明 R5f 的任何值、但我可以使用 WKUP。 这怎么可能?  

    谢谢。

    Andrea

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

    您好!

    你有我的请求的更新吗?

    此致!

    Andrea

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

    安德烈、您好!

    感谢 ping、当您单击"这解决了我的问题"时、您的主题已从我的仪表板中删除。 Ping 又引起了我的注意。

    设置支持预期-无软件支持  

    根据下载页面上的"无设计支持"说明、我们无法回答有关该 SDK 版本的软件问题:
    https://www.ti.com/tool/download/PROCESSOR-SDK-RTOS AM65X-AM65X

    不同器件域中的 GPIO 模块?  

    处理器能够控制不同设备域中的外设。 我在 AM64x 方面更有经验、因此、我在此处提供的详细信息将根据我处理该部件的时间而定:

    潜在限制#1:另一个处理器内核是否使用该外设? 通常您只希望一个操作系统控制单个外设。 如果您希望 R5F 内核使用 MAIN_GPIO0、则 Linux 应该坚持使用 MAIN_GPIO1或 WKUP_GPIO0。

    潜在限制#2:您是否已将 MCU 域与系统的其余部分隔离? (通常用于安全/安防环境)。 如果是、则处理器无法跨越防火墙访问另一侧的外设。

    潜在限制#3:外设和处理器内核之间是否存在中断连接? 否则、基于中断的驱动程序将不起作用。 基于轮询的驱动程序仍然可以正常工作。

    关于潜在限制#3、我认为 AM65x 在外设和内核之间具有非常全面的中断连接、但我在几年前研究过此部件的中断。 最全面的检查方法是跟踪 AM65x 技术参考手册中的中断。

    此致、

    Nick

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

    您好、Nick。

    感谢您提出详细的问题、我将介绍您的分数(蓝色):

     

    处理器能够控制不同设备域中的外设。 我在 AM64x 方面更有经验、因此、我在此处提供的详细信息将根据我处理该部件的时间而定:

    这正是我想要更多信息的要点。 如何知道可从每个核心访问哪些域? 关于 GPIO、我在我的第一个帖子中提到了技术参考手册的第12.1.2.1节。 其中指示了每个内核的 GPIO、但正如我告诉过的、报告的信息似乎不正确、因为从 R5f 我可以到达手册中没有指示的 GPIO。

    潜在限制#1:另一个处理器内核是否使用该外设? 通常您只希望一个操作系统控制单个外设。 如果您希望 R5F 内核使用 MAIN_GPIO0、则 Linux 应该坚持使用 MAIN_GPIO1或 WKUP_GPIO0。

    我同意这一点、但我的问题仍然是相同的:如何知道 R5F 可以使用 MAIN_GPIO0?

    潜在限制#2:您是否已将 MCU 域与系统的其余部分隔离? (通常用于安全/安防环境)。 如果是、则处理器无法跨越防火墙访问另一侧的外设。

    如何从其他部分对核心进行防火墙保护? 我是否应实施任何特定电路或编程程序?

    关于 SDK、我在本线程中不需要对此提供任何支持。 我仅想澄清的是、为一个域声明的 GPIO 组已配置并在另一个域中正确使用。

    感谢您澄清了这一方面。

    Andrea

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

    安德烈、您好!

    似乎所有 GPIO 模块和 R5F 内核之间存在中断连接。 但是、我不会为您设置该中断路由提供指导。

    如何查看中断连接

    我检查了 TRM 的这部分是否有进入 R5F0内核的中断:
    Interrupts > Interrupt Sources > MCU_R5F_Core0 Interrupt Map

    有趣的中断输入包括来自以下其他中断路由器的中断:
    WKUP_GPIOMUX_INTx、MAIN2MCU_RTR_LVL_MUX_INTRx、MAIN2MCU_RTR_PLS_MUX_INTRx  

    唤醒 GPIO 通过 WKUP GPIO 中断路由器实现中断连接。

    我还看到"MAIN2MCU_PLS_INTRTR0中断映射"的 GPIOMUX_INTx 输入。 这意味着 GPIO0和 GPIO1也可以通过 GPIO 中断路由器> MAIN2MCU 脉冲中断路由器> R5F 进行中断连接。

    此致、

    Nick