INFO

QSPI Controllers implement byte/bit strip logic. Which mean's when an image is flashed, its stripped bit/byte wise into two flashes. User can use u-boot or Linux apps to flash the image after boot. By using flash strip utilities, we can flash the image pre-boot without using u-boot.

Build flash strip

Bit strip utilities:

SOURCE=flash_stripe.c
gcc $SOURCE -o flash_strip
gcc $SOURCE -o flash_unstrip

Byte Strip Utilities:

SOURCE=flash_stripe.c
gcc $SOURCE -o flash_strip_bw -DFLASH_STRIP_BW
gcc $SOURCE -o flash_unstrip_bw -DUNSTRIP -DFLASH_STRIP_BW

Create Flash files:

dd if=/dev/zero bs=128M count=1 of=qemu_qspi_tmp.bin
dd if=BOOT.BIN of=qemu_qspi_tmp.bin bs=1 seek=0 conv=notrunc
flash_strip_bw qemu_qspi_tmp.bin qemu_qspi_low.bin qemu_qspi_high.bin

Note:

Bit strip is used in legacy QSPI. Byte strip is used in GQSPI.