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/66AK2L06:NOR 闪存更新失败、无法恢复或引导至 Linux

Guru**** 2979400 points

Other Parts Discussed in Thread: 66AK2L06

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/669190/linux-66ak2l06-nor-flash-update-failed-and-cannot-recover-or-boot-to-linux

器件型号:66AK2L06

工具/软件:Linux

我们有一个全新的66AK2L06开发板(TCIEVMK2LX K2L 评估模块)。  我以交互方式使用 uboot 来擦除 norflash、并将目录 ti-processor-sdk-linux-K2L-EVM-04.02.00.09/board-support/u-boot-2017.01+gitAUTOINC+340fb36f04-g340fb36f04中的文件 u-boot.bin 刻录到 norflash 中。

执行此操作后、处理器甚至拒绝开始运行 uboot。  即、我好像在某种程度上窃取了包含 uboot 的 norflash 内容。  我可能在那里放置了错误的文件、或者没有在那里获取整个文件。  某种情况。  但是、当我发出这些命令时、擦除和闪存写入似乎已经成功完成、没有任何抱怨。

我现在正在尝试将 uboot 恢复为 norflash、目前还没有成功。

此时、我尝试遵循的路径是转到 BMC、告诉它'bootmode #4'、然后'reboot'、然后使用控制台终端中的 XMODEM 向机器发送 uboot 版本。

在 Uboot 运行时、我相信我可以重试 NOR 闪存、看看是否可以恢复开发板。

当我告诉 BMC 在引导模式4中执行重新引导时,我看到 XMODEM 协议接收端的"C"字符,这是令人鼓舞的。  我看到 minicom 开始传输 uboot.bin 文件、这也是令人鼓舞的。  但是"砖墙"。  XMODEM 传输的接收器发回 NAK 字符、最终 XMODEM 发送器超时。

那么: 是否有人可以就恢复 norflash u-boot 代码并使开发板恢复正常运行的最佳、最简单、最安全和最可靠的方法向我提供一些指导或建议??

我相对确定电路板的物理状况良好(不要认为我油炸了任何东西)。  但是、我没有一个恢复开发板上的 norflash 的可行过程。

我想、在一个德州仪器(TI)网站上有一个关于初始化完全空白的评估板的文档记录程序(将 uboot 放入 norflash 中、但将文件系统放入 nand flash 中)。  我应该尝试一下吗?

(此时有点绝望——任何帮助都将得到深切感谢。)

提前感谢、

Greg Johnson

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    如果有人有类似的问题、请使用 google 查找帮助、并找到此问题、我发现了以下解决方案。 (这是我对自己的问题的回答、因为 TI 的任何人在等待一周后都没有回答。)

    在根据以下各种 TI 网页尝试恢复 NORFLASH 失败后、我返回并仔细使用了 ti-processor-sdk-linux-K2L-EVM-04.02.00.09附带的"setup.sh"脚本。

    对于此平台的其他新手、以下是一些有用的知识。 我目前正在使用 TI 66AK2L06 SOC 和"EVLK2L 评估模块"。 该框的标识符为"TCIEVMK2LX"。 我在64位笔记本电脑上安装了 Ubuntu 16.04 LTS 的新副本。 如果您的设置以任何方式偏离了这一点、以下建议可能不有用。 我发现大量 TI 和其他网站提供了错误和/或过时的器件或设置信息、这些信息与我尝试启动和运行的系统"几乎相同"。

    -*明确*使用 USB 电缆将评估板 LCD 下方和左侧的小型 USB 插槽连接到 Linux 盒上的 USB 连接器。 当两侧均已通电时、这将在您的 Linux 盒上创建/dev/ttyUSB0和/dev/ttyUSB1。 (如果您没有看到这些/dev/dev 设备,请忽略本说明的其余部分并找出原因。)

    -确保开发板上的下部 CAT-5连接器连接到具有可用活动 DHCP 服务器的以太网冲突域。 确保您的开发 Linux 系统也连接到该冲突域、 并且 IP 地址与配置 DHCP 服务器以提供给 DHCP 客户端的 IP 地址位于同一子网中(最简单的方法是将开发系统配置为通过 DHCP 服务器获取 IP 地址)。

    我发现./setup.sh 脚本在几个地方是错误的或误导的,但经过相当多的努力,我最终能够使用它。 我使其工作的方式是最初使用 sudo:"sudo ./setup.sh"。 它将询问您的用户名、默认选项为"root"。 我为它提供了我的实际用户名。 它会说它必须"适当安装"多个软件包。 此步骤将失败。 它将为您提供两个手动"适当安装"选项。 终止 setup.sh、并在列出的第二个选项上手动执行'sudo apt install'。

    -然后,重新运行 setup.sh。 这一次、您应该完成"安装软件包"步骤。

    -允许 setup.sh 执行它请求的所有操作,包括在开发系统上设置/tftpboot 和 NFS 服务器。

    -它将询问 SOC 上的控制台终端、并建议使用/dev/ttyS0. 请发送/dev/ttyUSB0。 该脚本稍后将自动检测/dev/ttyUSB0是否适用于嵌入式 Linux、/dev/ttyUSB1是否适用于 BMC 控制器。 因此、您可以将其保留为此错误/无效默认值。 对此不确定;我知道为其提供 ttyUSB0选项将起作用。 当我最初使用开发板快速入门指南上标有"D"的串行板连接器时、setup.sh 脚本一直在尝试对嵌入式 Linux 控制台和 BMC 控制器使用/dev/ttyUSB0、 然后发生故障、因为您不能同时使用相同的/dev/device。

    -在后续问题序列中选择"是"、您确实希望 setup.sh 重新安装并更新您的引导加载程序。

    -我还说了"是",让 setup.sh 重新配置启动过程,以便在我的 Linux 主机上使用 targetNFS。 您可以拒绝此选项、也可以拒绝让 setup.sh 重新刷写嵌入式 NAND 文件系统的选项。 我没有尝试过这种方法、发现如果您完全偏离了他们测试的"快乐路径"、TI 软件就会非常脆弱。

    -脚本将自动创建 minicom 脚本,然后重新刷写系统。 这是它自己做的关键事情、(ahem)拯救了我的培根、恢复了我的魔法 SOC。

    NAND 文件系统的下载和重新刷新时间非常长-没有准确计时、但看起来好像是一个小时。

    整个过程完成后、setup.sh 只在启动过程中出现打开的 minicom 窗口时卡住、似乎已失败。 但是、您可能在此时还可以、并且没有完整的、恢复的和更新的 NOR 闪存。 我从 minicom 窗口手动退出、并手动终止挂起的 setup.sh 脚本。

    我重新启动了、系统在我的开发机器上获取了 NFS 文件系统、然后从那里顺利启动。

    因此、很高兴结束令人担忧的故事!

    总体而言、启动该系统并为开发做好准备是一个非常痛苦和耗时的过程。 我仍然有一些未解决的问题、例如如何在开发平台上交叉编译和构建 Linux 二进制文件。 正如我所说的、SOC 上的 gcc 编译器的配置方式与 TI 提供的 ti/gcc-arm-none-eabi-6-2017-Q1-update 目录中提供的 gcc 交叉编译器不同。 我可以获得(例如) MessageQBench。c 在嵌入式本机 gcc 编译器上进行编译(在对产品进行大量手动配置之后)。 MAK)、但无法使用交叉编译器在开发系统上编译 MessageQBench。 我将向 e2e.ti.com 提交一个有关这方面的问题、但我没有收到对2e2.ti.com 上三个帖子的单个回复、因此我不确定是否有人监控该帖子并回复用户的问题。

    祝您好运!

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