utils/bin_gen.py
To compose flash image binary file from separated binary files.
This script combines .bin files in folder, flash_bin, in a predefined order.
Binary placing offset for KL520 flash should align with 4KB
Prerequisite
pip install argparse numpy
Command
$ python3 bin_gen.py <options>
usage: bin_gen.py [-h] [-p] [-f FLASH_SIZE] [-n]
optional arguments:
-h, --help show this help message and exit
-p, --CPU_ONLY FW only
-f FLASH_SIZE, --flash_size FLASH_SIZE
target board flash size in MB
-n, --no_usb_loader_mode
flash table for no usb loader mode
Default flash size is 32 MB
Note
The following bin files are must
flash_bin
├── boot_spl.bin // bool spl bin file
├── fw_loader.bin // LOADER bin file (or copied from plus/res/firmware/KL520)
├── fw_ncpu.bin // SCPU FW bin file (generated by Keil)
├── fw_scpu.bin // NCPU FW bin file (generated by Keil)
├── prog_fw_loader_flash-boot.bin // switch to flash boot bin file (or copied from kl520_sdk/utils/JLink_programmer/kdp2)
├── models_520.nef // model information(or copied from plus/res/models/KL520)
** if -n is specified (no usb loader mode) **
flash_bin
├── boot_spl.bin // bool spl bin file
├── fw_ncpu.bin // SCPU FW bin file (generated by Keil)
├── fw_scpu.bin // NCPU FW bin file (generated by Keil)
├── models_520.nef // model information(or copied from plus/res/models/KL520)