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.

[参考译文] J722SXH01EVM:如何从扩展接头引脚定义访问 UART [J28]

Guru**** 2406500 points
Other Parts Discussed in Thread: SYSCONFIG, AM67A, AM67

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1482015/j722sxh01evm-how-to-access-uart-from-expansion-header-pin-definition-j28

器件型号:J722SXH01EVM
主题中讨论的其他器件:AM67AAM67、SysConfig、 PROCESSOR-SDK-J722S

工具与软件:

尊敬的先生/女士  

我需要使用  来自 扩展接头的 UART 引脚定义[J28]  有 Tx (8 NO 引脚)和 Rx (10引脚 NO)   

但  在 /dev/目录 中没有与此 UART 相关的设备接口   

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

    尊敬的 Anurag:

    我已经为您的线程分配了能够为您的问题提供帮助的 Linux 专家。 感谢您的耐心。

    谢谢!

    Neehar

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

    当 Linux 专家将在这里作出回应时, 请要求他快速做  

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

    尊敬的 Anurag:

    我们将为一位工程师分配该线程、他对 Linux UART 接口进行了大量的交易、但由于他处于不同的时区、因此我将使用一些一般性的方向进行回复。  

    对于 SK 板、大多数引脚配置为 GPIO、而不是 UART 等特定接口。 本文档可参考: https://software-dl.ti.com/jacinto7/esd/processor-sdk-linux-am67a/10_01_00/exports/edgeai-docs/devices/AM67A/linux/pi_hdr_programming.html

    您需要将 devicetree 修改为适用于 UART 的 Pinmux、并在 UART devicetree 节点中使用它们。 例如、AM67A/J722S 具有一些  适用于 PWM 的 devicetre 覆盖层: https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-j722s-evm-pwm.dtso?h=ti-linux-6.6.y。 将需要对 devicetree 进行类似的更改、但对于 UART、也会如此。

    此致、

    Takuma

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

    感谢 Takuma'

    但我有一些 疑问  

    1) 板是 J722SXH01EVM,它 可能有这些 soc am67,am67a 和 j722中的任何一个  ,和 j722也有自己的 SDK,所以为什么你建议 am67,也 am67只有 edgeai SDK

    2) 2)  我没有得到任何数据表 、如下面板上给出的名称图像:、您会告诉我此 soc 的实际数据表吗

    3)通常像 UART 编程 或访问 UART 端口将由 /dev/ttySx 完成   ,但当我去为/dev.ttyS1-12提供输入输出错误只有/dev/ttyS2将工作,但已绑定到内核 shell 日志  ,扩展头 UART 是不可访问的  

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

    尊敬的 Anurag:

    1) 电路板是 J722SXH01EVM  、它可能具有 soc Am67、am67a 和 j722中的任何一个 、j722也有自己的 SDK、所以为什么要建议 am67、而且 am67只有 edgeai SDK

    是的、电路板名称是 J722SXH01EVM、 此板是 "TDA4VEN、TDA4AEN 和 AM67评估模块"。 这些 SoC 非常相似、只是略有不同、因此可共享评估板和 SDK。 这就是我建议 edgeai SDK 的原因、也因为 edgeai SDK 中的这个文档对40引脚 GPIO 标头最具描述性。

    [报价 userid="640822" url="~/support/processors-group/processors/f/processors-forum/1482015/j722sxh01evm-how-to-access-uart-from-expansion-header-pin-definition-j28/5691722 #5691722"]

    2) 2)  我没有得到任何数据表 、如下面板上给出的名称图像:、您会告诉我此 soc 的实际数据表吗

    [报价]

    查看 AM67或 TDA4AEN/TDA4VEN 数据表。 例如、 https://www.ti.com/product/AM67 具有 AM67的数据表。 TRM 在 AM67/TDA4AEN/TDA4VEN/J722S 之间共享。 出于引脚多路复用的目的、您可以参考数据表和/或使用在线 SysConfig 工具。

    3)通常类似 UART 编程 或访问 UART 端口将由 /dev/ttySx 完成   ,但当我去/dev.ttyS1-12提供输入输出错误时  ,只有/dev/ttyS2工作,但已经绑定到内核 shell 日志,扩展标头 UART 不可访问 

    这是预期行为。  未在 电路板 devicetre 中定义 GPIO 接头使用的 MAIN_uart1:

    https://git.ti.com/cgit/ti-linux-kernel/ti-linux-kernel/tree/arch/arm64/boot/dts/ti/k3-j722s-evm.dts?h=ti-linux-6.6.y 

    正如您所体验的、它仅定义用于通过 micro-USB 端口获取终端日志的 UART 实例。

    可能我的同事收到此主题的通知、可能有重叠。 如果不是、如果您需要 devicetree 方面的帮助、我们可以指导您。

    此致、

    Takuma

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

    你好、Takuma、

    感谢您的支持。

    此致

    Gokul

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

    尊敬的 Anurag:

    通常类似 UART 编程 或访问 UART 端口将由 /dev/ttySx 完成   ,但当我去/dev.ttyS1-12提供输入输出错误时  ,只有/dev/ttyS2可以工作,但已经绑定到内核 shell 日志,扩展标头 UART 不可访问 

    正如 Takuma 所说、在 J721S2的默认器件树中、MAIN UART 1未启用。

    因此、要启用它、可以使用在线 SysConfig 工具、并根据启用 MAIN UART 1。

    您没有看到/dev/ttyS2出现任何错误的原因还在于、在设备树中、SERIAL2 (ttyS2)根据上图映射到 MAIN_UART0。

    其次、ttyS1 发出 I/O 错误、因为它没有根据上面的设备树映像映射到任何 UART。

    此致

    Gokul

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

    谢谢 GOKUL , 1)但我如何启用它,请您提供建议

    2) 2)什么是 在线 SysConfig 工具 ?  

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

    尊敬的 Anurag:

    您能帮助我们解决这个用例吗,比如您想让它用在 Linux 内核还是其他任何地方吗?

    在 ti-processor-sdk-linux-adas-j722s-evm-10_00_00_08 SDK 中添加以下补丁会很有帮助。

    e2e.ti.com/.../1830.enable_5F00_main_5F00_uart1.patch

    • 完成该操作后、重新编译器件树并将 dtb 复制到 rootfs 的/boot 文件夹  出现在引导设备的 EXT4分区中。

    此致

    Gokul

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

    尊敬的 Anurag:

    添加 Gokul 共享的补丁应启用 MAIN_UART1。 让我们知道情况如何。

    为了完整起见和未来参考...

    什么是 在线 SysConfig 工具 ?

    这是在线 SysConfig 工具: https://www.ti.com/tool/SYSCONFIG

    SysConfig 可以在诸如"J722S_IOPAD (0x01e8、PIN_INPUT、1)/*(C24) I2C1_SCL.UART1_RXD */"等文件中生成相关行、这些文件是引脚多路复用。 可以在 此处的数据表表表5-1中控制 padconfig 寄存器: https://www.ti.com/lit/ds/symlink/am67.pdf?ts = 1741192536520&ref_url=https%253A%252F%252Fwww.ti.com%252Fproduct%252FAM67 

    此致、

    Takuma

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

    你(们)好 Takuma  和 Gokul Praveen  很抱歉耽误你的时间  

    1)我没有得到,什么是唤醒,主, MCU 模式  

    2)拍卖我看到总共9 UART ( 1是 MCU , 7是 MAIN , 1是 WAKEUP ) , 所以我怎么能在我的编程中使用7 UART  

    3) 3) 如何将 SysConfig 文件用于 TI SDK、以及如何对其进行配置并进行编译  

    4)如何启用此扩展接头  

    5)如何将任意( 1830.enable_main_uart1.patch)补丁文件添加到 ti sdk、然后如何编译

    6) 1 Yocto 文件夹存在于 ti sdk main 文件夹中,要么  是需要 Yocto 文件夹,要么我们直接通过 mani ti sdk 文件夹编译,如- make linux , make uboot 等   

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

    尊敬的 Anurag:

    我已通知专家有关您的问题。感谢您的耐心。

    此致

    Gokul

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

    尊敬的 Anurag:

    1)我没有得到,什么是唤醒,主, MCU 模式 

    该器件具有三个域、它们具有自己的外设和内核子集。 这些域允许器件具有不同的运行模式;值得注意的是、MCU 域用于安全关键型通信。 有关更多信息、请参阅 器件 TRM 中的第1.4、1.5和1.6章。 第1.2章有一个模块列表。

    [报价 userid="640822" url="~/support/processors-group/processors/f/processors-forum/1482015/j722sxh01evm-how-to-access-uart-from-expansion-header-pin-definition-j28/5717201 #5717201"]

    2)拍卖我看到总共9 UART ( 1是 MCU , 7是 MAIN , 1是 WAKEUP ) , 所以我怎么能在我的编程中使用7 UART  

    3) 3) 如何将 SysConfig 文件用于 TI SDK、以及如何对其进行配置并进行编译  

    [报价]

    7个 UART 可以使用 在线 SysConfig Pinmux 工具进行配置。 输出之一是 dtsi、器件树文件、该文件可以复制到 J722S 器件树或合并到 J722S 器件树中。 一些资源。

    4)如何启用此选项来扩展标头 

    我不清楚这个问题。 只要该引脚在 SoC 上配置、就应该可用于扩展接头。

    5)如何将任何( 1830.enable_main_uart1.patch)补丁文件添加到 ti sdk 中、然后如何编译

    "git apply"命令可用于相应目录中的此补丁文件。

    6) 1 Yocto 文件夹存在于 ti sdk 主文件夹中、要么  是需要 Yocto 文件夹、要么是我们直接通过 mani sdk 文件夹编译、如- make linux、make uboot etc  

    我不熟悉 Yocto 构建、但在之前提供的资源中、有一个关于使用 Yocto 构建 SDK 的教程