# Configuration BIN binaries
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html)
Configuration BIN binaries include FDT, BDF, and FWD. See the following sections for details about the
functions and configuration items of configuration BIN binaries, and how to generate them by using the tool provided in the SDK.
## FDT
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html)
The FDT is used to configure the image information on RRAM, mainly for SBL images. FDT is programed into the RRAM when the chip leaves the factory, and is then updated only during the OTA update for SBL images.
FDT includes the following entries:
- **SBLA**: The first SBL image in the SBLA region.
- **SBLB**: The second SBL image in the SBLB region.
- **PBL\_PATCH**: A PBL patch is a part of an SBL image. This entry is mainly used to present the PBL patch version.
- **APP**: This entry is used for both the development mode and commercial products. In commercial products, an APP image is only stored on the flash.
- **BDF**: This entry configures the BDF.
In development mode, developers have the convenience of directly burning APP BIN files onto RRAM. SBL directly jumps to the APP when the APP image is in RRAM.
An entry of FDT is called firmware description entry (FDE), which contains the following properties:
### ID
The ID property indicates the image associated with the current entry. This property has the following values.
Table : Values of the ID property
| Value | Description |
| --- | --- |
| 0 | The entry is for an SBL image |
| 1 | The entry is for a PBL patch |
| 2 | The entry is for an APP image |
| 3 | The entry is for a BDF |
### Rank
The Rank property represents the execution priority of the corresponding image. There are four levels of priority (from high to low): **Trial → Current → Golden → Aged**.
The corresponding values for these levels are as follows:
Table : Values of the Rank property
| Value | Rank | Description |
| --- | --- | --- |
| 3 | Trial | When a new OTA image arrives, the rank of the updated FDE is set as Trial, which has the highest priority after bootup. |
| 2 | Current | The Current rank is set after the new OTA image is authenticated successfully. This entry is always picked after bootup, unless there is a Trial rank entry. |
| 1 | Golden | A Golden rank entry will never be updated. The entry is always valid. |
| 0 | Aged | An Aged rank entry means it's invalid and useless. Whenever there is an Aged rank and a new OTA image arrives, the Aged rank gets updated to the Trial rank, which becomes the first selection. |
### Format
This property describes the image format of FDE. This property has the following values:
Table : Values of the Format property
| Value | Description |
| --- | --- |
| 0 | ELF |
| 1 | BIN |
SBL images must be in the ELF format, and APP images stored on the RRAM for development mode must be in the BIN format.
Note: This property isn't applicable for PBL patch.
### Address
This property specifies the start address of RRAM for the image in FDE.
The addresses of different image IDs are described in [QCC730 memory layout](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcc730_application_development.html#qcc730_memory_layout).
### State
This property represents the state of the image associated with the entry. This property has the following values:
Table : Values of the State property
| Value | State | Description |
| --- | --- | --- |
| 0 | Invalid | The image is invalid. |
| 1 | Valid | The image is valid. |
| 2 | Aborted | The image is aborted due to failure of authentication, hash verification, or self-verification. |
| 3 | New | The image in FDE is an OTA new image. This state is only valid in Trial FDE. The PBL picks the Trial FDE image to authentication if the image has the New state. |
| 4 | Verify\_pending | The image needs to be verified. The value is set by SBL itself for the OTA new image. |
### Example
The following example shows a typical FDT configuration that describes:
- Two SBL images, one is Golden rank, and the other is Current rank.
- A valid APP BIN image for the development mode.
- A BDF, which is at the end of RRAM.
| Index | ID | Rank | Format | Address | State | Version |
| --- | --- | --- | --- | --- | --- | --- |
| 0 | SBL | Golden | ELF | 0x20A400 | Valid | XXXX |
| 1 | SBL | Current | ELF | 0x212400 | Valid | XXXX |
| 2 | PBL\_PATCH | NA | NA | 0x208400 | Invalid | XXXX |
| 3 | APP | NA | BIN | 0x21A400 | Valid | XXXX |
| 4 | BDF | NA | BIN | 0x37A000 | Valid | XXXX |
### FDT tools
The FDT tools are located under qccsdk\tools\storage\firmware\_desc\_table\:
- The frn\_fwd\_table.py script file can convert FDT XML to FDT BIN.
- The three subfolders contain typical FDT XML/BIN files for three different types of SBL OTA layouts.
For more details about the three types of SBL OTA layouts, see [QCC730 OTA upgrade](https://docs.qualcomm.com/doc/80-Y8730-2/topic/firmware_upgrade.html).
The following folder structure shows the content of the firmware\_desc\_table folder:
└── firmware_desc_table
├── curr_age_fdt
│ ├── frn_curr_age_default.bin
│ ├── frn_curr_age_default.xml
│ ├── frn_curr_age_ota.bin
│ └── frn_curr_age_ota.xml
├── curr_gold_fdt
│ ├── frn_curr_gold_default.bin
│ ├── frn_curr_gold_default.xml
│ ├── frn_curr_gold_ota.bin
│ └── frn_curr_gold_ota.xml
├── curr_gold_age_fdt
│ ├── frn_curr_gold_age_default.bin
│ ├── frn_curr_gold_age_default.xml
│ ├── frn_curr_gold_age_ota.bin
│ └── frn_curr_gold_age_ota.xml
├── frn_example_fwd.bin
├── frn_example_fwd.xml
└── frn_fwd_table.pyCopy to clipboard
The syntax of using the frn\_fwd\_table.py tool is as follows:
frn_fwd_table.py [-h] --fdtxml FDTXML --fdtbin FDTBIN [--ctype {0,1}] [--printtable]Copy to clipboard
Table : frn_fwd_table.py options
| Option | Description |
| --- | --- |
| -h, --help | Show the help message and exit |
| --fdtxml FDTXML | The fdt.xml file for the firmware descriptor |
| --fdtbin FDTBIN | Firmware descriptor table binary output file |
| --ctype {0,1} | Convert type:
0: XML to binary
1: Binary to XML |
| --printtable | Print the partition table as a friendly string to the output |
**Usage examples:**
Generate FDT BIN from FDT XML:
python frn_fwd_table.py --fdtxml fdtxml.xml --fdtbin fdtbin.bin --ctype 0 --printtableCopy to clipboard
Generate FDT XML from FDT BIN:
python frn_fwd_table.py --fdtxml fdtxml.xml --fdtbin fdtbin.bin --ctype 1 --printtableCopy to clipboard
## FWD
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html)
The FWD is located at the beginning of the flash memory and describes the flash layout. FWD is followed by different regions for
specific usages. See [Figure : 1. QCC730 memory and image structure](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcc730_application_development.html#qcc730_memory_layout_0__fig_kfh_1qf_tzb) for details.
FWD can be configured by the download\_config.xml file, which is under the qccsdk\tools\fw\_upgrade folder. The following code shows an example download\_config.xml file:
Copy to clipboard
For details about each item in download\_config.xml, see the following table.
Table : The download_config.xml file
| Items in download\_config.xml | Description | Default value |
| --- | --- | --- |
| FS1\_sizeKB | Primary file system size | 64 |
| FS2\_sizeKB | Secondary file system size
FS2 size should be the same as FS1 size | 64 |
| USERDATA\_sizeKB | User data region size. Users can use this region to store user data. | 64 |
| RANK | The rank status of the partition table.
0: Golden
0xFFFFFFFF: Trial
Others: Current | 1 |
| FS1IMG | Image/data that will be programmed to primary file system region when programming | N/A |
| FS2IMG | Image/data that will be programmed to secondary file system region when programming | N/A |
| Location | Partition table and APP image location. Currently only “flash” is supported. | flash |
## BDF
Source: [https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html](https://docs.qualcomm.com/doc/80-Y8730-2/topic/configuration_bin_images.html)
The BDF is located at the end of the RRAM and occupies 24 KB of space (see [Figure : 1. QCC730 memory and image structure](https://docs.qualcomm.com/doc/80-Y8730-2/topic/qcc730_application_development.html#qcc730_memory_layout_0__fig_kfh_1qf_tzb)). Usually, there is no need to flash it unless the board doesn't have a correct BDF.
Last Published: Jun 03, 2026
[Previous Topic
Program images](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/program_images.md) [Next Topic
QCC730 boot flow](https://docs.qualcomm.com/bundle/publicresource/80-Y8730-2/topics/qcc730_boot_flow.md)