# Programming configuration file

Source: [https://docs.qualcomm.com/doc/80-58740-7/topic/programming_configuration_file.html](https://docs.qualcomm.com/doc/80-58740-7/topic/programming_configuration_file.html)

According to the programming requirements of `examples/wifi/sta/wifi_ota`,
      the configuration file `flash_prog_cfg.ini` contains information for
      programming firmware, including the partition table, boot2, firmware, mfg, and more.

Example configuration

    [cfg]
    # 0: no erase, 1: programmed section erase, 2: chip erase
    erase = 1
    # skip mode: first parameter is skip address, second parameter is skip length, multiple segments separated by ;
    skip_mode = 0x0, 0x0
    # 0: not use ISP mode, 1: use 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/wifi_ota*_$(CHIPNAME).bin
    address = @partition
    
    [mfg]
    filedir = ./build/build_out/mfg*.bin
    address = @partitionCopy to clipboard

**Configuration file components**

- `erase`: Sets the erasure method during programming.

    - `erase = 1`: The default setting, which erases the Flash according to
            the programming address and content size.
    - `erase = 2`: Erases all Flash before programming.
    - `erase = 0`: No erase operation is performed before programming
            (generally not used).
- `skip_mode`: Defines areas to be excluded from erasing and writing. The
          first parameter is the starting address, and the second parameter is the length. Multiple
          areas can be configured, separated by “;”.
- `boot2_isp_mode`: Controls whether to use ISP programming mode.

    - `boot2_isp_mode = 1`: Enables ISP programming mode.

**Firmware components**

- `boot2`: The boot2 firmware to be programmed.

    - `filedir`: Relative path where the boot2 firmware is located.
    - `address`: Must use address 0.
- **`partition:`** The partition firmware to be programmed, identified by
          the partition name.

    - `filedir`: Relative path of the partition firmware.
    - `address`: Specified by the partition table file
              `partition_xxx.toml` provided by the SDK.
- `FW`: The application firmware to be programmed, identified by FW in the
          partition table.

    - `filedir`: Relative path to the application firmware. For example,
              `wifi_ota` represents the application firmware name, and
              `$(CHIPNAME)` represents the chip type.
    - `address`: Use `@partition` to automatically obtain the
            programming address from `partition.bin`. Users can also directly specify
            the programming address, such as `address = 0x10000`.
- `mfg`: The mfg firmware to be programmed, identified by mfg in the
          partition table.

    - `filedir`: Relative path of the mfg firmware.
    - `address`: Use `@partition` to automatically detect the
            mfg address from `partition.bin`. Users can also directly specify the
            programming address, such as `address = 0x210000`.

**Parent Topic:** [QConn_Flash](https://docs.qualcomm.com/doc/80-58740-7/topic/qconn_flash.html)

Last Published: May 13, 2025

[Previous Topic
Programming methods](https://docs.qualcomm.com/bundle/publicresource/80-58740-7/topics/programming_method.md#Toc160038695) [Next Topic
Additional programming options](https://docs.qualcomm.com/bundle/publicresource/80-58740-7/topics/additional_programming_options.md#Toc160038701)