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/PROCESSOR-SDK-AM335X:在"启动内核...&quot 之后、控制台上不再显示输出;

Guru**** 2568565 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/605958/linux-processor-sdk-am335x-no-more-output-is-seen-on-the-console-after-starting-kernel

器件型号:PROCESSOR-SDK-AM335X

工具/软件:Linux

您好!

我将最新的 TI SDK Linux-4.4.41与 AM335x EVM-SK 板配合使用。我使用旧版 Linux 内核 v3.2测试了用户 hello world 应用、但此 SDK 中不包含某些驱动程序。 因此、我转移到了 XXX SDK。 之后、我按照标准过程交叉编译内核源代码并构建 uImage。 但在执行 u-boot 后、它会在以下位置挂起  

##从80100000的传统映像引导内核...
图像名称:Linux-4.4.41
图像类型:ARM Linux 内核图像(未压缩)
数据大小:3982032字节= 3.8 MIB
加载地址:80008000
入口点:80008000
检验校验和... 正在
加载内核映像... 确定
启动

内核... 

我还参考了 TI Wiki 链接 http://processors.wiki.ti.com/index.php/Kernel_-_Common_Problems_Booting_Linux

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

    您能否使用预构建的映像引导并测试控制台输出。

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Cvetolin:
    感谢您的回复、
    我只想知道我可以从何处获得预编译的映像、实际上我使用旧内核测试了器件、例如 Linux v3.2、该控制台工作正常。但对于 Linux v4.4.4.41、它的控制台在开始内核打印后挂起。

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

    Vishvajeet、

    您可以从以下链接下载包含预构建映像的 AM335x Linux SDK 基本功能(基于 Linux 内核4.4.41):
    software-dl.ti.com/.../index_FDS.html

    BR
    Tsvetolin Shulev

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Cvetolin:
    我在 EVM-SK 电路板上使用预缓冲二进制映像进行了测试、但结果相同。
    内核在以下位置挂起:

    正在启动内核...

    此致、
    Vishvajeet。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Cvetolin:
    我启用了内核 printk、之后它会在串行终端上显示以下消息。

    正在启动内核...


    错误:无法识别/不受支持的机器 ID (R1 = 0x00000e05)。

    可用的机器支持:

    ID (十六进制) 名称
    FFFFFFFF 基于 DT 的通用系统
    FFFFFFFF 通用 AM33XX (平展器件树)

    请检查您的内核配置和/或引导加载程序。

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

    您观察到的错误消息是由于缺少机器名称或您的机器名称否而出现在受支持机器的列表中。 请参阅./linux/arch/arm/kernel/atags_parse.c 文件中的“Error: Unrecognized /unsupported machine ID”消息。
    我建议您在以下位置获得有关 AM335x 入门套件 ID 存储器编程的教程:
    processors.wiki.ti.com/.../AM335x_Starter_Kit_ID_Memory_Programming
    这将有助于在 EEPROM 中添加电路板 ID 信息

    BR
    Tsvetolin Shulev
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Cvetolin:
    感谢您的宝贵答复、我阅读了您提供的链接、我对 EEPROM 损坏有一些困惑。 Beacuse Linux v3.2内核 uImage 正在同一电路板上正确引导、但如果我转移到升级的内核版本(例如、e.linux v4.4.41)、则会发生此问题。 我不知道具体情况、但如果 EEPROM 损坏、则 Linux v3.2会出现相同的问题。
    另外、我还想知道、由于我只使用 uImage 来引导内核、他们的任何引导过程都会发生变化。 我正在使用 tftp boot 并在 uboot 中使用以下命令。

    设置 serverip xx.xx.xx.xx (主机 IP addreddd)
    设置 ipaddr xx.xx.xx.xx (设备 IP 地址)

    TFTP 0x80100000 uImage (在0x80100000加载 uImage)
    Bootm 0x80100000 (从给定的存储器位置引导)

    我使用上述命令启动了 Linux 内核 v3.2 uImage、它已成功启动。 但是如果我使用内核 v4.2 uImage、它将无法启动。
    它在启动内核时挂起。 我还想知道的是、FDT 在其中发挥着任何作用。

    此致、
    Vishvajeet
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    尊敬的 Cvetolin:
    使用加载 dtb 文件可以解决此问题。以前我在加载 uImage 时没有使用 dtb 文件。 但在使用 DTB 后,这个问题就得到了解决。感谢您的支持。

    此致、
    Vishvajeet
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我遇到了相同的问题、你得到了什么

    频率

    正在启动内核...


    错误:无法识别/不受支持的机器 ID (R1 = 0x0000157d)。

    可用的机器支持:

    ID (十六进制) 名称
    FFFFFFFF 基于 DT 的通用系统
    FFFFFFFF 通用 DRA72X (平展器件树)
    FFFFFFFF 通用 DRA74X (平展器件树)
    FFFFFFFF 通用 AM43 (平展器件树)

    我无法上传 DTB 文件。 只有通过 SDCard 才能选择。 您是否尝试通过 SDCard 进行引导。 如果是、请通过 SDCard 说明其工作原理
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    Madhu Sundar、您好!
    我正在从 SD 卡引导、我经历了与您相同的场景、我只想了解 uEnv.txt 内容。 我想验证您的引导参数及其引导命令内容。

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

    e2e.ti.com/.../4743.uEnv_5F00_uboot.txt

    请查找随附的 uEnv 文本文件。 感谢您的回答

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    现在、我能够通过 xmodem 上传内核和 DTB。 但问题仍然相同

    按空格键可在2秒钟内中止自动引导
    => bootz 0x80200000 - 0x88000000
    ###展开的设备树 blob、88000000
    使用0x88000000处的 FDT blob 进行引导
    正在保留 FDT 存储器区域:Addr=88000000 size=9000
    在88000000、8800bfff 结束时使用设备树

    正在启动内核...