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.

[参考译文] AM3358:未在 GP EVM 上检测到 NAND

Guru**** 2587445 points
Other Parts Discussed in Thread: TMDXEVM3358

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/631157/am3358-nand-not-detected-on-gp-evm

器件型号:AM3358
主题中讨论的其他器件:TMDXEVM3358

大家好、TI 专家、

 

我们对 TMDXEVM3358上的 NAND-Flash 有疑问。

我们通过 create-sdcard.sh 为 PROCESSOR-SDK-LINUX-AM335X 创建 SD 卡。

我们尝试从 TMDXEVM3358上插入的 SD 卡启动 。

然后、我们找到消息"NANN: 0 MIB"、如下所示;

 

>U-Boot 2017.01-00319-g7752743-Dirty (2017年10月10日- 14:14:36 +0900)

>CPU :AM335X-GP 修订版1.0

>型号:TI AM335x EVM

>DRAM: 512 mib

>NAND: 0 MIB

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

 

问题:

是否有相同的体验?

  

如果您告诉我们如何解决此问题、我们将不胜感激。

 

我还将附上"pdf"的 DIP-SW 设置、如下所示;

  配置文件[3:0]= 0000

  BOOT[4:0]= 10011

 

此致、

e2e.ti.com/.../dipsw.pdf

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

    除了设置 SYSBOOT 交换外、还需要设置 Profile 开关。 请参阅 processors.wiki.ti.com/.../AM335x_General_Purpose_EVM_HW_User_Guide 此处可查看 CPLD 配置文件: processors.wiki.ti.com/.../Am335x_gpevm_pinuse.zip NAND 可用于除#2和#3之外的所有配置文件。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好!

    感谢您的快速回复。
    我也对你有相同的理解。
    因此、我将配置文件开关设置为#0以使用 NAND。

    根据您的信息、配置文件开关似乎已正确设置为使用 NAND。

    我们希望继续调查这一问题。

    此致、
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    好的、我要将其转移给软件团队。 它们将从这里继续。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    非常感谢您的善意。
    非常感谢您的帮助。

    我正在等待他们的反馈。

    此致、

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

    Matusan、您好、

    我设置与您类似的确切 DIP-SW 设置和 U-Boot 检测到的 NAND 大小。 看起来您在 U-Boot 中进行了修改。 您能否尝试使用处理器 SDK 中的预构建映像进行引导?

    此致、
    Kemal

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

    您好!

     

    非常感谢您的善意。

    非常感谢您的帮助。

     

    根据您的信息、

    我可以理解、您发现 U-Boot 在 TMDXEVM3358上检测到 NAND 大小。

     

    我有另一个 TMDXEVM3358、并尝试使用处理器 SDK 中的预构建映像进行引导。

    但结果是相同的。 (我们在 两个 TMDXEVM3358上都找到了消息"NAND:0 MIB"。)

     

    问题:

     与您在 TMDXEVM3358上的 U-Boot 体验有何不同、如下所示?

     ( 您是否发现您的 EVM 和我们随附 pdf 中的 EVM 有任何关键区别?)

     

     -两个 EVM 版本(来自 TeraTerm 控制台消息)

      1) CPU:AM335X-GP 修订版1.0

      2) CPU:AM335X-GP 修订版2.1

     

     -两个 EVM 都没有 U9 (CPU 板上的 NAND 器件)、如附件 pdf 所示。

      但是  

      两个 EVM 都具有 U5 (子板上的 NAND 器件)。

     

    请告诉我们如何使用 U5 (子板上的 NAND 器件)。

     

    此致、

    e2e.ti.com/.../evm.pdf

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

    我们的硬件配置与您的配置完全相同。

    您能否在电路板上测试我的场景。 将随附 的 e2e.ti.com/.../5140.MLOe2e.ti.com/.../u_2D00_boot.img 复制 到 SD 卡。

    NAND erase.chip
    MMC 重新扫描
    Fatload MMC 0 0x82000000 MLO
    NAND 写入0x82000000 NAND.SPL
    fatload MMC 0 0x82000000 u-boot.img
    NAND 写入0x82000000 NAND.u-boot

    然后重新启动并检查结果。

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

    您好!

    非常感谢您为我们提供您的 MLO 和 img 文件。

    非常感谢您的帮助。

    我尝试使用您的文件引导、并使用附带的 pdf 发送结果。

    不幸的是,结果似乎是一样的。

    (我们在 两 个 TMDXEVM3358上都找到了消息"NAND:0 MIB"。)

    如果您有任何线索、请告诉我们。

    此致、

    e2e.ti.com/.../result.pdf

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

    您能否在切换后打开/关闭电路板、并检查是否会在其他配置文件#1、#4、#5、#6、#7中检测到 NAND?

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

    您好!

     

    非常感谢您的善意。

    非常感谢您的帮助。

     

    我尝试使用其他配置文件中的文件进行引导、这些配置文件分别是#1、#4、#5、#6、#7。

     

    不幸的是,结果似乎是一样的。

    (我们在 两个 TMDXEVM3358上都找到了消息"NAND:0 MIB"。)

     

    此致、

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

    您好!

     

    我发现使用您的指南和文件从 NAND 引导成功。

    非常感谢。

     

    //子板连接似乎有问题。

    //所以我用 CPU 板紧密地重新构建了它。

     

    但我发现了另一个问题。

     

    如果我 尝试使用 PROCESSOR-SDK-LINUX-AM335X 04_00_00_04的预编译文件(MLO 和 u-boot.img)从 NAND 引导

    按照下面的指南操作、NAND 启动似乎失败了。 (TeraTerm 窗口中没有文本)。

     

    NAND erase.chip

    MMC 重新扫描

    Fatload MMC 0 0x82000000 MLO

    NAND 写入0x82000000 NAND.SPL

    fatload MMC 0 0x82000000 u-boot.img

    NAND 写入0x82000000 NAND.u-boot

     

    问题:

     您能告诉我们您的文件(MLO & u-boot.img)和 预编译文件之间的区别吗?

     

    此致、

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

    在上一篇文章中、我附加了来自最新 PROCESSOR-SDK-LINUX-AM335X 04_01_00_06的预构建映像。 我刚刚尝试使用 PROCESSOR-SDK-LINUX-AM335X 04_00_00_04中的预构建映像进行引导、并再次成功。

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

    您好!

    我发现使用 PROCESSOR-SDK-LINUX-AM335X 04_00_00_04中的预构建映像(MLO-BOON.img)从 NAND 引导成功。

    非常感谢。

    现在、我尝试按照 EVM (目标)上的以下步骤从 NAND 启动 Linux 内核。

    U-Boot# setenv ipaddr 192.168.0.6

    U-Boot# setenv serverip 192.168.0.1

    U-Boot#和 erase.chip

    U-Boot# MW.b 0x81000000 0xFF 0x2950000

    U-Boot# tftp 0x81000000 MLO-AM335x-EVM

    U-Boot# CP.b 0x81000000 0x81020000 20000

    CP.b 0x81000000 0x81040000 20000

    CP.b 0x81000000 0x81060000 20000

    U-Boot# tftp 0x81080000 AM335x-EVM.dTB

    U-Boot# tftp 0x810c0000 u-boot-am335x-evm.img

    U-Boot# tftp 0x81200000 zImage-am335x-evm.bin

    U-Boot# tftp 0x81a00000 arago-base-tisdk-image-am335x-evm.ubi

    U-Boot# n 并写入0x81000000 0x0 0x2950000

    然后重新引导并"运行 nandboot"

    但是会出现"内核严重错误"、例如下面附加的 txt 文件。

    是否缺少任何内容?

    请告诉我们从 NAND 引导 Linux 内核的建议方法。

    此致、

    e2e.ti.com/.../nand_5F00_bootlog.txt

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

    您没有写入完整的 Arago-base-tisdk-image-am335x-evm.ubi、而是从 145Mib 中写入41Mib。 在 SDK 开发过程中、其大小有所增加。 将0x2950000更改为0x92c0000。

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

    您好!

     

    我发现从 NAND 中引导 Linux 成功。

    非常感谢。

     

    我们的客户希望了解从 NAND 自动引导的 Linux。

     

    如果您告诉我们建议的从 NAND 自动引导的 Linux 方法、我们将不胜感激。(不键入"run nandboot")

     

    此致、

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

    => setenv bootcmd 运行 nandboot
    => saveenv
    命令将执行该操作。
    在保存后,您可以看到:
    正在将环境保存到 FAT...
    正在写入 uboot.env
    完成
    这意味着环境会保存到 SD 卡中。
    要将环境保存到 NAND 中、您必须在中定义#define CONFIG_ENV_IS _IN_NAND /board-support/u-boot- /include/configs/am335x_evm.h 并重新编译 U-Boot (顶部的 Processor SDK 目录中创建 u-boot)。
    然后、当环境保存到 NAND 时、您应该会看到该消息:
    => saveenv
    正在将环境保存到 NAND 中...
    正在擦除冗余 NAND……
    在0x1e0000处擦除-- 100%完成。
    正在写入冗余 NAND…… 好的
    => saveenv
    正在将环境保存到 NAND 中...
    正在擦除 NAN...
    在0x1c0000擦除-- 100%完成。
    正在写入 NAND…… 好的

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

    您好!

     

    我发现从 NAND 自动引导 Linux 成功。(不键入"run nandboot")

    非常感谢。 (您的解释非常好!)

     

    我将指导客户执行以下步骤。

     1:编辑"AM335x_EVM.h"

    ADD  ->#define CONFIG_ENV_IS _IN_NAND

    删除->#define CONFIG_ENV_IS _IN_FAT

     

     2:重建 u-boot 并复制到 SD 卡。

       (我还检查了.config 文件中与 NAND 相关的配置、如下所示。)

    - CONFIG_SPL_NAND_SUPPT=y

    - CONFIG_NAND_BOOT=y

     

     3:从 SD 卡引导并键入命令以将 u-boot.img 写入 NAND。

        U-Boot# MMC 重新扫描

        U-Boot# fatload MMC 0 0x82000000 u-boot.img

        U-Boot# nand ERASE.part NAND.u-boot

        U-Boot# n 并写入0x82000000 NAND.u-boot

     

    4:从 NAND 中删除 SD 卡和引导、并键入用于从 NAND 中自动引导的命令。

        U-Boot# setenv bootcmd run nandboot

        U-Boot# saveenv

    5:我检查 TeraTerm 控制台日志、如下所示

    正在将环境保存到 NAND 中...

    正在擦除冗余 NAND……

    在0x1e0000处擦除-- 100%完成。

    正在写入冗余 NAND…… 好的

    如果您有任何意见或通知、请告诉我们。

     

    此致、

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

    非常感谢您的善意。
    非常感谢您的帮助。

    此致、