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.

[FAQ] [参考译文] [常见问题解答] 66AK2E05:如何将 u-boot 刷写到 K2E 的 SPI 中? 使用 PROCESSOR-SDK-LINUK-K2E

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1106187/faq-66ak2e05-how-to-flash-the-u-boot-into-spi-of-k2e-using-processor-sdk-linux-k2e

器件型号:66AK2E05

您好!

如何将 u-boot 刷写到 K2E 的 SPI 中?? 使用 PROCESSOR-SDK-LINUK-K2E

此致

Shankari G

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

    先决条件  

    1. 具有 Ubuntu 18.04 LTS 的 Linux-PC
    2. https://www.ti.com/tool/PROCESSOR-SDK-K2E 下载" PROCESSOR-SDK-LINUXE-K2E—适用于 K2E 的 Linux 处理器 SDK "
    3. 按照以下常见问题解答重建 u-boot: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1106109/faq-66ak2e05-how-to-build-u-boot-for-k2e-from-the-package-processor-sdk-linux-k2e

    步骤:

    1.将 u-boot 从内置映像文件夹复制到 tftp 引导文件夹。
    ========================================================================================================================


    Shankari@shankari-Latitude-E7470:~μ C/ti-processor-sdk-linux-k2e-evm-06.03.00.106/board-support/u-boot-2019.01+gitAUTOINC+333c72d3-g333c72d3$ cp -rf u-boot-spI.gpH/pboot_u-shrank

    2.主机/服务器网络配置-手动设置 IP 地址。
    ===================================================================================================


    Shankari@shankari-Latitude-E7470:~μ C/ti-processor-sdk-linux-k2e-evm-06.03.00.106/board-support/linux-4.19.94+gitAUTOINC+be5389fd85-gbe5389fd85$ ifconfig

    enp0s31f6:flags=4163  MTU 1500
           乙醚 D4:81:D7:D1:60:e8 txqueuelen 1000 (以太网)
           RX 数据包0 字节0 (0.0 B)
           RX 错误0 丢弃0 超限0 帧0
           TX 数据包136 字节25658 (25.6kB)
           TX 错误0 丢弃0溢出0 载波0 冲突0
           器件中断16 存储器0xe1200000-e1220000  

    LO:flags=73  MTU 65536
           iNet 127.0.0.1 网络掩码255.0.0.0
           inet6::1 prefixlen 128 范围 ID 0x10
           loop txqueuelen 1000 (本地环回)
           RX 数据包4450 字节303900 (303.9 KB)
           RX 错误0 丢弃0 超限0 帧0
           TX 数据包4450 字节303900 (303.9 KB)
           TX 错误0 丢弃0溢出0 载波0 冲突0

    wlp1s0:flags=4163  MTU 1500
           iNet 192.168.43.191 网络掩码255.255.255.0 广播192.168.43.255
           inet6 2401:4900:25ee:4e4:f042:bcd8:59e2:22ef prelen fix64 范围 ID 0x0
           inet6 2401:4900:25ee:4e4:d77:bf2e:aded:87af prelen fix64 范围 ID 0x0
           inet6 fe80::491f:2f81:870:f42a prefixlen 64 范围 ID 0x20
           乙醚14:AB:C5:A1:2a:70 TXqueuelen 1000 (以太网)
           RX 数据包633979 字节838345136 (838.3 MB)
           RX 错误0 丢弃0 超限0 帧0
           TX 数据包191510 字节23601148 (23.6MB)
           TX 错误0 丢弃0溢出0 载波0 冲突0

    ================================================================================================================
    上面未设置 IP 地址、因此请按如下所示手动设置。

    ================================================================================================================


    sudo ifconfig enp0s31f6 10.100.1.10更新

    ifconfig

    3.在设备终端上,请设置环境变量,如 serverip 和 EVM 的 ipaddress,如下所示。
    ============================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================================

    K2E EVM # setenv ethact K2F_EMAC0  --下行端口
    K2E EVM # setenv ethact K2E_EMAC1  --顶部端口
    K2E EVM # setenv eth1addr 01:02:03:04:05:06
    K2E EVM # setenv eth2addr 01:02:03:04:05:07
    K2E EVM # setenv ipaddr 10.100.1.11
    K2E EVM # setenv serverip 10.100.1.10
    K2E EVM # saveenv

    K2E EVM # ping 10.100.1.10
    使用 K2E_EMAC1器件
    主机10.100.1.10处于活动状态

    4.发出 tftpboot 命令

    ===========================

    K2E EVM # tftpboot 0x88000000 u-boot-spi_shank.gph

    使用 K2E_EMAC1器件


    --
    请获取 u-boot 的大小并相应地更改偏移。

    例如、u-boot 映像大小为0xa1216、对于 SPI 闪存、使用的大小约为 0x100000 (添加一些缓冲存储器并取整该值。 这些添加缓冲器和舍入对于 SPI 闪存来说不是必需的。 您可以直接使用大小0Xa1216。

    可能用于具有 ECC 的 NAND、它可能具有意义。

    --

    5将 uboot 刷写到 SPI 中:
    ===========================

    K2E EVM # SF 探头
    SF:检测到 N25Q128A、页面大小为64 KiB、总共16 MIB

    (偏移取决于 u-boot 图像大小)


    K2E EVM # SF 擦除0 0x100000


    K2E EVM # SF 写入0x88000000 0 0x100000

    ===========================

    请查看每个刷写步骤的快照。

    ------------------------------

    DIP 开关设置

    SW1:0 1 0

    按开机重置按钮

    新构建的 u-boot 将从 SPI 闪存引导

    请使用器件终端的输出消息验证 u-boot 的日期和时间戳。

    例如,我在2022年5月14日构建了 u-boot,这里显示了相同的日期,即2022年5月14日

    --------------------------------------

    此致

    Shankari G