Warm Reset in FX3 – KBA90260

Version: **

 

Question: How do I perform a warm reset in FX3?

 

Answer:

Follow these steps to perform a warm reset in FX3:

  1.   If any serial peripherals are used by the application, they need to be de-initialized.
  2.   The firmware entry location must be stored at the address 0x40000000 before calling the CyU3PDeviceReset() API.

For example,

/* 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);