5.1. 使用 TFTP 烧录

注意

目前仅支持在 cv186ah / bm1688 上面进行tftp烧录

5.1.1. 使用前准备

  1. 下载tftp软件:

../_images/image5.png
  1. 准备好升级固件,直接将upgrade文件解压缩到tftp目录下,如下图所示 :

../_images/image6.png ../_images/image7.png
  1. 配置PC和板卡在同一网段

    • 通过网线连接PC端网口和板卡端LAN口

    • 配置PC端ip为192.168.150.100

    • 配置板卡端ip为192.168.150.10

    • 通过在uboot命令行下键入以下命令来设置ip,设置完记得执行saveenv保存设置,如下图所示:

../_images/image8.png ../_images/image9.png
  1. 测试连通性,在uboot下直接ping PC端ip地址,下图表示可以正常通信

../_images/image10.png
  1. 设置tftp软件

../_images/image111.png

5.1.2. 升级固件流程

  1. 查看每个固件在Flash中的偏移地址和大小

../_images/image12.png
  1. 从tftp服务器下载固件到指定内存地址

    • tftpboot 0x120000000 fip.bin

    • tftpboot 0x121000000 boot.emmc

    • tftpboot 0x123000000 rootfs.emmc

    • tftpboot 0x12D000000 gpt.img

  2. 从上述内存地址把固件加载到emmc指定块位置

    • mmc dev 0 1 (# 选择 emmc 并切换到 boot 分区)

    • mmc write 0x120000000 0x0 0x800 (写fip.bin到emmc boot0分区)

    • mmc dev 0 0 (# 选择 emmc 并切换到 user 分区)

    • mmc write 0x121000000 0x0 0x4000 (写 boot.emmc到emmc user分区)

    • mmc write 0x123000000 0x4e00 0x40000 (写 rootfs.emmc到emmc user分区)

    • mmc write 0x12D000000 0x0 0x4000 (写 gpt.img 到emmc user分区)

  3. 头部处理

注意

  • 如果使用 upgrade 压缩包中的固件就需要删除固件的前128字节头(boot.emmc和rootfs.emmc头部,而且rootfs.emmc除了开头128字节头外,每隔16M都有64字节的头部)

  • 如果使用 rawimages 文件夹中的固件就不用删除头,但是daily_build中的固件没有rawimages文件夹,自己编译的话会有这个文件夹