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.

[参考译文] AM62A7-Q1:AM62A7-Q1:使用 WKUP_UART0 作为主 UART0

Guru**** 2796145 points

Other Parts Discussed in Thread: SYSCONFIG, AM62A7

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1615282/am62a7-q1-am62a7-q1-using-wkup-uart0-as-main-uart0

器件型号: AM62A7-Q1
主题中讨论的其他器件: SysConfigAM62A7

您好、问题已被锁定。
https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1601185/am62a7-q1-am62a7-q1-using-wkup-uart0-as-main-uart0

我想使用 WKUP_UART0 作为 main-UART0 来在客户电路板的 k3-am62a7-sk.dts 中输出 Linux 日志、并且 Linux 正常运行、现在我想将 WKUP_UART0 更改为 main-UART0 以输出 Linux。

我在 uboot 中进行此更改、但不起作用、无输出

1.change dts:SERIAL2 =&wkup_uart0;
2.change am62ax.env UART 地址: 0x2b300000(k3-am62a-wakeup.dtsi 中的 wkup_uart0 地址)

3.dev-data.c:加 114

 

我尝试了提供的一些建议、但是 wakeup0 仍然没有输出任何内容 .(如果使用 main0 产生输出,则证明下载链接工作正常。

那么、是否需要进行任何其他更改?

diff --git a/uboot/arch/arm/mach-k3/r5/am62ax/dev-data.c b/uboot/arch/arm/mach-k3/r5/am62ax/dev-data.c
index 6cced9efd..c11a4b272 100644
--- a/uboot/arch/arm/mach-k3/r5/am62ax/dev-data.c
+++ b/uboot/arch/arm/mach-k3/r5/am62ax/dev-data.c
@@ -54,7 +54,7 @@ static struct ti_dev soc_dev_list[] = {
        PSC_DEV(75, &soc_lpsc_list[7]),
        PSC_DEV(36, &soc_lpsc_list[8]),
        PSC_DEV(102, &soc_lpsc_list[8]),
-       PSC_DEV(146, &soc_lpsc_list[8]),
+       PSC_DEV(114, &soc_lpsc_list[8]),
        PSC_DEV(166, &soc_lpsc_list[9]),
        PSC_DEV(135, &soc_lpsc_list[10]),
        PSC_DEV(170, &soc_lpsc_list[11]),

diff --git a/uboot/board/ti/am62ax/am62ax.env b/uboot/board/ti/am62ax/am62ax.env
index 5d5e4fb3f..03b1b86fc 100644
--- a/uboot/board/ti/am62ax/am62ax.env
+++ b/uboot/board/ti/am62ax/am62ax.env
@@ -8,7 +8,7 @@
 
 name_kern=Image
 console=ttyS2,115200n8
-args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x02800000
+args_all=setenv optargs ${optargs} earlycon=ns16550a,mmio32,0x2b300000
        ${mtdparts}
 run_kern=booti ${loadaddr} ${rd_spec} ${fdtaddr}

diff --git a/uboot/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts b/uboot/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
index 2b7f2e6b0..a298a5036 100644
--- a/uboot/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
+++ b/uboot/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
@@ -19,9 +19,9 @@
        model = "Texas Instruments AM62A7 SK";
 
        aliases {
-               serial0 = &wkup_uart0;
+               serial0 = &main_uart0;
                serial1 = &mcu_uart0;
-               serial2 = &main_uart0;
+               serial2 = &wkup_uart0;
                serial3 = &main_uart1;
                rtc0 = &wkup_rtc0;
                ethernet0 = &cpsw_port1;
@@ -179,13 +179,12 @@
 
 /* WKUP UART0 is used for DM firmware logs */
 &wkup_uart0 {
+    status = "okay";
        pinctrl-names = "default";
        pinctrl-0 = <&wkup_uart0_pins_default>;
-       status = "reserved";
 };

 

DFU 下载日志、当我下载 tiboot3 和 DFU 时、转至 unkown、wakeupuart0 无输出

C:\Project\dfu_flash-cs-120m\dfu-120m\ospi>dfu-util.exe -d 0451:6165 -R -a 0 -D C:\Project\dfu_flash-cs-120m\dfu-120m\ospi\HS-FS\tiboot3.bin
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/.../

Warning: Invalid DFU suffix signature
A valid DFU suffix will be required in a future dfu-util release
Opening DFU capable USB device...
Device ID 0451:6165
Device DFU version 0110
Claiming USB DFU Interface...
Setting Alternate Interface #0 ...
Determining device status...
DFU state(2) = dfuIDLE, status(0) = No error condition is present
DFU mode device DFU version 0110
Device returned transfer size 512
Copying data from PC to DFU device
Download        [=========================] 100%       311222 bytes
Download done.
DFU state(6) = dfuMANIFEST-SYNC, status(0) = No error condition is present
DFU state(2) = dfuIDLE, status(0) = No error condition is present
Done!
Resetting USB to switch back to Run-Time mode

C:\Project\dfu_flash-cs-120m\dfu-120m\ospi>dfu-util.exe -l
dfu-util 0.11

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.
Copyright 2010-2021 Tormod Volden and Stefan Schmidt
This program is Free Software and has ABSOLUTELY NO WARRANTY
Please report bugs to sourceforge.net/.../

Cannot open DFU device 17e9:4307 found on devnum 33 (LIBUSB_ERROR_NOT_FOUND)
Failed to retrieve language identifiers
Failed to retrieve language identifiers
Failed to retrieve language identifiers
Failed to retrieve language identifiers
Found DFU: [0451:6165] ver=0200, devnum=43, cfg=1, intf=0, path="2-1.2.1.3", alt=1, name="UNKNOWN", serial="UNKNOWN"
Found DFU: [0451:6165] ver=0200, devnum=43, cfg=1, intf=0, path="2-1.2.1.3", alt=0, name="UNKNOWN", serial="UNKNOWN"
Found Runtime: [174f:11af] ver=1010, devnum=4, cfg=1, intf=4, path="2-9", alt=0, name="Camera DFU Device", serial="200901010001"

C:\Project\dfu_flash-cs-120m\dfu-120m\ospi>

 

 

 

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

    您好、

    我会将您的问题发送给我们的 UART 专家以征求意见。

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

    尊敬的 Sloby:

    您是否可以尝试 将时钟频率硬编码到 DT 中的 wkup_uart0 节点?

    diff --git a/board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts b/board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
    index 3a6d18c14..89a0b0df0 100644
    --- a/board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
    +++ b/board-support/ti-u-boot-2025.01+git/dts/upstream/src/arm64/ti/k3-am62a7-sk.dts
    @@ -19,9 +19,9 @@
     	model = "Texas Instruments AM62A7 SK";
     
     	aliases {
    -		serial0 = &wkup_uart0;
    +		serial0 = &main_uart0;
     		serial1 = &mcu_uart0;
    -		serial2 = &main_uart0;
    +		serial2 = &wkup_uart0;
     		serial3 = &main_uart1;
     		mmc0 = &sdhci0;
     		mmc1 = &sdhci1;
    @@ -265,7 +265,8 @@
     &wkup_uart0 {
     	pinctrl-names = "default";
     	pinctrl-0 = <&wkup_uart0_pins_default>;
    -	status = "reserved";
    +	clock-frequency = <48000000>;
    +	status = "okay";
     };
     
     &main_pmx0 {

    此致、
    Vinu

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

    你好、Vinuchandran

    我还修改了内核和 uboot 中的设备树。


    但是、在打印以下两行输出后、无法访问控制台。


    [2.884011] systemd[1]:systemd 255.21^在系统模式下运行 (+PAM -audit -SELinux -AppArmor +ima -smack +SECCOMP -GCRYPT -GNUTLS -acl +blkid -curl -EILS
    [2.916118] systemd[1]:检测到的架构 ARM64。

    我是否需要修改任何其他文件?
    或者 原始唤醒是否未被禁用?以下注释来自 DTS。

    /* WKUP UART0 用于 DM 固件日志*/


    谢谢

    [    2.300379] Run /sbin/init as init process
    [    2.304475]   with arguments:
    [    2.307544]     /sbin/init
    [    2.310242]   with environment:
    [    2.313378]     HOME=/
    [    2.315734]     TERM=linux
    [    2.318429]     mtdparts=spi-nand0:512k(ospi_nand.tiboot3),2m(ospi_nand.tispl),4m(ospi_nand.u-boot),256k(ospi_nand.env),256k(ospi_nand.env.backup),123648K@7m(ospi_nand.rootfs),256k@130816k(ospi_nand.phypattern)
    [    2.560343] systemd[1]: System time before build time, advancing clock.
    [    2.825406] NET: Registered PF_INET6 protocol family
    [    2.831637] Segment Routing with IPv6
    [    2.835369] In-situ OAM (IOAM) with IPv6
    [    2.884011] systemd[1]: systemd 255.21^ running in system mode (+PAM -AUDIT -SELINUX -APPARMOR +IMA -SMACK +SECCOMP -GCRYPT -GNUTLS -OPENSSL +ACL +BLKID -CURL -ELFUTILS -FIDO2 -IDN2 -IDN -IPTC +KMOD -LIBCRYPTSETUP +LIBFDISK -PCRE2 -PWQUALITY -P11KIT -QRENCODE -TPM2 -BZIP2 -LZ4 -XZ -ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
    [    2.916118] systemd[1]: Detected architecture arm64.
    
    
    
    [   34.006468] systemd[1]: Hostname set to <am62axx-evm>.
    [   34.014423] systemd[1]: Initializing machine ID from random generator.
    [   34.021636] systemd[1]: Installed transient /etc/machine-id file.

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

    您好 Slowby:

    现在似乎内核正在加载。 让我在我这边看看 我会在三天内回复您。

    此致、
    Vinu

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

    尊敬的 Sloby:

    状态更新:
    我可以重现这个问题。 wkup_uart0 用于 u-boot 和 Linux、但 systemd 出现问题、打印件每 30 秒打印一次。
    我一直在尝试解决这个问题。  

    我将尝试解决该问题、并在下周初为您提供更新。

    此致、
    Vinu

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

    您好 Slowby:

    对延迟的回复表示歉意。 我们可以解决此问题并使用 wkup_uart0 进行引导。

    由于 wkup_uart0 资源使用与 DM 冲突、Linux 引导卡住。

    Linux 未正确接收到中断。

    修改 DM(设备管理器)固件  

    请参阅指南: https://software-dl.ti.com/mcu-plus-sdk/esd/AM62X/11_01_00_16/exports/docs/api_guide_am62x/DEVELOP_AND_DEBUG_DMR5.html#autotoc_md337

    这适用于 AM62x、AM62A 也应执行类似的步骤。

    安装 MCU+SDK。 默认情况下、DM R5 固件使用 WKUP_UART0 进行调试日志

    1.在 SysConfig 中将 DM 调试日志移至 MCU_UART0
    2.重建 DM 固件
    3.更新 binman.dtsi 以指向重建的 DM 固件
    4.重新编译 tispl.bin

    有关构建步骤、请参阅 https://dev.ti.com/tirex/explore/node?isTheia=false&node=A__AW-lFgdZvY1WcbRzT5wqhw__AM62A-ACADEMY__WeZ9SsL__LATEST

    注意:   某些指南中显示的 defconfig 命令适用于 am62x。  
    对于 AM62A7/AM62AX、请使用:  
    make arch=arm cross_compile=“$cross_compile_64" am62ax_evm_a53_defconfig“ am62ax_evm_a53_defconfig O=$UBOOT_DIR/OUT/A53  

    MCU+SDK 补丁

    e2e.ti.com/.../wkup_5F00_uart0_5F00_MCU_2B00_SDK_5F00_DM_5F00_FW_5F00_changes_2D00_patch.txt

    U-boot 更改

    e2e.ti.com/.../wkup_5F00_uart0_2D00_u_2D00_boot_2D00_patch.txt

    Linux 更改

    e2e.ti.com/.../wkup_5F00_uart0_2D00_linux_2D00_patch.txt

    完成这些更改后、您应该能够在 Linux 中使用 wkup_uart0。

    正在共享下面的引导日志。

    ttyS0- MAIN_uart0

    e2e.ti.com/.../ttyS0_5F00_main_5F00_uart0_5F00_bootlog.txt

    ttyS2- wkup_uart0

    e2e.ti.com/.../ttyS2_5F00_wkup_5F00_uart0_5F00_bootlog.txt

    ttyS3 - MCU_uart0

    e2e.ti.com/.../ttyS3_5F00_mcu_5F00_uart0_5F00_bootlog.txt

    请尝试这些更改。

    此致、
    Vinu

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

    您好、 Vinuchandran

    我尚未下载或编译 MCUSDK。
    请分享一下 DM 固件、tispl.bin、 ti-dm/am62axx/ipc_rpmsg_echo.wkup-R5f0_0.release.strip.out 程序生成的文件吗?

    我使用这些命令编译 uboot、我认为只有更换固件才能解决问题。

    #ti-processor-sdk-linux-edgeai-am62a-evm-11.01.07.05/board-support/ti-u-boot-2025.01+git
    make arch=arm cross_compile=“$cross_compile_32" am62ax_evm_r5_defconfig“ am62ax_evm_r5_defconfig O=./out/r5
    make arch=arm cross_compile=“$cross_compile_32" O=./out/r5“ O=./out/r5 BINMAN_INDIRS=$TI_LINUX_FW_DIR

    make arch=arm cross_compile=“$cross_compile_64" am62ax_evm_a53_defconfig“ am62ax_evm_a53_defconfig O=./out/a53
    make arch=arm cross_compile=“$cross_compile_64" cc="$CC_64"“ cc="$CC_64" BL31=$TFA_DIR/bl31.bin“ BL31=$TFA_DIR/bl31.bin TE=$OPTEE_DIR/bl32.bin“ TE=$OPTEE_DIR/bl32.bin O=./out/a53 BINMAN_INDIRS=$TI_LINUX_FW_DIR TI_DM=$TI_DM/am62axx/ DM_edgeai_mcu1_0_release_strip.out


    谢谢

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

    您好 Slowby:

    您只需要 Linux SDK 上的 ipc_rpmsg_echo.wkup-R5f0_0.release.strip.out 文件。

    PFA.  e2e.ti.com/.../ipc_5F00_rpmsg_5F00_echo.wkup_2D00_r5f0_5F00_0.release.strip.zip

    此致、
    Vinu

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

    你好 Vinuchandran

    感谢您的帮助、问题已解决。
    再次感谢您的尊重。