From the description, I would like to have some more details about the application
1. We saw DMA setup is configured along with EEPROM writing in above 1.2 sample project. Initial tryout of this project hangs. Is there a simple sample project of EEPROM writing or reading sample project without DMA we can use to simplify things?
>> Please confirm if the booting from the second stage bootloader is successful and the FX3 enumerates with the Flash Prog firmware.
If yes, where does the flash prog firmware hang?
Flash Prog uses DMA channel for reading/writing to EEPROM. It is good to use DMA channel to transfer the firmware to the EEPROM as the amount data transfer is more. We can debug the problem of hanging. Please share the UART debug prints from the Flash Prog example.
UART output is not working from 2nd bootloader but working from multi-thread functions. Any comment?
>> Please refer to CyFx3BootUartPrintMessage API in the FX3 API guide. This allows to print a formatted string out through the UART from the second stage bootloader. You can refer to gpiftousb boot firmware for its implementation (Path C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\boot_fw\gpiftousb)
Cypress bootloader doesn’t load successfully 2nd bootloader every time from EEPROM to RAM.
>> Please confirm if the communication on I2C bus is working fine. To check the I2C bus, i2cregmode/i2cdmamode example can be use to directly(without second stage bootloader) read/write to EEPROM and check if the I2C bus is working fine.