Custom flash memory devices

The majority of QSPI flash devices conform to the same set of parameters which define the access and usage of flash devices. However, to support instances when the flash interface parameters are different, the following section explains how to define a custom flash interface.

Details of the flash device used to store the Boot Image and Data Partition data must be specified in both the factory Boot Image and in any Data Partition files to ensure successful Factory programming and the ability to execute DFU to Upgrade the firmware.

Custom flash definition for factory programming

During the Factory programming procedure, using the XMOS XTAG debugger, the specification of the flash device is used to create the loader which is responsible for downloading the Boot Image from flash and to the device.

The flash specification is provided to xflash, as described in the Updating the Firmware section, using a .spispec file. A representative .spispec file, which supports the majority of QSPI flash devices and the Development Kits is provided in the Release Package here:


This is a text file and must be modified with any differing parameters. An example .spispec file is shown in the reference section.

Custom flash definition for Data Partition generation

The .spispec file must also be included in the Data Partition, along with the Sector size so that DFU operations can be executed correctly.


Due to the nature of the DFU function, it is critically important to test the execution of the DFU process in a target system prior to production manufacturing.