fx2uf2.h
The fx2uf2.h header contains USB UF2 interface support code for the Cypress FX2 series. See the Microsoft UF2 specification for details. When using this header, the fx2, fx2usb, fx2usbmassstor and fx2uf2 libraries must be linked in.
Reference
Typedefs
-
typedef const struct uf2_configuration uf2_configuration_c
Variables
-
uf2_configuration_c uf2_config
The global UF2 configuration, defined in the application code. It only makes sense for a single device to expose a single UF2 interface at a time.
-
struct uf2_configuration
- #include <fx2uf2.h>
Configuration of USB UF2 interface.
Public Members
-
uint32_t total_sectors
Total number of sectors on the virtual USB Mass Storage device. The optimal number depends on the size of the firmware, but in general, 65536 sectors (32 MiB) is a reasonable size.
-
const char *info_uf2_txt
Contents of the INFO_UF2.TXT file on the virtual USB Mass Storage device. Should be at most one sector (512 bytes) long.
-
const char *index_htm
Contents of the INDEX.HTM file on the virtual USB Mass Storage device. Should be at most one sector (512 bytes) long.
-
uint32_t firmware_size
Size of the firmware. Currently rounded up to the nearest UF2 payload size, 256, but this should not be relied on.
-
bool (*firmware_read)(uint32_t address, uint8_t *data, uint16_t length)
Firmware read function. This function should accept any
addressandlengtharguments that read bytes between0andfirmware_size(after rounding). It should returntrueif the firmware could be read, andfalseotherwise.
-
bool (*firmware_write)(uint32_t address, uint8_t *data, uint16_t length)
Firmware write function. This function is passed the UF2 blocks directly without further verification of
addressandlengthagainstfirmware_size. It should returntrueif the firmware could be written, andfalseotherwise.
-
uint32_t total_sectors