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.

[参考译文] 编译器/BEAGLEBK:将 U-Boot 控制台从 UART0更改为 UART2

Guru**** 2535150 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/905798/compiler-beaglebk-changing-u-boot-console-from-uart0-to-uart2

器件型号:BEAGLEBK

工具/软件:TI C/C++编译器

我想在 BeagleBone Black 上将调试控制台从 UART0更改为 UART2。

SDK 版本为 PROCESSOR-SDK-LINUX-AM335X 06_01_00_08。

首先、我尝试将 CONS_index=1更改为 CONS_index=3。

SPL 和 Linux 内核控制台消息即将出现、但 u-boot 控制台消息缺失。

这些消息如下所示、

>U-Boot SPL 2019.01-g029e4c009a 脏(2020年5月15日- 08:05:12 +0000)

>正在尝试从 MMC1引导

>[0.000000]在物理 CPU 0x0上引导 Linux。

因此、我 参考并尝试使用以下 e2e 线程:

https://e2e.ti.com/support/processors/f/791/t/754906

https://e2e.ti.com/support/processors/f/791/t/536830

https://e2e.ti.com/support/processors/f/791/t/706153

但没有任何变化。  请您就某些事项向我提供建议吗?

谢谢!

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

    冈本-圣、

    您能否尝试更新您的 arch/arm/dts/ .dts 设备树文件如下所示、如果该文件解决了问题、请向我们报告:

    • 使用 stdout-path 新的 phandle 更新属性到新的 UART
    • 使用正确的 pinmux 基准覆盖相应 UART 的设备树节点,并确保将其设置为  status = "okay";

    此致、Andreas

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

    尊敬的 Andreas:

    感谢您的回复。 我尝试过,但 也发生了同样的现象。  

    下面是对 uart2在内核中所做的更改、

    - A/arch/arm/dts/AM335x-evm.dts
    ++ b/arch/arm/dts/AM335x-evm.dts
    @@-15、7 + 15、7 @@
    兼容="ti、am335x-evm"、"ti、am33xx";

    选择{
    - stdout-path = uart0;
    + stdout-path = uart2;
    tick-timer =&timer2;
    };

    @@-203、6 +203、13 @@
    >;
    };

    + uart2_pins:pinmux_uart2_pins{
    + pinctrl-single、pins =<
    + 0x150 (PIN_INPUT | MUX_MODE1)/* spi0_SCLK.uart2_RxD *

    + 0x154 (PIN_OUTPUT | MUX_MODE1)/* spi0_SCLK.uart2_TxD *
    +>;
    +};
    +
    clkout2_pin:pinmux_clkout2_pin{
    pinctrl-single、pins =<
    0x1b4 (PIN_OUTPUT 下拉| MUX_MODE3)/* xdma_event_int1.clkout2 *
    @@-376、6 + 383、15 @@
    状态="正常";
    };

    {uart2}(&U)
    + pinctrl-names ="default";
    + pinctrl-0 =<&uart2_PINs>;
    +
    +
    +
    + STATUS ="确定";
    +};
    +
    i2c0{(&I)
    pinctrl-names ="default";
    pinctrl-0 =<&i2c0_PINs>;

    此致、
    Okamoto

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

    Okamoto - San、您好!

    [引用用户="Takayuki Okamoto ]-a/arch/arm/dts/AM335x-evm.dts
    ++ b/arch/arm/dts/AM335x-evm.dts [/quot]

    我不确定为什么要更改 EVM 的 DTS 文件、而不是用于 BeagleBone Black 的 DTS 文件、如果您拥有的板是这样吗?

    此外、您似乎仍然缺少 U-Boot 生成的打印件(正确)、这会导致 BeagleBone Black 的 U-Boot DTS 文件出现问题。

    我刚刚尝试过端口、通过将 BBB 从 UART0切换到 UART4 (我的板上可轻松访问该端口)为您提供了一个工作示例、并且能够查看 UART4上的所有 SPL、U-Boot 和内核打印件- UART0不会发出任何打印件。 请用作 UART2的参考并根据需要进行更新。

    已连接一个 U-Boot 补丁和一个 Linux 内核补丁。

    此致、Andreas

    e2e.ti.com/.../0001_2D00_beagleboneblack_2D00_Use_2D00_UART4_2D00_instead_2D00_of_2D00_UART0.patch

    e2e.ti.com/.../0001_2D00_ARM_2D00_dts_2D00_am335x_2D00_boneblack_2D00_Use_2D00_UART4_2D00_instead_2D00_of_2D00_UART0.patch

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

    尊敬的 Andreas:

    我正在编辑错误的 DTS 文件。  通过将您的补丁作为参考、我能够看到它的工作原理。

    我解决了我的问题! 非常感谢。

    此致、

    Okamoto