How to debug FX3 when UART is not accessible?

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
doch_3739346
Level 4
Level 4

Hi!

On board, FX3 GPIO[56:53] are connected with a SPI FLASH chip; GPIO[49:46] are connected with a FPGA and will be used as part of 32 bits data bus.

Seems I'm not able to use UART to print debug info.

1. In this case, how can I debug firmware?

2. Can I safely comment out all UART debug related code from demo firmware?

Thanks!

pastedImage_2.png

0 Likes
1 Solution
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

- Yes, you can remove the CyU3PDebugPrint() APIs or comment the function call that initializes the UART block for debugging. In most example ffirmware, this function would be CyFxApplnDebugInit().

- In order to debug the firmware, you can use the USB/ I2C/ JTAG block of FX3. JTAG debugging is explained in the EzUsbSuite_UG.pdf file. For USB/ I2C based debugging, these blocks have to be configured similar to the UART block as in the case of example firmware. A DMA channel has to be created between the FX3 CPU and the I2C/ USB block. Data that is to be printed has to be sent over this channel.

For debugging over USB interface, you may refer the following example project which is available with FX3 SDK.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxusbdebug

Best regards,

Srinath S

View solution in original post

0 Likes
1 Reply
SrinathS_16
Moderator
Moderator
Moderator
1000 replies posted 750 replies posted 500 replies posted

Hello,

- Yes, you can remove the CyU3PDebugPrint() APIs or comment the function call that initializes the UART block for debugging. In most example ffirmware, this function would be CyFxApplnDebugInit().

- In order to debug the firmware, you can use the USB/ I2C/ JTAG block of FX3. JTAG debugging is explained in the EzUsbSuite_UG.pdf file. For USB/ I2C based debugging, these blocks have to be configured similar to the UART block as in the case of example firmware. A DMA channel has to be created between the FX3 CPU and the I2C/ USB block. Data that is to be printed has to be sent over this channel.

For debugging over USB interface, you may refer the following example project which is available with FX3 SDK.

C:\Program Files (x86)\Cypress\EZ-USB FX3 SDK\1.3\firmware\basic_examples\cyfxusbdebug

Best regards,

Srinath S

0 Likes