Sharing a method of updating the spl and uboot fastly and conveniently

The theory is using the uboot of sdcard.img to update the spl and uboot of QSPI flash.
1.Download a sdcard.img and flash into a SDcard.
2.Boot from SDIO boot mode.
3.Stop at uboot and input next command.

StarFive # setenv fileaddr 0xa0000000;setenv ipaddr;setenv serverip;
StarFive # sf probe
StarFive # tftpboot ${fileaddr} ${serverip}:u-boot-spl.bin.normal.out
StarFive # sf update ${fileaddr} 0x0 $filesize
StarFive # tftpboot ${fileaddr} ${serverip}:visionfive2_fw_payload.img
StarFive # sf update ${fileaddr} 0x100000 $filesize

4.After that you can turn your boot mode to QSPI flash and check wether the spl and uboot changed

The flash tool of sdcard.img is here:
Flashing with Linux or Windows (
If you are windows system you may need tftp64
TFTPD64 : an opensource IPv6 ready TFTP server/service for windows : TFTP server (
If you are linux system you may need tftpd-hpa
Updating SPL and U-Boot of Flash (