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.

[参考译文] PROCESSOR-SDK-AM335X:U-boot 失败

Guru**** 2616675 points

Other Parts Discussed in Thread: AM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/642189/processor-sdk-am335x-u-boot-fails

器件型号:PROCESSOR-SDK-AM335X
主题中讨论的其他器件:AM3358

大家好、

我正在尝试使用 AM335x 构建与 BBB 类似的定制板、我可以看到稳定的"CCCCC"。  由于电路板上的 RAM (Micron MT41K256M16HA-107)与 BBB 上的 RAM 不同、我访问了以下 wiki:

_processors.wiki.ti.com/.../Sitara_Linux_Training:_Tuning_the_DDR3_Timings_on_BeagleBoneBlack

AM335x-EVM 的最新 SDK 中。 当我创建 SD 卡时、我仅在终端中看到这一点(在 AM335x_EVM.h 中使用"define debug"):


U-Boot SPL 2017.01-00360-gc6c77f9-脏 污(2017年11月23日- 16:42:14)
malloc_Simple:size=f98、ptr = f98、limit=100000:81f00000

之后、不会发生任何情况。

有人能不能给一点建议、问题可能出在哪呢? 我错过了什么吗?

我根据电路板更改了 ddr_defs.h 中 BBB 的值、其他所有内容都应该相同、或者是否还有其他文件需要更改?

非常感谢您的帮助。

此致

e2e.ti.com/.../2068.ddr_5F00_defs.he2e.ti.com/.../0876.board.c

Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    请发布您的 DDR 时序电子表格。 您是否也按照 wiki 中所述执行了软件调平过程?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Biser、

    感谢您的快速回复。

    我没有进行软件调平、因为我错过了定制板上的 JTAG。

    此致

    Eric

    e2e.ti.com/.../5635.AM335x_5F00_DDR_5F00_register_5F00_calc_5F00_tool.xls

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    绝对有必要对每个新的 AM335x PCB 布局执行软件矫正。 我很确定这是您看到引导失败的原因。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    我觉得这不是必要的、因为设计是相同的、只有 DDR 发生了变化。 是否有任何其他方法来实现软件平衡、或者没有 JTAG 的其他解决方案?
    感谢你的帮助

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    在这种情况下、这可能并不是绝对必要的。 让我检查一下您的时间安排、我会回来的。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    我发现有两个不同之处:

    TRC 应为48.91ns 而不是47.91ns
    ODTLon 应为3CK 而不是4CK

    您可以尝试这些更改吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此问题是否已解决? 如果是、请关闭线程。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Biser、

    请原谅我的回答。 问题未解决、但我检测到一些问题:
    我将 ddr_defs.h 中 Micron MT41K256M16HA-125:E 的值与我计算的 MT41K256M16HA-107进行比较、并使用电子表格进行比较、结果完全相同。 此外、来自此站点(processors.wiki.ti.com/.../Sitara_Linux_Training:_Tuning_the_DDR3_Timings_on_BeagleBoneBlack)的计算值 也不同、那么 DDR_defs.h 中的原始值是多少?!

    我在函数 void SDRAM_init (void)中的 board.c 中添加了 printf 命令、它们之后不会显示
    U-Boot SPL 2017.01-00360-gc6c77f9-脏 污(2017年12月01日- 10:25:04)

    我忘记了什么?

    此致
    Eric

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

    e2e.ti.com/.../3755.board.cCould有人请给出建议、为什么我在 终端上看不到 board.c-file (第526行;第545行)中的 printf-命令?

    我认为它应该出现在 uboot 版本之后?

    非常感谢

    此致

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    将 SDRAM_INIT 置于双引号内。
    printf ("SDRAM_init");
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Kemal、

    我更改了命令、但不可见。

    我在此文件中输入我的完整步骤:

    e2e.ti.com/.../7268.log.txt

    在 menuconfig 中、我禁用了 SPL 下的"网络"和"Falcon Mode"。

    生成 SD 卡时,我选择重用选定 rootfs 中的内核映像和设备树文件的选项。

    这两种配置中的一种是否会成为问题?

    我没有更改调试端口(UART0)的配置。 是否可以使用 make AM335x_EVM_CONFIG 对其进行更改?

    此致

    Eric

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

    是否有人可以检查日志文件?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    日志文件看起来正常。 我尝试添加调试并删除了以太网和 USB、但仍然无法构建 SDK 04.01.00.0x。 我仍在尝试。

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

    可以构建吗?
    我使用了来自旧 BBB 的 EEPROM 并将其放置在我的定制板上。 之后、我使用了具有旧 BBB 映像的 SD 卡(U-Boot SPL 2015.01-00001-gb2412df (2015年1月29日- 15:01:06)

    使用此图、我可以在终端上看到以下行:
    U-Boot 2015.01-00001-gb2412df (2015年1月29日- 15:01:06)、编译:Jenkins-GitHub_Bootloader-Builder-105

    启用看门狗
    I2C:就绪
    DRAM:512 MiB

    然后、由于错误的 DDR 配置、它会停止。
    这是否意味着、在编译 uboot 期间、我会错过一些东西?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    大家好、有人可以提供 uboot.img 和 MLO、还是提供可与 AM3358配合使用的完整映像? 这将有助于我确定问题的来源。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    TI 员工能为您提供帮助吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    今天我要离开城镇、下周四我将回到办公室、所以我将在那时查看。 很抱歉耽误你的时间。

    Steve K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    非常感谢
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!
    是否有新信息?

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您是否具有电路板的 JTAG 功能? 我想我们必须了解 JTAG 的故障位置。 SDRAM 初始化后可能会出现故障、但我认为 JTAG 确实会有所帮助。

    Steve K.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    此外、您的电路板是否具有 NAND? 使用最新的 SDK、我刚刚启动了 BBB 并在 u-boot 中停止。 在 DDR printf 是找到的任何 NAND 的 printf 之后(或如果启用了 NAND、则也不会)

    U-Boot 2017.01-g340fb36f04 (2017年12月23日- 10:20:13 -0500)

    CPU:AM335X-GP 修订版2.1
    型号:TI AM335x BeagleBone Black
    DRAM:512 MiB
    NAND:0 MIB
    MMC:OMAP SD/MMC:0、OMAP SD/MMC:1.

    在较旧的 u-boots 中、当您修改 GPMC 代码时、有时会发生故障。

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

    到目前为止、我们将进行一些总结:

    -我有一个与 BBB 基本相同的电路板(唯一的区别是 DDR  Micron MT41K256M16HA-107)、但没有 JTAG

    -我从 PCB 复制了 ARM 和 RAM 之间的完整连接

    -在 PuTTY 中、我看到引导加载程序稳定的"C"、所有频率和电压都正常

    -我在具有 virualbox 的虚拟机上使用适用于 AM335x 04.01.00.06的 ti 处理器 SDK (试用 Ubuntu 14并全新安装 Ubuntu 16)

    -我将 create sd-card.sh 脚本与预编译映像一起使用,结果为:

    U-Boot SPL 2017.01-g590c7d7fe1 (2017年9月26日- 18:28:01)                                          #其他没什么

    -我将 create sd-card.sh 脚本与自定义映像一起使用,结果为:

    U-Boot SPL 2017.01 (2017年12月19日- 16:39:10)                                      #else

    -然后我尝试使用 BBB-Image、得到以下结果:
       U-Boot 2015.01-00001-gb2412df (2015年1月29日- 15:01:06)、编译:Jenkins-GitHub_Bootloader-Builder-105
       启用看门狗
       I2C:就绪
       DRAM:512 MiB

       然后、由于错误的 DDR 配置、它会停止。

    在我看来、SDK 配置不当或缺少内容(即使在创建 SD 卡期间没有错误)。 为了确保我可以尝试使用正常工作的 MLO 和 u-boot.img。 您可以从 SDK 中加载这两个文件吗?

    此致

    Eric

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    安装 SDK 时、会有一个 board-support/prebuilt-images 目录。 您能否将 MLO 和 u-boot.img 复制到 SD 卡(将 MLO-AM335x-EVM 重命名为 MLO、将 u-boot-AM335x-evm.img 重命名为 u-boot.img)并尝试引导?

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

    那么、我甚至只能看到以下情况:

    CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC

    U-Boot SPL 2017.01-g590c7d7fe1 (2017年9月26日- 18:28:01)

    就像我 SAD 一样、我可以通过 BBB-img 看到更多输出:

    -然后我尝试使用 BBB-Image、得到以下结果:

      U-Boot 2015.01-00001-gb2412df (2015年1月29日- 15:01:06)、编译:Jenkins-GitHub_Bootloader-Builder-105

      启用看门狗

      I2C:就绪

      DRAM:512 MiB

    因此,我尝试了 EVM 中的 img (  ;正在工作的 img):

    CCCCCCCCCCCCCCCCCCCCCCCC

    U-Boot SPL 2013.01.01 (2013年6月25日- 16:42:52)

    MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)

    MUSB - hdrc:MHDRC RTL 版本2.0

    musb-hdrc:设置 fifo_mode 4.

    musb-hdrc:28/31最大 EP、16384/16384存储器

    USB 外设模式控制器、位于47401000、使用 PIO、IRQ 0

    MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)

    MUSB - hdrc:MHDRC RTL 版本2.0

    musb-hdrc:设置 fifo_mode 4.

    musb-hdrc:28/31最大 EP、16384/16384存储器

    USB 主机模式控制器、位于47401800、使用 PIO、IRQ 0

    OMAP SD/MMC:0

    正在读取 u-boot.img

    正在读取 u-boot.img

    U-Boot 2013.01.01 (2013年6月25日- 16:42:52)

    I2C: 就绪

    DRAM: 512 MiB

    警告:未启用缓存

    NAND: 未找到 NAND 器件!!!

    0 MIB

    MMC: OMAP SD/MMC:0、OMAP SD/MMC:1.

    ***警告- readenv()失败,使用默认环境

    MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)

    MUSB - hdrc:MHDRC RTL 版本2.0

    musb-hdrc:设置 fifo_mode 4.

    musb-hdrc:28/31最大 EP、16384/16384存储器

    USB 外设模式控制器、位于47401000、使用 PIO、IRQ 0

    MUSB - hdrc:ConfigData=0xde (UTMI-8、dyn FIFO、大容量组合、大容量分离、HB-ISO Rx、 HB-ISO Tx、SoftConn)

    MUSB - hdrc:MHDRC RTL 版本2.0

    musb-hdrc:设置 fifo_mode 4.

    musb-hdrc:28/31最大 EP、16384/16384存储器

    USB 主机模式控制器、位于47401800、使用 PIO、IRQ 0

    网络:  未设置。 验证第一个电子保险丝 MAC

    CPsw、USB_ether

    按任意键停止自动引导: 0

    mmc0是当前器件

    在器件0上找到 SD/MMC

    正在阅读 uEnv.txt

    **无法读取文件 uEnv.txt **

    正在读取 uImage

    320ms (9.5 MIB/s)内读取的3194336字节

    正在从 MMC 引导...

    ##从传统映像(位于80007fc0)引导内核...

     映像名称: Linux-3.2.0

     映像类型: ARM Linux 内核映像(未压缩)

     数据大小:  3194272字节= 3 MIB

     加载地址:80008000

     入口点: 80008000

     正在验证校验和... 好的

     XIP 内核镜像... 好的

    好的

    正在启动内核...

    这就是我得到的。 在我看来、SDK 一定会出现问题。 我再次运行 SDK 中的 setup.sh、您是否看到任何错误?

    e2e.ti.com/.../4705.log.txt

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

    SDK 是否配置不正确? 我运行 setup.sh、然后出现问题"No BeagleBone (Black) or Starterkit Detected"(未检测到 BeagleBone (Black)或 Starterkit)。 假设使用的是通用 EVM。 是这样吗? (是/否)"
    由于未检测到电路板、setup.sh 配置错误了吗?
    为什么它不能识别电路板? 器件显示在 lsusb 下:

    Eric@Erice-VirtualBox:~/下载$ lsusb
    总线001器件001:ID 1d6b:0002 Linux Foundation 2.0根集线器
    总线002设备003:ID 0451:6141 Texas Instruments、Inc.
    总线002设备002:ID 80e:0021 VirtualBox USB Tablet
    总线002设备001:ID 1d6b:0001 Linux Foundation 1.1根集线器

    我连接了我的 beaglebonebBlack、它在 lsusb 下显示为:

    总线001设备003:ID 1d6b:0104 Linux Foundation 多功能复合小工具

    使用 VirtualBox 和 Uubundu16是否存在任何已知问题?

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

    安装脚本看起来不是从引导 ROM (0451:6141)中看到 vid:pid、因为它对所有板都是相同的。 对于 BeagleBone (白色)和 EVM-SK、串行端口的 vid:pid 为0403:6010、这是脚本所需的内容。 该脚本通过查找 FTDI 线缆的 vid:pid、0x0403:6001来查找 BeagleBone Black。

    Steve K.

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    这对我来说是显而易见的。 我有一个 AM3358BZCZ1000。 为什么它不显示脚本建议的数字? 这些数字来自哪里? 我是否需要另一个 SDK? 我使用的是 AM335x SDK。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您不需要其他 SDK。 为了使设置脚本识别 BeagleBone Black、您需要将 FTDI 串行电缆连接到板上的6引脚接头、并将另一端连接到 PC。 对于入门套件、您只需在电路板和 PC 之间连接一根 USB 电缆即可。

    Steve K.
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、但这根本不能解决我的问题。

    为什么我创建的 MLO 和 uboot.img 根本不起作用、但我之前链接的 MLO 和 uboot.img (EVM、引导至 uboot)?

    我可以检查什么? 什么可能导致问题? 在我的小齿轮中、它必须依赖于 SDK (可能是错误的配置)??
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    有人可以提供建议吗?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您使用什么 make 命令来编译代码?

    Steve K.

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

    它们位于我的第二个帖子中的日志文件中。 您写回、表示它们是可以的。

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

    在此 SDK 和最新版本中、我必须构建 AM335x_boneblack_config 才能在 BBB 上引导。  构建 AM335x_EVM_CONFIG 似乎不会在 BBB 上引导。 因此、我将检查这是错误还是新问题。

    Steve K.