主题:SysConfig 中讨论的其他器件
工具/软件:
我´m 处理一些 GPIO´s 在 Linux 器件树 (A53) 中对它们进行配置、我想知道是否可以更改配置并在 R5F 内核上处理 ISR、或者我需要处理器件树和 A53 内核中的所有内容。
我在以下文档中找到此信息:

如果我在器件树中定义外设并尝试在引导后从 R5F 获取控制权、会发生什么?
此外、CAN 0 连接到两个内核 A53 和 R5F、工作原理是什么、可以在两个内核中完成句柄/管理、两个内核上都接收到 CAN 消息?
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.
工具/软件:
我´m 处理一些 GPIO´s 在 Linux 器件树 (A53) 中对它们进行配置、我想知道是否可以更改配置并在 R5F 内核上处理 ISR、或者我需要处理器件树和 A53 内核中的所有内容。
我在以下文档中找到此信息:

如果我在器件树中定义外设并尝试在引导后从 R5F 获取控制权、会发生什么?
此外、CAN 0 连接到两个内核 A53 和 R5F、工作原理是什么、可以在两个内核中完成句柄/管理、两个内核上都接收到 CAN 消息?
您好、Edgar、
我是 AM62Px 多核 Academy 模块的作者。 很高兴您已经找到该文档。 如需未来的读者、请首先点击此处阅读有关多核系统中外设分配的基础知识: https://dev.ti.com/tirex/explore/node?node=A__AcGdexDmDxV8k7XSDZd.4w__AM62P-ACADEMY__fp5YxRM__LATEST
让我们从 CAN 开始
根据上述文档、CAN 仅设计为由单个软件实例控制。
因此、您可以从 A53 内核控制 CAN0 并从 R5F 角度将其禁用、也可以从 R5F 控制 CAN0 并在 Linux 器件树中将其禁用。
GPIO 呢? 简单的答案
TI 不支持 Linux 和 MCU+ SDK 与同一 GPIO 模块进行交互。 您可能能够使其正常工作、但我们尚未对此用例进行测试或验证。
答案越长
下面是我为该页面计划的一些未来文档更改的初稿:
1.通常外设和外设接口仅由一个软件实例控制它们。 Linux 和 MCU+内核都是如此(例如,I2C0 不能同时由 DM R5F 和 MCU 域 R5F 控制)。
2. 1 的例外情况是 DDR 接口、显示接口(仅限 AM62Px)和 GPIO 模块(其中单个 GPIO 组的中断仍只能路由到单个软件实例)。 GPIO 共享仅使用 MCU+内核进行测试、未经 Linux 和非 Linux 的测试或验证。 有关 MCU+内核之间 GPIO 共享的更多信息、请参阅 【常见问题解答】AM64X/AM62X:如何将同一 GPIO 组中断路由到不同的目标内核?
3. Linux 请求电源域的独占所有权? (PD? 目前不清楚这与请求外设本身有何不同)、而 MCU+内核则没有。 这意味着、如果 Linux 和 MCU+内核之间存在资源冲突、请求外设所有权的第二个内核将引发错误(案例 1:Linux 首先请求并设置独占访问)。 以下 MCU+ SDK 请求被拒绝。 案例 2:MCU+内核首先请求并设置非独占访问。 由于已设置非独占访问、因此将拒绝 Linux 独占访问后续请求)
4.如果 MCU+内核之间发生资源冲突、MCU+内核不会引发错误(因为每个 MCU+内核都会请求非独占访问)。 因此、它们理论上可以覆盖彼此的寄存器设置。 客户应在软件设计阶段静态分配外设以避免冲突。 对于在 SysConfig 中具有系统工程的处理器 (AM243x 和 AM64x)、系统工程将向用户发出任何冲突警告。 但是、目前没有任何工具可用于检查 AM62 系列器件中的资源冲突。
那么在实践中、这意味着什么呢?
您仍然希望仅在 Linux 或 MCU+内核上启用 GPIO 模块(并执行关联的 GPIO 引脚多路复用)。 因为如果在这两个位置都启用了相同的 GPIO 模块、那么第二个请求 GPIO 模块所有权的软件实例将引发错误。
在单个软件实例初始化 GPIO 模块后、您可以配置中断路由、以便其他软件实例可以从 GPIO 模块接收中断并根据需要采取措施。 我们在这里能够提供的支持会受到限制、因为我们实际上并未尝试在 Linux 和 MCU+内核之间提供该支持。
此致、
Nick