# Flash programming configuration file

Source: [https://docs.qualcomm.com/doc/80-58740-1/topic/usage-of-qcc74x-flash-cube.html](https://docs.qualcomm.com/doc/80-58740-1/topic/usage-of-qcc74x-flash-cube.html)

The `QConn_Flash` tool requires the `flash_prog_cfg.ini`
            file to program firmware into flash. When you execute `make flash`, the
            executable file under `QConn_Flash` will be called and programmed
            according to `flash_prog_cfg.ini`.

This section introduces the syntax of `flash_prog_cfg.ini`.

To use `flash_prog_cfg.ini`, you must create keys, such as
                `[FW]`, and fill in the `filedir` and
                `address`. There are several ways to specify
            `filedir`:

- Absolute path + bin file name
- Relative path + bin file name
- Add the `_$(CHIPNAME)` suffix to the bin file name to automatically
                identify different chips (used when the bin file name prefixes are different)
- Add the `*` wildcard character to the bin file name to automatically
                complete the bin file name (used when the bin file name prefixes are different)

## MCU use case (no wireless functionality)

    [cfg]
     # 0: no erase, 1:programmed section erase, 2: chip erase
     erase = 1
     # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated
     skip_mode = 0x0, 0x0
     # 0: not use isp mode, #1: isp mode
     boot2_isp_mode = 0
    
     [FW]
     filedir = ./build/build_out/xxx*_$(CHIPNAME).bin
     address = 0x0000Copy to clipboard

- `cfg`: Represents configurations during programming, which
                    normally do not need to be changed.
- `FW`: The application firmware to be burned.
    - `filedir`: The relative path where the application
                            firmware is located, usually in the `build/build_out`
                            directory after compilation.
    - `_$(CHIPNAME).bin`: Used to automatically distinguish
                            between different chips.
    - `xxx`: Represents the application firmware name,
                            consistent with the name in `project(xxx)` in
                                `CMakeLists.txt`.
    - `*`: Indicates regular expression matching, which is
                            optional.
    - `address`: Must be `0`.

## IoT use case (with wireless functionality)

     [cfg]
     # 0: no erase, 1:programmed section erase, 2: chip erase
     erase = 1
     # skip mode set first para is skip addr, second para is skip len, multi-segment region with ; separated
     skip_mode = 0x0, 0x0
     # 0: not use isp mode, #1: isp mode
     boot2_isp_mode = 0
    
     [boot2]
     filedir = ./build/build_out/boot2_*.bin
     address = 0x000000
    
     [partition]
     filedir = ./build/build_out/partition*.bin
     address = 0xE000
    
     [FW]
     filedir = ./build/build_out/xxx*_$(CHIPNAME).bin
     address = 0x10000
    
     [mfg]
     filedir = ./build/build_out/mfg*.bin
     address = 0x210000Copy to clipboard

- `cfg`: Indicates configurations during programming, which
                    normally do not need to be changed.
- `FW`: The application firmware to be burned.
    - `filedir`: The relative path where the application
                            firmware is located, usually in the `build/build_out`
                            directory after compilation.
    - `_$(CHIPNAME).bin`: Used to distinguish different
                            chips.
    - `xxx`: Represents the application firmware name,
                            consistent with the name in `project(xxx)` in
                                `CMakeLists.txt`.
    - `address`: Specified by
                                `partition_xxx.toml`.
- `boot2`: The boot2 firmware to be burned.
    - `filedir`: The relative path where the boot2 firmware is
                            located, usually in the `build/build_out` directory after
                            compilation. Automatically copied from the
                                `bsp/board/board_name/config` directory.
    - `address`: Must be `0`.
- `partition`: The partition firmware to be burned.
    - `filedir`: The relative path where the partition firmware
                            is located, usually in the `build/build_out` directory
                            after compilation. Automatically converted from
                                `partition_xxx.toml` in the
                                `bsp/board/board_name/config` directory into a bin
                            file and copied.
    - `address`: Specified by
                                `partition_xxx.toml`.
- `mfg`: The mfg firmware to be burned (optional).
    - `filedir`: The relative path where the mfg firmware is
                            located, usually in the `build/build_out` directory after
                            compilation. Automatically copied from the
                                `bsp/board/board_name/config` directory.
    - `address`: Specified by
                                `partition_xxx.toml`.

Note: If `partition` is used, the address can use
                    `partition` instead of an absolute address.
                    `partition` will automatically find the corresponding address
                from `partition_xxx.toml`.

**Parent Topic:** [Application development](https://docs.qualcomm.com/doc/80-58740-1/topic/application_development.html)

Last Published: Feb 11, 2026

[Previous Topic
CMake framework](https://docs.qualcomm.com/bundle/publicresource/80-58740-1/topics/usage-of-cmake-framework.md) [Next Topic
FreeRTOS](https://docs.qualcomm.com/bundle/publicresource/80-58740-1/topics/operating-system.md)