Question: How do I perform a warm reset in FX3?
Follow these steps to perform a warm reset in FX3:
- If any serial peripherals are used by the application, they need to be de-initialized.
- The firmware entry location must be stored at the address 0x40000000 before calling the CyU3PDeviceReset() API.
/* Optional: Disconnect from the USB host. */ CyU3PConnectState (CyFalse, CyTrue); /* Required: Make sure that any serial peripheral modules are stopped at this point. */ CyU3PDebugDeInit (); CyU3PUartDeInit (); CyU3PGpioDeInit (); /* Store the firmware entry address at the restart location. */ *((uint32_t *)0x40000000) = (uint32_t)(&CyU3PFirmwareEntry); CyU3PDeviceReset (CyTrue);