跳到主要内容

镜像刷写教程

备注

本教程的部分内容仅针对 SiFive HiFive Premier P550。

我们将很快更新此文档。

演示环境

主机系统版本:Ubuntu22.04

minicom 版本:2.8

fastboot 版本: 28.0.2-debian

准备工作

硬件准备

  • USB Type A 转 USB Type C 线缆
  • USB Type A 转 USB Type A 线缆
  • 一个格式化为 FAT32 的 U 盘

镜像下载

请从 此处 下载 bootloader, boot 和 root 镜像。

  • BootFS: boot-rockos-*.ext4.zst
  • RootFS: root-rockos-*.ext4.zst
  • SD 卡和 SSD:sdcard-rockos-*.img.zst
  • 不同开发板的 Bootloader 选择:
    • ESWIN EIC7700 EVB A2: bootloader_secboot_ddr5_eic7700-evb-a2.bin
    • ESWIN EIC7700 EVB A3: bootloader_secboot_ddr5_eic7700-evb-a3.bin
    • SiFive HiFive Premier P550: bootloader_secboot_ddr5_hifive-p550.bin
    • Milk-V Megrez: bootloader_secboot_ddr5_milkv-megrez.bin
    • PINE64 StarPro64: bootloader_secboot_ddr5_pine64-starpro64.bin

bootfs 及 rootfs 请下载后进行解压,bootloader 文件下载完成后请拷贝到已经格式化为 FAT32 的 U 盘中。

镜像刷写

请用 USB Type A 转 USB Type C 以及 USB Type A 转 USB Type A 将开发板与主机相连。

根据官方手册中 3.1.6 部分的内容

USB Type A 转 USB Type A 将接入编号 10 双 USB Type-A 连接器中靠上的接口。

USB Type A 转 USB Type C 接入编号 15 Type-C USB 连接器。

bootloader

首先通过串口连接到开发板,在线缆正确接入开发板后,会列举为四个 UART。

根据MCU 用户手册中 2.1.1.1 节的内容,我们在 minicom 中将 ttyUSB2 设置为连接路径,波特率设置为 115200。

提示

下表仅针对 SiFive HiFive Premier P550 开发板,其它开发板可能不同。

序号设备
00SOC JTAG (eic7700x mcpu)
01MCU JTAG (stm32)
02SOC UART (eic7700x uart0)
03MCU UART (stm32 uart3)
sudo minicom -D /dev/ttyUSB2 -b 115200

插入准备好的含有 bootloader 文件的 U 盘。

按下电源键启动后,观察 minicom 窗口内,按任意键打断 U-Boot 加载。

执行下面的命令,查看 U 盘内的文件。

usb start

fatls usb 0 / # 如U盘内存在多个文件时请确认bootloader文件的存放路径

确认 U 盘内文件正确后执行下面命令

fatload usb 0 0x90000000 bootloader_secboot_ddr5_hifive-p550.bin

es_burn write 0x90000000 flash

重启后再次打断机器执行分区(第一次刷写必选,需要给分区足够大小容纳刷写 boot/root)

reset 
# 打断uboot启动
run gpt_partition

Boot&Rootfs

在启动并打断机器后输入以下命令进入 fastboot 状态 (需要提前拔掉 USB Type A 转 USB Type A 线缆,避免电路冲突或者通信冲突)

fastboot usb 0

在主机上另开一个终端,执行刷写命令

sudo fastboot flash boot boot-eswin_evb-20241024-145708.ext4 # 刷写boot
sudo fastboot flash root root-eswin_evb-20241024-145708.ext4 # 刷写rootfs
# 请注意文件路径 刷写时间大约在10分钟左右

返回 minicom 端口后按任意键取消 fastboot 状态,随后执行 reset 重启机器。

至此 rockOS 镜像刷写完成。