Alex Blog

SolidRun Hailo15 SOM 设备恢复指南

刷机所需文件及位置

根据Solidrun wiki介绍,恢复H15 SOM时,需要将文件分别刷入QSPI Flash和eMMC中。以下是各个文件的作用及存储位置:

文件名称 作用 目标存储位置
hailo15_scu_bl.bin SCU Bootloader QSPI Flash
hailo15_scu_fw.bin SCU Firmware QSPI Flash
scu_bl_cfg_a.bin, scu_bl_cfg_b.bin SCU配置文件 QSPI Flash
customer_certificate.bin 客户密钥证书 QSPI Flash
u-boot.dtb.signed U-Boot设备树 QSPI Flash
u-boot-initial-env U-Boot环境变量 QSPI Flash
u-boot-spl.bin U-Boot SPL QSPI Flash
u-boot-tfa.itb TF-A 和 U-Boot eMMC Boot分区
fitImage Linux内核及设备树 eMMC Boot分区
core-image-minimal-hailo15-solidrun.ext4 根文件系统 eMMC Root分区
core-image-minimal-hailo15-solidrun.wic 完整eMMC映像,包含两个分区 eMMC
hailo15_uart_recovery_fw.bin QSPI恢复固件 QSPI Flash

刷写指令

这些文件可以通过以下指令刷入(具体刷flash方式请查看wiki):

uart_boot_fw_loader --serial-device-name /dev/ttyUSB0 --firmware hailo15_uart_recovery_fw.bin
hailo15_spi_flash_program --serial-device-name /dev/ttyUSB0 --uart-load --scu-bootloader ./hailo15_scu_bl.bin --scu-bootloader-config scu_bl_cfg_a.bin --scu-firmware ./hailo15_scu_fw.bin --uboot-device-tree ./u-boot.dtb.signed --bootloader ./u-boot-spl.bin --bootloader-env ./u-boot-initial-env --customer-certificate ./customer_certificate.bin

NFS服务器的配置

  1. 安装NFS服务器
    sudo apt-get install nfs-kernel-server
  2. 创建NFS导出目录
    sudo mkdir -p /mnt/hailo15_nfs
  3. 挂载NFS映像
    sudo losetup -fP core-image-minimal-hailo15-solidrun.wic
    sudo mount /dev/loop30p2 /mnt/hailo15_nfs
  4. 配置NFS导出
    /mnt/hailo15_nfs  *(rw,sync,no_subtree_check)
  5. 重启NFS服务器
    sudo exportfs -a
    sudo systemctl restart nfs-kernel-server

TFTP服务器的配置

  1. 安装TFTP服务器
    sudo apt update
    sudo apt install tftpd-hpa
  2. 配置TFTP服务器
    TFTP_USERNAME="tftp"
    TFTP_DIRECTORY="/var/tftpboot"
    TFTP_ADDRESS=":69"
    TFTP_OPTIONS="--secure"
  3. 创建TFTP根目录并设置权限
    sudo mkdir /var/tftpboot
    sudo chown tftp:tftp /var/tftpboot
    sudo chmod -R 775 /var/tftpboot
  4. 重启TFTP服务
    sudo systemctl restart tftpd-hpa
  5. 检查TFTP服务状态
    sudo systemctl status tftpd-hpa

eMMC分区及系统安装

  1. 分区eMMC
    sudo fdisk /dev/mmcblk1

    创建两个分区:

    Command (m for help): n
    Partition type: p
    Partition number: 1
    First sector: 默认
    Last sector: +64M
    Command (m for help): t
    Hex code: b
    Command (m for help): n
    Partition number: 2
    First sector: 默认
    Last sector: 默认
    Command (m for help): w
  2. 格式化分区
    sudo mkfs.vfat -n boot /dev/mmcblk1p1
    sudo mkfs.ext4 -L root /dev/mmcblk1p2
  3. 挂载并复制文件
    sudo mount /dev/mmcblk1p1 /mnt/boot
    sudo cp u-boot-tfa.itb /mnt/boot
    sudo cp fitImage /mnt/boot
    sudo umount /mnt/boot
    
    sudo mount /dev/mmcblk1p2 /mnt/root
    sudo cp -r /mnt/hailo15_nfs/* /mnt/root
    sudo umount /mnt/root

注意事项:

  • 首先需要利用 tftp服务器以及NFS服务器将设备正常启动起来
  • 因为uboot环境中获取网络文件的方式是wget, 请保证tftp端口开启:sudo python3 -m http.server 80
  • uboot环境变量请及时进行保存好,实际上也大部分来自文件u-boot-initial-env
  • eMMC分区的具体方式其实参考这个H15的wic文件,或者如果你有编译这个yocto的话可以参考*.wks文件
© 2024 SolidRun Hailo15 SOM 设备恢复指南

已发布

分类

来自

标签:

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注