Windows 环境下烧写镜像

对于第一次使用 ICE-RVB、ICE-EVB 开发板的开发者,需要根据以下几个步骤完成开发板的镜像烧写:

  • 第一步:烧录前准备:下载烧录工具(C-SKY Chip Tool)、检查开发板与电脑的串口连接情况
  • 第二步:下载镜像文件(ice_images)
  • 第三步:通过 C-SKY Chip Tool (CCT) 将 u-boot 镜像烧写到开发板的 eMMC 存储器
  • 第四步:在 u-boot 环境下使用 fastboot 工具,将 boot.ext4 (内核、openSBI、dtb)、rootfs.ext4 (根文件系统) 镜像烧写到 eMMC
  • 第五步:重启开发板,即可以进入Linux 控制台

Windows 下有很多串口工具,推荐使用开源工具 PuTTY 进行串口操作。

第一步:烧录前准备

下载烧写工具

在此连接下载 CCT_V0.95 工具:https://yoc.docs.t-head.cn/tools/CCT_V0.95.zip

将下载的 zip 文件中 CCT_V0.95 文件夹解压到电脑上,下图为解压到桌面:

windows_CCT_工具

连接镜像传输串口

参考 开发板接线 《烧写系统连接图》完成开发板的串口连接,烧写 u-boot 需要使用开发板的 CCT 烧写串口。 运行 CCT.exe 启动 CCT 烧写工具。

安装 fastboot

最新 fastboot 工具可从官网下载,下载地址:https://developer.android.google.cn/studio/releases/platform-tools ,点击 下载适用于 Windows 的 SDK Platform-Tools,下载 zip 文件为 platform-tools_rxx.x.x-windows.zip,将 zip 文件中 platform-tools 文件夹解压到电脑上,下图为解压到桌面:

windows_fastboot_工具

使用其中 fastboot.exe 和 AdbWinApi.dll 两个文件,fastboot 工具需要在 cmd 终端下使用命令行执行。

第二步:下载镜像

访问 http://mirrors.aliyun.com/thead/images/riscv64-ice/ice_images.zip 下载最新镜像并解压到电脑上,如 D:\ 下:

windows_iceimage_镜像文件

需要用到的是如下几个文件:

  • ice_ck910_imgwriter_asci_v5.bin: CCT 烧写 u-boot镜像工具
  • u-boot-with-spl_ice-rvb.bin: ICE-RVB uboot 引导镜像文件
  • u-boot-with-spl_ice-evb.bin: ICE-EVB uboot 引导镜像文件
  • boot.ext4: /boot 分区文件系统,ext4格式,包含 fw_jump.bin、uImage、hw.dtb
  • debian-rootfs.ext4: Debian 基础根文件系统镜像,ext4 格式

第三步:烧写 u-boot

CCT 连接配置

CCT 软件运行界面如下图所示,首先配置 CCT 的参数,其中:

• Port 配置的是 CCT 烧写串口:根据实际电脑情况设置相应串口 Port

• Mem R.W Speed 是镜像传输协议速度:使用默认值

image.png

连接设备

操作步骤:

EVB 开发板上电 -> 确认勾选 always,点击 Connect Device —> 按 EVB 开发板上 系统复位键 ,复位开发板,出现 "Connect device success." 即表示连接成功,进入下一步镜像烧写步骤。

image.png

配置烧写目标参数

连接成功之后,需要配置镜像烧写参数,配置方法如下图所示:

image-20201224171320625

  1. Image Writer: 设置 ImageWriter 固件文件
  2. Image File: 设置将要烧写到开发板的镜像文件
  3. Target Device: 镜像烧写的目标设备(常见选择为“OutsideEmmcFlash-0”,意为 eMMC 的 boot0 区域)
  4. Addr: 镜像烧写到存储设备的偏移值。 (FYI,图中文件名为示意文件名,具体视产品项目而定)

开始烧写

点击用户界面上的 Download 按钮,镜像就会开始自动下载与烧写。完成后,在完成之后,在用户界面的日志窗口中,将会出现 “Verify data success.” 的内容提示,表示镜像完成了烧写。

第四步:烧写开发板镜像

开发板 u-boot 配置

参考 开发板接线 《系统连接图》完成开发板的串口连接,使用Console 串口进行控制。

串口终端工具配置

PuTTY是一款集成虚拟终端、系统控制台和网络文件传输为一体的自由及开放源代码的程序,它支持多种网络协议,可从官网下载:

https://www.putty.org/ ,根据实际电脑系统下载 32位或 64位版本。

32位版本(https://the.earth.li/~sgtatham/putty/latest/w32/putty-0.74-installer.msi)

64位版本(https://the.earth.li/~sgtatham/putty/latest/w64/putty-64bit-0.74-installer.msi)

启动 PuTTY,进行串口参数设置。

  1. 按照实际电脑系统情况,在 Serial line 设置串口号,Speed 设为 115200
  2. Flow control 设置为 None注意:此步骤一定要设置正确,否则会造成串口终端无法输入。
  3. 保存配置,下次启动直接在Saved Sessions 中点击相应配置即可连接。
  4. 启动 PuTTY 串口终端。

windows_putty_config

开发板重新开机后进入 u-boot 命令模式,当 Console 串口出现如下提示时,按任键即可进行命令模式。关于 u-boot 的详细命令介绍可参见: u-boot 章节中关于命令使用的介绍。

Warning: ethernet@3fffc0000 (eth0) using random MAC address - a6:7d:bc:02:7d:4d
eth0: ethernet@3fffc0000
Hit any key to stop autoboot:  3    <--- 出现此信息时按任意键进入uboot

u-boot 配置命令列表如下:

# 恢复默认值
env default -a

# 配置 eMMC 分区
setenv uuid_rootfs "80a5a8e9-c744-491a-93c1-4f4194fd690b"
setenv partitions "name=table,size=2031KB"
setenv partitions "$partitions;name=boot,size=60MiB,type=boot"
setenv partitions "$partitions;name=root,size=-,type=linux,uuid=$uuid_rootfs"
gpt write mmc 0 $partitions

# 配置网络

# !!!!!!!!!!!!!!!!!!!! 特别注意 !!!!!!!!!!!!!!!!!!!!!!!!
# 如果网络中接入多块 ICE-EVB 开发板,每块开发板的 ethaddr 要唯一
setenv ethaddr 00:a0:a0:a0:a0:a1   # 如果网络中接入多块 ICE-EVB 开发板,ethaddr 要唯一
setenv ipaddr 192.168.1.100        # 开发板 IP 地址
setenv netmask 255.255.255.0
# ping 192.168.1.1                 # ping 主机的IP,检验网络是否正常
saveenv                            # 将配置保存到 eMMC, 下次启动时无需再配置

# 开启fastboot模式
fastboot udp

烧写 boot 分区

在电脑上使用使用 fastboot 命令完成镜像烧写,192.168.1.100 是开发板的运行 u-boot 时配置的 IP 地址,使用 fastboot 命令前确认电脑与开发板在同一个子网。

为方便操作,可将 fastboot.exe、AdbWinApi.dll 两个文件拷贝到解压后的 ice_images 目录,启动 windows 的 cmd 终端,如解压到D盘,进入 D:\ice_images 目录(下载目录根据实际电脑目录填写):

cd D:\ice_images
fastboot.exe -s udp:192.168.1.100 flash boot boot.ext4

烧写镜像

ICE-EVB 开发板提供三种根文件系统镜像,开发者可以根据自己的需要选择下载:

镜像 下载地址 大小
基本镜像(debian-base) http://mirrors.aliyun.com/thead/images/riscv64-ice/debian-rootfs.ext4.gz 59MB
开发镜像 (debian-dev) http://mirrors.aliyun.com/thead/images/riscv64-ice/debian-dev-rootfs.ext4.gz 197MB
xfce 桌面(debian-desktop) http://mirrors.aliyun.com/thead/images/riscv64-ice/debian-desktop-rootfs.ext4.gz 517MB

解压 gz 文件,可下载安装开源数据压缩程序 7-Zip,官网 https://www.7-zip.org/,根据实际电脑情况下载:

32位版本 (https://www.7-zip.org/a/7z1900.exe)

64位版本 (https://www.7-zip.org/a/7z1900-x64.exe)

选项一:烧写基本系统镜像

镜像文件(ice_images)中带有 debian-rootfs.ext4 镜像,可直接使用 fastboot 命令烧写:

fastboot.exe -s udp:192.168.1.100 flash root debian-rootfs.ext4

选项二:烧写开发者镜像

下载文件 http://mirrors.aliyun.com/thead/images/riscv64-ice/debian-dev-rootfs.ext4.gz 并解压,得到 debian-dev-rootfs.ext4 镜像,再用 fastboot 命令烧写:

fastboot.exe -s udp:192.168.1.100 flash root debian-dev-rootfs.ext4

选项三:烧写 XFCE 镜像

下载文件http://mirrors.aliyun.com/thead/images/riscv64-ice/debian-desktop-rootfs.ext4.gz 并解压,得到 debian-desktop-rootfs.ext4 镜像,再用 fastboot 命令烧写:

fastboot.exe -s udp:192.168.1.100 flash root debian-desktop-rootfs.ext4

第五步:启动 Linux

完成 Linux 烧写后,重新启动 ICE EVB 开发板,开发板 console 串口显示如下:

[  OK  ] Started Serial Getty on hvc0.
[  OK  ] Started Serial Getty on ttyS0.
[  OK  ] Reached target Login Prompts.
[  OK  ] Started System Logging Service.
[  OK  ] Finished Remove Stale Onli…ext4 Metadata Check Snapshots.
[  OK  ] Reached target Multi-User System.
[  OK  ] Reached target Graphical Interface.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Finished Update UTMP about System Runlevel Changes.

Debian GNU/Linux bullseye/sid thead-910 ttyS0

thead-910 login: [   94.362252] random: crng init done
[   94.365674] random: 6 urandom warning(s) missed due to ratelimiting

thead-910 login:

登录用户名 root,无密码,开发者可根据需要更改密码。

完成 ICE-EVB 开发板的镜像烧写后,下一步进入 系统配置 章节,进行开发板的基本系统配置。

results matching ""

    No results matching ""