按照以下步骤更新 NOR 闪存中的 DPAA2 MC 固件、DPC 和 DPL 图像。
qixis_reset从 NOR 组 0 启动电路板, qixis_reset altbank从 NOR 组 4 启动电路板。
克隆 qoriq-mc-binary 代码库。
预构建的 MC 固件映像mc_10.18.0_ls2088a.itb位于 / qoriq-mc-binary/ls2088a/ 。
请注意,MC 固件映像的名称可能因所使用的发布版本而异。
克隆 mc-utils 代码库并编译 DPC 和 DPL 镜像。
编译后的dpc.0x2A_0x41.dtb和dpl-eth.0x2A_0x41.dtb图像可在/mc-utils/config/ls2088a/RDB/处获得。
请注意,DPC 和 DPL 图像的名称可能因所使用的发布版本而异。
对于 LS2088ARDB,在启动日志中,您将看到:
主板:LS2088AE Rev1.1-RDB,主板架构:V1,主板版本:F,从 vBank 启动:0
可以从 TFTP 服务器或大容量存储设备(SD、USB 或 SATA)将图像加载到LS2088ARDB 。
主板启动后,U-Boot 会打印出已启用的以太网接口列表。
DPMAC1@xgmii, DPMAC2@xgmii, DPMAC3@xgmii, DPMAC4@xgmii, DPMAC5@xgmii, DPMAC6@xgmii, DPMAC7@xgmii, DPMAC8@xgmii
=> setenv serverip
将 ethact 和 ethprime 设置为连接到 TFTP 服务器的以太网接口。
看 LS2088ARDB以太网端口映射 用于将机箱前面板上显示的以太网端口名称与 U-Boot 和 Linux 中的端口名称进行映射。
=> setenv ethprime
例如:
=> setenv ethprime DPMAC1@xgmii
=> setenv ethact
例如:
=> setenv ethact DPMAC1@xgmii
静态 IP 地址分配:
=> setenv ipaddr
=> setenv netmask
动态 IP 地址分配:
=> dhcp
=> ping $serverip
使用DPMAC1@xgmii设备
主机 192.168.1.1 是活跃的。
地址0x 584A0000是备用 NOR 存储体中 MC 固件的位置。请参阅Flash 布局,了解使用 TF-A 的新启动流程,了解完整的Flash 布局。
地址 0x584D00000 是备用 NOR 存储体中 DPL 映像的位置。 请参阅 采用 TF-A 的新启动流程的闪存布局, 实现 完整 的闪存布局。
地址 0x584E00000 是备用 NOR 存储体中 DPC 映像的位置。 请参阅 采用 TF-A 的新启动流程的闪存布局, 实现 完整 的闪存布局。
确保已安装 LSDK Ubuntu 发行版的 SD 卡、USB 闪存驱动器或 SCSI 硬盘已插入开发板,以便将开发板启动到 Ubuntu。如果 U-Boot 在大容量存储设备上未找到 LSDK,它将从 lsdk_linux_arm64_tiny.itb 存储在NOR闪存中。
=> mmc rescan=> mmc info或者
=> usb start => usb info
或者
=> scsi scan
=> scsi info
=> ls mmc
例如:
=> ls mmc 0:2
或者
=> ls usb
例如:
=> ls usb 0:1
或者
=> ls scsi
例如:
=> ls scsi 0:2
如果 ls 命令运行失败,请在 U-Boot 提示符下输入 ls,检查 NOR bank 0 中的 U-Boot 是否支持该命令:
=> ls ls - 列出目录中的文件(默认)
用法: ls
[ - 列出设备类型 [interface] 和实例 [dev] 上分区 [part] 的目录 [directory] 中的文件。[目录]] 如果 U-Boot 不支持此命令,则更新 NOR bank 0 中的复合固件映像。
有关更新 NOR 库中的复合固件映像的步骤,请参阅 Layerscape 软件开发套件用户指南 。
如果使用 LSDK flex-installer 命令格式化/创建 SD 卡,请使用以下命令:
=> 加载
[ 例如:[ [ [字节数 [位置]]]]] => 加载 mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb 如果 SD 卡是在 Windows PC 上格式化/创建的,请使用以下命令:
=> fatload
[ 例如:[ [ [字节数 [位置]]]]] => 脂肪负载 mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb 如果 SD 卡是在 Linux PC 上格式化/创建的,请使用以下命令:
=> ext2load
[ 例如:[ [ [字节数 [位置]]]]] =>ext2load mmc 0:2 $load_addr mc_10.18.0_ls2088a.itb 还要注意,LSDK flex-installer 命令将图像放在 IInd 分区上,因此在加载命令中使用 0:2。如果 SD 卡在 Windows PC 或 Linux PC 上仅格式化为单个分区,则在 fatload/ext2load 命令中应使用 0 而不是 0:2。
=> load mmc 0:2 80000000
例如:
=> 加载 mmc 0:2 80000000 mc_10.18.0_ls2088a.itb
=> 打印文件大小
或者
=> load usb 0:2 80000000
=> 打印文件大小
或者
=> load scsi 0:2 80000000
=> 打印文件大小
将 MC 固件映像编程到 NOR bank 4 (启动后 来自 NOR 组 0) : =>擦除0x584A00000 +$filesize;cp.b 80000000 0x584A00000 $filesize
地址 0x584A00000 是备用 NOR 组中 MC 固件的位置。 请参阅 采用 TF-A 的新启动流程的闪存布局, 实现 完整 的闪存布局。
Flash DPL镜像:
=> 加载 mmc 0:2 80000000
例如:
=> load mmc 0:2 80000000 dpl-eth.0x2A_0x41.dtb
=> 打印文件大小
或者
=> load usb 0:2 80000000
=> 打印文件大小
或者
=> load scsi 0:2 80000000
=> 打印文件大小
将 DPL 映像编程到 NOR bank 4 (启动后 来自 NOR 银行 0) : =>擦除 0x584D00000 +$filesize;cp.b 80000000 0x584D00000 $filesize
地址 0x584D00000 是备用 NOR 闪存中 DPL 映像的位置。 请参阅 采用 TF-A 的新启动流程的闪存布局, 实现 完整 的闪存布局。
烧录 DPC 镜像:
=> 加载 mmc 0:2 80000000
例如:
=> load mmc 0:2 80000000 dpc.0x2A_0x41.dtb
=> 打印文件大小
或者
=> load usb 0:2 80000000
=> 打印文件大小
或者
=> load scsi 0:2 80000000
=> 打印文件大小
将 DPC 映像编程到NOR bank 4 (启动后 来自 NOR 组 0) : =>擦除 0x584E00000 +$filesize;cp.b 80000000 0x584E00000 $filesize
地址 0x584E00000 是备用 NOR 闪存中 DPC 映像的位置。 请参阅 采用 TF-A 的新启动流程的闪存布局, 实现 完整 的闪存布局。
确保安装了 LSDK Ubuntu 发行版的 SD 卡、USB 闪存驱动器或 SCSI 硬盘插入主板,以将主板启动到 Ubuntu。如果 U-Boot 在大容量存储设备上找不到 LSDK,它将从 lsdk_linux_arm64_tiny.itb 存储在NOR闪存中。