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.

[参考译文] Linux/AM5728:在 U-Boot 中启用 UART 的早期调试打印

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/770246/linux-am5728-enabling-early-debug-print-on-uart-in-u-boot

器件型号:AM5728

工具/软件:Linux

构建 AM5728定制板。 我可以看到它达到 board_EARLY_INIT  只是正常的、因此我知道 MLO 目前正在加载和执行。

为了帮助启动、 我想启用早期调试消息。

 当我尝试启用这些功能时、我看到电路板在 board_earne_init 之前卡住:

CONFIG_DEBUT_UART=y
CONFIG_DEBUG_UART_BASE=0x48020000
CONFIG_DEBUG_UART_CLOC=48000000
CONFIG_DEBUT_UART_SHIFT=2 
CONFIG_DEBUT_UART_NS16550=y

从上面开始、我尝试启用 CONFIG_DEBUG_UART_OMAP (也禁用了 CONFIG_DEBUT_UART_NS16550)、但我收到编译时间错误。

是否有人可以检查我的设置? 我使用的是随 U-Boot 版本2018.01提供的 TI Linux SDK 4.02。

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

    您好、Adam、

    在 U-Boot 中可以获得的最早的 UART 消息是在的开头添加一条#define 调试行 /board-support/u-boot- /include/configs/am57xx_evm.h 文件。

    此致、
    Kemal

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢 Kemal、我发布的配置如何? 我是否需要 CONFIG_DEBUG_UART_OMAP? 如果是、我将发布编译错误日志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    是的、请发布编译错误日志。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    下面是我与 UART 相关的配置:

    CONFIG_DEBUT_y
    # CONFIG_DEBUT_UART_SKIP_INIT 未设置
    # CONFIG_Altera_JTAG_UART 未设置
    # CONFIG_Altera_UART
    未设置# CONFIG_FSL_LPUART 未设置
    # CONFIG_MVEBU_A37_UART_DEBUT_UART_UART_CLIT_CONFIG_CONFIG_UART_UART_UART_INIT_CONFIG_CONFIG_CONFIG_UART_UART_UART_UART_UART_UART_INIT_CONFIG_CONFIG_CONFIG_CONFIG=y CONFIG_CONFIG_CONFIG_IG_IG_INIT_IG_
    
    
    
    
    
    

    以下是 jist:

    `arch/arm/mach-omap2/built-in.o:
    
    
    
    `Early system_init':|/home/ylee/tisdk-20180716/build/workspace/sources/u-boot-ti-staging/arch/arm/mach-omap2/hwinit-common.c
    
    /../bfd/elf32-arm.c:204:未定义`debug_UART_init'的引用| common/built-in.o:in function `utilc':|/home/ylee/tisdk-20180716/build/workspace/sources/u-boot-ti-staging/common/console.c:502:undefined reference to `prinabi'| common/built-in.o:in function `gds-linux-dfd:1.529.gfd'(/home/ylee/tisdk-20180716/build/workspace/sources/u-boot-ti-staging/common/console.c)
    bfd (GNU binutils) 2.29.1.20170915断言失败./../bfd/elf32-arm.c
    
    
    
    
    
    /home/ylee/tisdk-20180718/build/solix8-glibc/work/solix-oe-linux-gnueabi/u-boot-ti-staging/2018.01:9509 | make[1]:***[u-boot]错误1 | make[1]:离开目录``/home/ylee/tisdk-20180718/build/solix8-glibc/work/solix-oe-linux-gnueabi/u-boot-ti-staging/2018.01 +git999-R15/u-boot-ti-staging -2018.01+git999'| make:***[sub-make]错误2 |从/home/ylee/tisdk-20180716/build/workspace/sources/u-boot-ti-staging 退出|错误1:
    do_compile (日志文件位于/home/ylee/tisdk-20180718/build/solix8-glibc/work/solix-oe-linux-gnueabi/u-boot-ti-staging/2018.01 +git999-R15/temp/log.do_compile.24231)
    错误:任务(/home/ylee/tisdk-20180716/poky/meta-ti/recipes-bsp/u-boot/u-boot-ti-staging_2018.01.bb:do_compile)失败、退出代码为"1" 

    这里是完整 的配置 和 完整日志

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

    启用 CONFIG_DEBUT_BOART_INIT=y 创建 board_DEBUT_INIT 函数、并使用设置 UART 就绪所需的引脚多路复用和时钟设置填充该函数。

    添加#include `到 printch '引用未定义的文件的标头。

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

    您是否完成了该主题? 如果是、请单击"此已解决我的问题"按钮以将其关闭。

    此致、
    Kemal
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Kemal、让我回来并做出回应。 仍在处理相关问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    • UART 的基地址  - 0x4802_0000
    • CONFIG_DEBUG_UART_OMAP-y
    • 未设置 CONFIG_SYS_NS16550

    这看起来是正确的吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    0x48020000看起来更好。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、谢谢。 另外两个呢?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    只要它们不相互冲突,它们就处于良好的状态。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、但我想知道在两者之间应该使用哪一个。
    默认 EVM 配置对系统控制台使用 NS16550。 是否也应该将 NS16550用于早期调试控制台? 还是两者相同?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    它们都可以工作、您可以选择您喜欢的任何一个。