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.

[参考译文] AM6422:如何将 main uart1用作 R5调试串行

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1506602/am6422-how-to-use-main-uart1-as-r5-debug-serial

器件型号:AM6422

工具/软件:

尊敬的 TI 专家:

以下是我的调试环境、

硬件:基于 AM6422的定制电路板

软件:A53运行基于 SDK 09.02的 RT Linux

        R5基于 MCU SDK 09.02运行 RTOS

降至最低 uboot2021 启动时、我可以在 MAIN UART1上获取 R5调试日志。

降至最低 uboot2023 启动时、我无法在 MAIN UART1上获取 R5调试日志。 但我确定 R5正在运行、因为我可以看到下的 R5调试日志 /sys/kernel/debug/remoteproc/remoteproc0/trace0

两个版本的 uboot 都在 DTS 中配置以下、

/* main_uart1 is reserved for firmware usage */
&main_uart1 {
	status = "reserved";
};

两个版本的 uboot 都禁用了 TISCI 调试跟踪。 In uboot2021 、禁用了不定义的 TISCI 跟踪调试 ENABLE_TRACE 指定 board-cfg.c 。 在 uboot2023中、禁用了中的 TISCI 跟踪 board-cfg.yaml 一方  TRACE_DST_ENABLE: 0x00

和 Linux 内核 dts、

&main_uart1 {
	status = "disabled";

	pinctrl-names = "default";
	pinctrl-0 = <&main_uart1_pins_default>;

	rs485-rts-active-low;
	rs485-rx-during-tx;
	rs485-rts-delay = <1 0>;
	linux,rs485-enabled-at-boot-time;
};

关于 MAIN UART1的 r5 .syscfg 类似于、μ s

我不知道为什么 uboot2021有效、但 uboot2023不起作用。 请帮助提供一些建议,谢谢!

BR

xixiguohx

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

    您好、

    如果问题更多地说明 UART1日志为什么没有出现在 COM 端口终端上、那么我建议您查看要使用的正确 UART。

    请参阅: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1276094/faq-sk-am62-purpose-of-different-uarts

    如果您提及的是正确的 COM 端口、那么我将让另一位专家研究这一点并作进一步评论。 我认为 MCU 和 SDK 部分看起来可以正常工作。

    请允许其他专家对此查询发表意见。

    感谢您的耐心。

    此致、

    Vaibhav

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

    尊敬的  Vaibhav:

    谢谢!

    因为我需要在 A53和 R5上进行调试、所以我保留 UART0用于 A53调试、并希望使用 UART1进行 R5调试。 我想我使用了正确的 UART、因为 它们可以与 uboot2021一起使用、我不知道为什么它不能在 uboot2023上使用。

    感谢其他专家的帮助,期待他们的答复。

    BR

    xixiguo

     

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

    尊敬的 Xixiguo:

    在 U-Boot 2021和 U-Boot 2023的两个用例中、确切的软件差异是什么? 只有3个 U-Boot 二进制文件不同、但会重置 Linux 和 RTOS 等软件 可引导 SD 卡 都是一样的吗?

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

    尊敬的 Bin:

    是的、只有3个 U-boot 二进制文件不同。 Linux 和 RTOS 二进制文件都相同、我使用断电来重新启动电路板。

    BR

    xixiguo

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

    嗨、xixiguo、

    我想不出有甚么原因会引起这个问题。 在这两种情况下、如果 UART1 TXD/RXD 引脚的 padconfig 寄存器仍然相同、您能否检查它们?

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

    尊敬的 Bin:

    在内核 dts 中、我们已禁用引脚模式配置、并禁用 MAIN_UART1、如 bellow、

        main_uart1_pins_default: main-uart1-pins-default {
    		pinctrl-single,pins = <
    			/* AM64X_IOPAD(0x024c, PIN_OUTPUT, 7) /* (E16) UART1_485_DIR GPIO1.59*/
                /* AM64X_IOPAD(0x0240, PIN_INPUT, 0)  /* (E15) UART1_RXD */
    			/* AM64X_IOPAD(0x0244, PIN_OUTPUT, 0) /* (E14) UART1_TXD */
                /* AM64X_IOPAD(0x017c, PIN_INPUT, 7)  /* (T1) UART1_485_Error GPIO1.7*/
    		>;
    	};
    	
    &main_uart1 {
    	status = "disabled";
    
    	pinctrl-names = "default";
    	pinctrl-0 = <&main_uart1_pins_default>;
    
    	rs485-rts-active-low;
    	rs485-rx-during-tx;
    	rs485-rts-delay = <1 0>;
    	linux,rs485-enabled-at-boot-time;
    };
    

    我认为 R5固件负责 example.syscfg 中配置的主要 UART1引脚、如 bellow、

    我认为是正确的、因为 uboot2021能够处理这些配置。

    我也很困惑。 我在系统启动后进行了检查、发现0xF4240和0xF4244的值为:

    root:~# devmem2 0xF4240
    /dev/mem opened.
    Memory mapped at address 0xffff8dc98000.
    Read at address  0x000F4240 (0xffff8dc98240): 0x00050000
    root:~# devmem2 0xF4244
    /dev/mem opened.
    Memory mapped at address 0xffff7f7a2000.
    Read at address  0x000F4244 (0xffff7f7a2244): 0x00010000

    使用 uboot2021或 uboot2023启动时、寄存器值与上述值相同。

    uboot2021和 uboot2023是否有任何不同之处 状态="保留" ?  

    BR

    xixiguo

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

    STATUS 属性的器件树处理始终是相同的。

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

    尊敬的 Bin:

    我很抱歉,由于五月天假期的晚答复。 我很确定这是 u-boot 的原因、但不知道 导致这种情况的确切位置。  

    BR

    xixiguo

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

    尊敬的 Xixiguo:

    别担心。 希望你有一个伟大的假期休息。

    理论上、只要 UART 已初始化并且引脚 padconfig 经过正确编程(电路板上应该有 devmem2输出)、任何内核的任何程序都可以将字符传输到 UART 端口。 我想不出不同的 U-Boot 会影响 MCU R5程序的原因。

    如有任何输入、请联系我们的 IPC 专家。

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

    您好、Xixiguo、

    如何初始化 R5F 内核? 是否在内核启动期间使用 Linux Remoteproc 驱动程序? 是否具有 u-boot rproc 驱动程序? 在 SBL 引导期间、如果您使用它而不是 SPL 引导?

    我能否让您发布工作用例和非工作用例中核心的跟踪日志? 如果这是一种资源冲突、即 Linux 或 uboot 在 R5F 可以请求所有权之前获取 UART1的所有权、我通常会看到 R5F 代码在 main.c 文件中的驱动程序初始化期间卡住。 因此、很容易将一堆打印语句放入 R5F 固件中、并查看 R5F 代码到达的距离。

    此致、

    Nick

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

    您好、Nick、

    内核启动期间、使用 Linux Remoteproc 驱动程序初始化 R5F 内核。

    当然,我已经通过私人消息向您发送了日志,谢谢!

    BR

    xixiguo

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

    您好、Xixiguo、

    好的、根据您的日志、似乎已加载 R5F RTOS 驱动程序、而不会出现任何资源冲突。 因此、它暂时看起来没有资源冲突。 我假设在 UART 终端上看到的输出与 Linux 跟踪日志相同。 这还表明、R5F 内核实际上已加载并运行、而不仅仅是 在某个地方停止运行。

    Bin 已验证引脚多路复用看起来可以正常工作。

    这些是我想检查的显而易见的事情...

    我接下来会遇到的是验证实际应用于电路板的器件树文件设置。 我知道 MCU+ R5F 会抱怨 Linux 是否已经获得了外设的所有权、但我不确定如果 Linux 驱动程序尝试获取已由 MCU+内核拥有的外设、Linux 会做什么。 如果您需要有关如何检查的指导、请告知我们。

    此致、

    Nick

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

    尊敬的 Xixiguo:

    我预计 Linux 不会成为问题、因为您说唯一的软件更改是 u-boot 二进制文件。 但无论如何、请将完整的 Linux 引导日志与 uboot2023附加在一起。

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

    尊敬的 Bin:

    我已通过私人消息将日志发送给您、谢谢!

    BR

    xixiguo

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

    尊敬的 Xixiguo:

    感谢您提供日志。 我没有看到任何明显的错误、这可能会导致这个主要的 uart1问题、但日志显示您使用 U-Boot 2023.10、这是 Processor SDK 不支持的版本。 您能否使用 SDK9.02中提供的 U-Boot 2023.04来查看问题是否仍然存在?

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

    尊敬的 Bin:

    我会尝试,但它将需要一段时间来做移植基于我们的板。 后来,当我完成它,我会让你知道这里,谢谢!

    BR

    xixiguo