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.

[参考译文] J7200XSOMXEVM:适用于 GNSS 数据的 J7200-EVM UART/LIN 多路复用器配置

Guru**** 2540720 points
Other Parts Discussed in Thread: J721EXCPXEVM

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1518364/j7200xsomxevm-j7200-evm-uart-lin-multiplexer-configuration-for-gnss-data

器件型号:J7200XSOMXEVM
主题中讨论的其他器件:DRA821J721EXCPXEVM

工具/软件:

尊敬的团队:

硬件设置
-**电路板**:具有 DRA821 SoC 的 J7200-EVM
-**操作系统**:Yocto 构建的 Linux 镜像(内核 6.1.80-ti-g2e423244f8c0)
-**目标**:为 GNSS 数据接收配置 UART0/UART1
-**多路复用器**:SN74CB3Q3257PWR (U41) 控制 UART/LIN 选择

目标-
我需要配置多路复用器、以便将信号路由到 UART(而不是 LIN)、从而从其中一个 UART 端口 (UART0 或 UART1) 接收 GNSS 数据。

当前状态 — 我取得的成绩

1.确定了多路复用器控制 GPIO
使用`gpioinfo`、我们发现控制线路:

gpiochip0 - 8 行:
         第 4 行:“UART/LIN_MUX_SEL"未“未使用的输入高电平有效
         第 6 行:“GPIO_LIN_EN"未“未使用的输入高电平有效


2.成功读取 GPIO 状态
Bash
#当前配置显示 UART 模式
Root@j7200-EVM:~# gpioget gpiochip0 4   # UART/LIN_MUX_SEL = 0(UART 模式)
0
Root@j7200-EVM:~# gpioget gpiochip0 6   # GPIO_LIN_EN = 0(LIN 禁用)
0


3.已确认可使用 libgpiod 工具
Bash
root@j7200-evm:~# which gpioget gpioset gpioinfo
/usr/bin/gpioget
/usr/bin/gpioset  
/usr/bin/gpioinfo


4.当前多路复用器状态
多路复用器似乎配置为** UART 模式**:
-`UART/LIN_MUX_SEL = 0`→信号路由到 UART
-`GPIO_LIN_EN = 0`→LIN 收发器已禁用

问答环节

GPIO 控制行为
当使用`gpioset gpiochip0 4=0 6=0`时、该命令执行没有错误、但`gpioinfo`仍会将这些行显示为“未使用的输入“。 这是预期行为、还是应该显示为“output [used]“?

2. UART 设备可用性
将多路复用器配置为 UART 模式后、UART0 和 UART1 的预期设备路径应该是什么? 它们是否应该显示为`/dev/ttyS0`和`/dev/ttyS1`或不同的器件节点?

3.设备树配置
我是否应该检查或修改任何设备树设置以确保 UART0 和 UART1 已正确启用? 当前引导参数显示:

console=ttyS2115200n8 earlycon=ns16550a、mmio32,0x02800000


4.持久 GPIO 配置
是否建议使用一种方法使 GPIO 多路复用器配置在重新启动后持续存在? 应该在器件树中还是通过用户空间脚本来处理该问题?

5、硬件验证
如何验证多路复用器实际上是否正确地切换信号? 对于 J7200-EVM UART/LIN 功能、是否有任何建议的测试程序?

##到目前为止我使用过的命令

Bash
#检查 GPIO 状态
gpioinfo gpiochip0
gpioget gpiochip0 4 6.

#为 UART 模式配置
gpioset gpiochip0 4=0 6=0

#配置 LIN 模式(如果需要)
gpioset gpiochip0 4=1 6=1

#检查可用的 UART 设备
ls -la /dev/ttyS


预期的后续步骤
1.确认 UART 设备可用且可访问
2.测试与 GNSS 模块的 UART 通信
3.验证通过多路复用器的信号路由
4.必要时实施持久配置

 请求指导
对于以下方面的任何见解、我将不胜感激:
- J7200-EVM 的正确 UART 器件配置
- TI EVM 上多路复用器控制的最佳实践
-需要修改设备树(如有)
-验证 UART/LIN 切换的测试程序

硬件详细信息:
- SoC:DRA821 (J7200)
-板:J7200-EVM
-多路复用器: SN74CB3Q3257PWR (U41)
- I2C GPIO 扩展器:I2C 总线 1 上的地址 0x21

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

    尊敬的 Sarthak:

    很抱歉、延迟的回复。

    在多路复用器配置为 UART 模式后、UART0 和 UART1 的预期设备路径应该是什么? 它们是否应该显示为`/dev/ttyS0`和`/dev/ttyS1`或不同的设备节点?

    只是为了确认、您指的是主 UART 0 和主 UART 1、对吧?

    此致

    Gokul

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

    是的、我指的是 MAIN_UART0 和 MAIN_UART1。

    此致、

    Sarthak

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

    尊敬的 Sarthak:

    2. UART 器件可用性
    将多路复用器配置为 UART 模式后、UART0 和 UART1 的预期设备路径应该是什么? 它们是否应该显示为`/dev/ttyS0`和`/dev/ttyS1`或不同的设备节点?

    预期的器件路径为:

    MAIN_UART0:/dev/ttyS2

    MAIN_UART1:/dev/ttyS3

    3. 器件树配置
    我是否应该检查或修改任何设备树设置以确保 UART0 和 UART1 已正确启用? 当前引导参数显示:

    console=ttyS2115200n8 earlycon=ns16550a、mmio32,0x02800000

    此引导参数表明 MAIN_UART0 用于打印控制台日志。由于 MAIN_UART0 用于控制台日志、因此必须使用 UART1 接收 GNSS 数据。

    1. GPIO 控制行为
    当使用`gpioset gpiochip0 4=0 6=0`时、该命令执行没有错误、但`gpioinfo`仍会将这些行显示为“未使用的输入“。 这是预期行为、还是应该显示为“output [used]“
    4。 持久 GPIO 配置
    是否建议使用一种方法使 GPIO 多路复用器配置在重新启动后持续存在? 应该在器件树中还是通过用户空间脚本来处理该问题?

    不建议使用 gpioget 和 GPIO 集、因为它似乎存在问题。我们通常会在器件树本身中进行更改以进行 GPIO 挂起。

    -**多路复用器**:SN74CB3Q3257PWR (U41) 控制 UART/LIN 选择
    [quote userid=“650950" url="“ url="~“~/support/processors-group/processors/f/processors-forum/1518364/j7200xsomxevm-j7200-evm-uart-lin-multiplexer-configuration-for-gnss-data。 硬件验证
    如何验证多路复用器实际上是否正确地切换信号? J7200 EVM UART/LIN 功能是否有任何建议的测试程序?

    由于您使用的是 J7200 EVM、因此默认情况下、我们不必对多路复用器进行任何更改、因为该多路复用器默认配置为 UART 模式。

    ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

    只需问几个问题、Sarthak。

    • 您是否进行了任何更改来启用 MAIN_UART1.MAIN_UART0、默认情况下在设备树中处于启用状态。
      • 如果是、您是否还可以提供为启用 MAIN_UART1 所做的设备树更改、以便我们可以对其进行验证。

    此致

    Gokul

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

    尊敬的 Gokul:

    感谢您回复详细答复。

    至于您的问题 — 是的,我对设备树文件进行了一些更改。  

    1. k3-j7200-main.dtsi — 我做了以下更改  

    在这两种情况下、我都将状态从“已禁用“更改为“正常“ MAIN_UART0 MAIN_UART1

    2. k3-j7200-common-proc-board-dts — 我做了以下更改。  

    我只在&MAIN_uart1 中添加了波特率、并添加了下一行 电流速度=<115200>;  因为我当时正尝试使用 UART。

    此致、

    Sarthak Sharma

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

    尊敬的 Sarthak:

    为了使主 UART 0 和主 UART 1 正常工作、这些更改应该没问题。

    此致

    Gokul

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

    尊敬的 Gokul:
    虽然这样可能 没问题、但我没有获得预期的输出、也就是说、数据不会从接收器转发到 UART1 或 UART0。  

    是否可以召开团队会议、以便我们能够更快地解决问题、或者您是否希望我提供更多信息?

    此致、

    Sarthak  

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

    尊敬的 Sarthak:

    MAIN_UART0 默认配置为控制台打印。因此、建议使用 UART1 端口发送数据。  

    只需问几个问题、Sarthak:

    • 您能为我们提供您所使用的 SDK 版本吗?
    • 您是否还能为我们提供详细的测试过程?
    • 只是为了确认、对 Linux 内核所做的唯一更改是您之前提到的设备树更改、对吧?

    此致

    Gokul

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

    尊敬的 Gokul:

    • 我将使用 ti-processor-sdk-linux-j7200-evm-10_00_07_03
    • 我对内核所做的唯一更改是在设备树中。
          

    以下是我遵循的步骤-  

    因此、硬件团队移除了 U161 IC、基本上绕过了连接到 U94 的 IC 和 USB 转 UART 转换器。 然后、我们将 U161 连接到引脚编号 4、5、6、7

    引脚 4-5 - UART1

    引脚 5-7 - UART2

    此致、

    Sarthak Sharma

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

    尊敬的 Sarthak:

    由于我不是建议此硬件更改是否有效的合适人员、我已请求相应的硬件专家查看此硬件更改。

    感谢您的耐心。

    此致

    Gokul

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

    尊敬的 Gokul:

    感谢您的快速答复。  
    如果您真的很感激、可以与硬件专家一起加快该流程。  

    此致、
    Sarthak Sharma

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

    尊敬的 Sarthak:

    没问题。

    此致

    Gokul

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

    是 — 硬件更改对于修改 UART 连接以连接其他外设而言应该是合适的。  确保处理器 TX 连接到外设 RX(处理器 RX 和外设 TX 类似)。  如果外设位于另一个板上 — 确保在板之间连接 GND(必须具有通用 GND)。

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

    您好 Robert:  

    感谢您的评分  

    只需问几个问题:  

    1.您能否确认 J7200-EVM 上的 UART1 和 UART2 RX/TX 线路(绕过 U161 之后)是否正确路由到 DRA821 引脚和 FT4232、而没有任何内部多路复用冲突或所需的引脚多路复用设置?

    2. 任何安全引导/ROM 代码限制能否阻止早期 UART 初始化、或导致 UART 数据线在引导后无响应?

    3. 是否需要在 Linux 设备树或内核配置中为 UART1/2 手动启用任何时钟或电源域?

    此致、
    Sarthak Sharma

    ========================================================================================================================================

    尊敬的团队:

    您好!

    我是 Umesh(项目经理),我正在帮助管理这个项目。

    感谢您提供的支持、这确实有助于我们向前迈进。但是、我们陷入了这一问题并试图解决。

    是否可以召开团队会议、以便我们可以加快同样的速度、请确认、基本上、此问题现在处于严重模式、客户要求优先解决同样的问题。

    希望你明白。

    谢谢、

    Umesh Garg.

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

    尊敬的 Sarthak:

    1. 您能否确认 J7200-EVM 上的 UART1 和 UART2 RX/TX 线路(绕过 U161 后)是否正确路由至 DRA821 引脚和 FT4232、而没有任何内部多路复用冲突或所需的引脚多路复用设置?

    您是否进行了任何其他硬件更改。 如果是,你也能提到这一点,以便我们可以审查它。

    您也可以根据 Robert 的建议确保这些措施。

    • 处理器 TX 连接到外设 RX(处理器 RX 和外设 TX 类似)。  
    • 如果外设位于另一个板上 — 确保在板之间连接 GND(必须具有通用 GND)。
    2.  任何安全启动/ROM 代码限制能否阻止早期 UART 初始化、或导致 UART 数据线在启动后无响应?

    否、主 UART 初始化/数据线将不受引导 ROM 的影响。

    3.  是否需要在 Linux 器件树或内核配置中为 UART1/2 手动启用任何时钟或电源域?

    器件树中已启用 UART1 时钟 。 此外、您不能使用主 UART 0、因为它已针对控制台打印和主 uart2 进行配置、因为它由 R5F 固件使用。

    您是否还能帮助我们完成测试的详细过程?

    您还能为我们提供所遵循的测试机制吗?

    此致

    Gokul

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

    我可以确认 EVM 上的 J7200 UART 没有问题。  请注意、J7200 EVM 是一个双板解决方案 — 处理器板+基板。  在处理器板上 — 可以重新映射与基板的 UART 连接。  UART1(基底)与处理器上的 UART1 相连、而 UART2(基底)与处理器上的 UART3 相连。

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

    您好 Robert:

    感谢您的答复。

    您能解释一下“可重新映射 UART 连接“的含义吗? 具体来说、如何验证处理器板上的哪个 UART 实例与基础板上的每个 UART 端口相对应?

    是否有概述此映射的文档或原理图、或者是否有任何推荐的确认方式(例如从器件树或板级配置文件中)?

    再次感谢您的帮助。

    此致、
    Sarthak

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

    尊敬的 Sarthak:

    是否有概述此映射的文档或原理图、或者是否有任何建议的确认方法(例如,从器件树或电路板文件中)?

    SOM 原理图中提供了重映射。 我将在下面附加相同的参考:

    请参阅  SOM 至 COMM PROC 主要 CONN #2 将以下文件作为标题:

    e2e.ti.com/.../SOM_5F00_SCH.pdf

    我还将在下面附加重映射的快照:

    CP 表示基板  

    • 因此,可以使用 UART 1 和 UART3。

    此致

    Gokul

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

    EVM 用户指南还包括多个表格和图表、这些表格和图表指示支持哪些 UART: LINK

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

    尊敬的 Robert 和 Gokul:

    我在处理多路复用问题时遇到了问题,因此我想解决这个问题 — 请在这方面提供帮助,以及这种方法是否可行。

    我当前设置的串行连接通过正常工作 J44 、我将用它进行初始通信。 但是、我计划将 J44 专门用于 A GNSS 模块 接收 NMEA 数据。 对于一般系统调试、我最好使用 J43

    我的当前问题: 我无法通过获得可靠的串行控制台连接 J43 。 将 USB 电缆连接到 J43 时、我看到 主机、 无法访问电路板。

    我建议的方法:

    1. 让 J43 可靠地作为主要调试/控制台 UART 运行。 这将为监视引导过程和与 Linux 提示符交互提供一致的界面。
    2. 将 J44 专用于 GNSS 模块。 一旦 J43 稳定、我就可以专注于配置路由到 J44 的特定 DRA821 UART 实例、以便与我的 GNSS 传感器进行通信。

    我向团队提出的问题:

    1. UART 映射确认: 对于带有 DRA821 的 J721EXCPXEVM、请确认一下 哪些内部 DRA821 UART 实例通过分别连接到 J43 和 J44 的 FTDI 电桥暴露? (J43 通常与或关联、J44 与另一个实例(如或)关联吗?) main_uart0wkup_uart0main_uart1main_uart2
    2. 故障排除 J43: 根据我的描述、您是否对为什么我无法在 J43 上获得控制台输出立即有任何建议? (我已经检查了串行终端设置 (115200 8N1),尝试了不同的电缆,并确认了电路板电源)。  我是否需要执行任何特定操作来在 J43 上启用控制台输出?
    3. J44 上全球导航卫星系统的最佳做法: 假设 J43 工作正常、建议在通过 J44 连接时、GNSS 模块使用的内部 DRA821 UART 实例是什么? 对于此特定 UART、为了支持 GNSS 外设、对于器件树配置(例如引脚多路复用设置,驱动程序关联)是否有任何具体的注意事项? 强烈建议使用任何用于为 GNSS 等定制外设配置 UART 的现有示例或片段。

    我的目标是为调试和外设集成建立清晰稳定的设置。  

    此致、
    Sarthak

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

    另外 — 此解决方法的后续问题:  

    • 将 micro-USB 转 UART 电缆连接到时的总线电压 J44 、我在 PC 上看到 4 个 COM 端口 (COM5–8)、和 COM5 提供通过串行访问 Linux 控制台的功能。

    • 但是、当我连接到时 J43 我只看了 COM17 和 COM18 、和 两者均不提供任何串行输出

    问题:

    1. J43 是否完全支持 UART 串行通信?

    2. 是否需要更改任何多路复用器/GPIO/器件树才能启用它?


    此致、

    Sarthak Sharma

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

    尊敬的 Sarthak:

    以下常见问题解答将调试日志路由到 J43 端口 MCU UART(即:COM18)。 您可以尝试执行以下步骤吗?

     e2e.ti.com/.../faq-tda4vm-j721e-j7200-how-to-switch-console-to-a-different-uart-instance

    此致

    Gokul

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

    J43 连接到 FT2232HL 器件 — 该器件仅支持两 (2) 个 COM 端口。  J44 连接到 FT4232HL — 支持四 (4) 个 COM 端口。  EVM 用户指南对此进行了说明、之前可以参考。  以下是这些接口上可用的处理器 UART:

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

    尊敬的 Gokul:

    请说明以下几点:

    1. 如何将 UART 信号路由到 J43 和 J44? 具体来说、哪些因素决定了将哪些 UART 实例(例如 WKUP_UART0、MCU_UART0 等)分配给这些连接器?

    2. J43 和 J44 是否在硬件中进行多路复用? 例如、它们是使用多路复用器在不同的 UART 信号之间切换、还是 UART 分配是固定的?

    3. 如果涉及多路复用、它是通过器件树中的引脚多路复用设置(例如 k3-j7200-common-proc-board.dts)进行配置还是由硬件设置控制?

    4. 在 J7200 EVM 文档中、指示 J44 支持四个 UART、而 J43 支持两个 UART。 您能解释一下 UART 信号是如何分配给这些连接器吗? 具体来说、J43 和 J44 是否在硬件中进行多路复用、以便在不同的 UART 实例(例如 WKUP_UART0、MCU_UART0)之间切换、或者它们的 UART 分配是否固定?


    此致、
    Sarthak  

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

    尊敬的 Sarthak:

    UART 分配是固定的。

    此致

    Gokul

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

    尊敬的 Gokul:

    您能否告诉我 — 如果我的解决方法是从 GPS 天线获取数据、GPS 天线连接到 Skytraq EVB、EVB 通过 Rx 和 TX 连接到电路板上的其中一个 UART。  

    我正在进行一个设置、其中 SkyTraq EVB(带有 GPS 天线)通过 UART (RX/TX) 连接到 TI 板。 我的目标是对该板进行配置、使我可以使用 J43 端口进行调试和串行访问、同时使用 J44 端口(其 UART 已正常工作)通过 RX/TX 连接到 GNSS 接收器。

    我建议的解决方法如下:

    1. 启用 TI 电路板上的 J43 端口以进行调试和串行控制台访问。
    2. 使用 J44 端口的 UART 与 SkyTraq EVB 连接以进行 GNSS 数据通信。

    我想确认这是否可行。 具体来说:

    • 将 J44 用于 GNSS 通信时、启用 J43 进行调试时、是否存在任何潜在冲突或限制?
    • 我是否应该考虑一些特定的配置(例如引脚多路复用,UART 设置)以确保正常运行?
    • 是否有建议的设置用于从 SkyTraq EVB 通过 J44 的 UART 路由 GNSS 数据?

    我只是想澄清一下、我在这里到底想做什么、因为在之前的尝试中、我尝试将电路板连接到 UART1 或 UART3、但我无法接收数据。

    此致、

    Sarthak

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

    尊敬的 Sarthak:

    在使用 J44 进行 GNSS 通信时启用 J43 进行调试时是否存在任何潜在冲突或限制?

    两者相互排斥、因此不应相互影响。

    为了确保正常运行、我是否应该考虑特定的配置(例如引脚多路复用,UART 设置)?

    以下常见问题解答将调试日志路由到 J43 端口 MCU UART。 您可以尝试执行以下步骤吗?

     e2e.ti.com/.../faq-tda4vm-j721e-j7200-how-to-switch-console-to-a-different-uart-instance

    是否有建议的设置用于通过 J44 的 UART 从 SkyTraq EVB 路由 GNSS 数据?

    因为这是一个自定义的体系结构,这将是很难评论的.

    此致

    Gokul

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

    尊敬的 Gokul:

    运行命令时得到的内容中的以下内容 — dmesg | grep tty

    root@j7200-evm:~# dmesg | grep tty
    [ 0.000000]内核命令行:console=ttyS2115200n8 earlycon=ns16550a、mmio32、0x02800000 root=PARTUID=164f123c-02 rw rootfsttype=ext4 Rootwait
    [ 1.082111]在 MMIO 0x40a00000 (IRQ = 251、base_baud = 60000) 处的 40a00000.serial: ttyS1 是 8250
    [ 1.091594] 2800000.serial:位于 MMIO 0x2800000 (IRQ = 252、base_baud = 3000000) 的 ttyS2 是 8250
    [1.100445] printk: console [ttyS2] enabled
    [ 1.119307] 2810000.serial: ttyS3 (MMIO 0x2810000 (IRQ = 253、base_baud = 3000000) 是 8250
    [ 2.964567] systemd[1]:创建 Slice Slice /system/getty.
    [ 3.010059] systemd[1]:创建切片/system/serial-getty.
    [7.810566] audit: type=1006 audit(1750395121.519:8):pid=558 uid=0 old-auid=4294967295 auid=1000 tty=(无)old-ses=4294967295 ses=1 res=1
    [7.834429]审计:type=1300 审计 (1750395121.519:8):arch=c00000b7 syscall=64 成功=yes exit=4 a0=8 a1=ffffcf965fe8 a2=4 a3=ffffff9196f020 items=0 ppid=1 pid=auid=1000 uid=0 gid=0 fsid=0 /lib/systemd/systemd
    [8.303481]审计:type=1006 审计 (1750395122.011:9):pid=526 uid=0 old-auid=4294967295 auid=1000 tty=tty7 old-ses=4294967295 ses=2 res=1
    [8.318571]审计:type=1300 审计 (1750395122.011:9):arch=c00000b7 syscall=64 成功=yes exit=4 a0=8 a1=ffffcf965fe8 a2=4 a3=ffffff9196f020 items=0 ppid=1 pid=526 auid=1000 uid=0 gid=0 fsid=0“fsid=0"fsid=0 /lib/systemd/systemd“ /lib/systemd/systemd
    [31.856549]审计:type=1006 审计 (1750395145.563:10):PID=1317 uid=0 old-auid=4294967295 auid=0 tty=(无)old-ses=4294967295 ses=3 res=1
    [31.869545]审计:type=1300 审计 (1750395145.563:10):arch=c00000b7 syscall=0 成功=yes exit=1 a1=8 a1=ffffcf965fe8 a2=1 a3=ffffff9196f020 items=0 ppid=1 pid=1317 auid=0 gid=0 gid=0 fsid=0 /lib/systemd/systemd
    [31.911261]审计:type=1300 审计 (1750395145.579:11):arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffde3669a2=78 a3=0 items=0 ppid=1 pid=1317 auid=0 uid=0 gid=0 gid=0 euid=0 suid=0 fsid=0 fsid=0 /lib/systemd/systemd
    [31.958729]审计:type=1300 审计 (1750395145.603:13):arch=c00000b7 syscall=280 success=yes exit=8 a0=5 a1=ffffde366a40 a2=78 a3=0 items=0 ppid=1 pid=1317 auid=0 uid=0 gid=0 gid=0 /lib/systemd/systemd


    我已将 GNSS 板连接到 s1、s2 和 s3、但仍然无法从接收任何数据。 不同的架构还是不同的架构 — 如果我连接到其中一个 UART、我应该能够接收一些数据?

    此致、
    Sarthak

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

    尊敬的 Gokul:

    这个问题已持续了一段时间、我不能再强调我们迅速解决这个问题的重要性。 通过聊天来回转换变得非常耗时且效率低下。

    我认为召开团队会议将会非常有帮助。 我可以实时向您介绍我遇到的具体问题、这将大大加快故障排除过程。

    鉴于此事的紧迫性、我恳请我们尽早安排一个团队开会以解决此问题。

    期待您的答复。

    此致、
    Sarthak

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

    尊敬的 Sarthak:

    在安排团队会议之前、我想问一些问题:

    • [0.000000]内核命令行:console=ttyS2115200n8 earlycon=ns16550a,mmio32,0x02800000 root=PARTUUID=164f123c-02 rw rootfstype=ext4 rootwait
    您是否已应用了我提供的调试日志的补丁 J43 端口 MCU UART、 因为根据您提供的日志、您尚未应用它。

因此、在安排会议之前、我首先强烈推荐并感谢应用此补丁并分享结果。

此致

Gokul

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

    尊敬的 Gokul:

    我在这里回复、因为我无法直接回复您的最后一封邮件。

    我按照建议从以下帖子中应用了补丁:
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/988278/faq-tda4vm-j721e-j7200-how-to-switch-console-to-a-different-uart-instance

    更新后k3-j7200-common-proc-board.dts,重新编译 dtb ,并将其复制到 SD 卡上的引导目录,我在 U-Boot 中使用了以下命令:

    1. load mmc 1:1 ${loadaddr} Image

    2. load mmc 1:1 ${fdt_addr} k3-j7200-common-proc-board.dtb

    3. setenv bootargs console=ttyS5,115200n8 earlycon=ns16550a,mmio32,0x02820000 root=/dev/mmcblk1p2 rw rootwait

    4. booti ${loadaddr} - ${fdt_addr}

    电路板成功引导后、我仍然无法访问 UART3。 尽管发生了更改、但控制台输出将继续显示、ttyS2, 115200n8而不是预期的ttyS5

    考虑到我们为解决此问题花费的时间、是否可以安排团队会议以更有效地解决此问题? 我今天在获得 下午 2:00 或下午 3:00 IST 、并希望有机会直接与您的团队讨论此问题。

    期待您的确认。

    此致、
    Sarthak

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

    尊敬的 Sarthak:

    我仍然怀疑您的补丁没有正确应用。

    您能否确保已完成常见问题解答中提到的以下步骤:

    • 进行常见问题解答中所述的 u-boot 更改。
    • 进行常见问题解答中所述的 ATF/OPTEE 更改。
    • 将编译的 ATF/OPTEE 复制到预编译的映像。
    • 使用 make u-boot 命令重新编译 u-boot。
    • 将 tiboot3.bin、tispl.bin 和 u-boot.img 从 uboot 的构建目录重新编译到 SD 卡的启动目录。
    • 进行 Linux 内核 dts 更改、重新编译并将其复制到 /boot/dtb/ti 目录  

    另外、您是否能够提供您逐步输入的命令、以便我们可以确认您正确地应用了修补程序。

    完成所有这些操作后、请在 u-boot 中提供“printenv"命令“命令的输出、以便我们可以确认补丁已正确应用。

    如果没有正确应用修补程序、则没有必要召开会议。

    此致

    Gokul

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

    另外、我们首先来解决这个问题、将控制台日志更改为 MCU UART。 正常运行后、我们将转到启用 MAIN_UART3。

    此致

    Gokul

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

    你好、高库尔-  

    以下是我们应用补丁所遵循的步骤:

    1.转到 SDK 中的 main 目录并在 ATF 和 ti-u-boot 目录中进行更改-  

    /home/ik/ti-processor-sdk-linux-j7200-evm-10_00_07_03/board-support/trusted-firmware-a-2.10 + git/plat/ti/k3/include/platform_def.h
    2.更新平台配置

    在`platform_def.h`中、进行以下修改以更新 UART 基础和时钟速度:

    #original:

    #define K3_USART_BASE 0x02800000
    #define K3_USART_CLK_SPEED 48000000
    ```μ s

     修改日期:
    #define K3_USART_BASE 0x40a00000
    #define K3_USART_CLK_SPEED 96000000
    这些更改将固件指向正确的 UART 控制器地址、并对其进行配置以获得更快的波特率。

     3、构建可信固件 A (TF-A)

    `mTF-A 目录中的以下` ake `命令构建` bl31.bin :

    make cross_compile=aarch64-linux-gnu- arch=aarch64 PLAT=k3 target_Board=generic spd=opteed

     4.构建 U-Boot

    运行 make u-boot 后、我们会得到以下两个文件:  

    -`u-boot.img`
    -`tispl.bin`

    然后将这些文件复制到 SD 卡的引导分区中。

    以下图像是您询问的控制台输出-  

     ===================================

    尊敬的团队:
    这是 Umesh 并帮助管理项目。(马欣达防御)
    请您注意、我们正在开展一个与政府项目相关的项目。

    由于这个问题,我们完全卡住,无法进一步,这是完全阻断我们,政府每天都要求解决。

    因此、提出申请、我们是否可以安排团队会议来讨论有助于我们的同一问题、因为我们已经应用了 TI 团队建议的“补丁“。

    希望您了解情况、我们可以 按照您之前的建议、在明天上午或下午开会。

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

    尊敬的 Sarthak:

    • 您能否提及您所做的 u-boot 更改以确认它们与常见问题解答中的 u-boot 更改相匹配。
    • 此外、您还必须在 Linux 内核中以及常见问题解答中进行更改。
    • 请提供的输出 'printenv'命令 指定 u-boot 命令行(不是内核命令行) 之后 在 uboot 中停止 这样我们就可以确认补丁已正确应用。

    此致

    Gokul

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

    尊敬的 Sarthak:

    从您共享的输出中、我为为串行控制台日志启用 MCU UART 而编写的补丁未正确应用。

    ----------------------------------------------------------------------------------------

    您的输出 : args_all=setenv optargs earlycon=ns16550a,mmio32,0x02800000 ${mtdparts}

    预期输出 : args_all=setenv optargs earlycon=ns16550a,mmio320x40a00000  

    ----------------------------------------------------------------------------------------

    您的输出 :   “console=ttyS2115200n8“

    预期输出 :   “console=ttyS1115200n8“

    ----------------------------------------------------------------------------------------

    请确保  正确应用常见问题解答[e2e.ti.com/.../faq-tda4vm-j721e-j7200-how-to-switch-console-to-a-different-uart-instance]中提供的补丁。

    此致

    Gokul

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

    只需在此处更新另一个 E2E 中的对话:

    FAQ: TDA4VM / J721E / J7200 - How to switch console to a different UART instance
    
    However, that post is a bit dated, and I'm using the following SDK version:
    
    PROCESSOR-SDK-LINUX-J7200 — 10.00.07.03
    
    It looks like some of the files mentioned in the original instructions have been moved or restructured in this SDK release. Could you please provide updated guidance or suggestions on how to apply the patch and switch the UART console with this newer SDK?

    此致

    Gokul

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

    尊敬的 Sarthak:

    我会看看这些变化,然后回到你的身边。

    此致

    Gokul

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

    尊敬的 Sarthak:

    e2e.ti.com/.../uboot_5F00_mcuuartenbl.patch

    • 按照上面的补丁中所述进行 u-boot 更改。
    • 进行常见问题解答中所述的 ATF/OPTEE 更改。
    • 将编译的 ATF/OPTEE 复制到预编译的映像。
    • 使用 make u-boot 命令重新编译 u-boot。
    • 将 tiboot3.bin、tispl.bin 和 u-boot.img 从 uboot 的构建目录重新编译到 SD 卡的启动目录。
    • 进行 Linux 内核 dts 更改、重新编译并将其复制到 /boot/dtb/ti 目录  

    完成所有这些操作后、连接到 MCU UART(连接到 J43 端口时显示的 2 个实例中的第二个实例、并检查是否出现日志。

    另外、请分享您所遵循的详细步骤、以便我可以交叉验证补丁是否已正确应用。

    此致

    Gokul