We have an example for demonstrate the functionality of FX3 boot APIs. Please check the FX3BootAppGcc example in the FX3 SDK.
The application lets the user to download the final application over control endpoint. After the application has been downloaded to the SYSMEM the control is transferred to the application. By default the application enables the no re-enumeration feature. Corresponding changes to the
final application are required. The final application is just expected not to set the descriptors and issue the connect call if the no re-enumeration feature is to be made use of. When this feature is used the descriptors across the booter and the final application are expected to be same. The
noReEnum parameter of the function CyFx3BootUsbStart () is to be set to CyFalse if the no re-enumeration feature is to be disabled. In this case, no changes to the final application are required. If you have different requirements, please clarify.