Please let me know more details on your implementation since FX3 has got only one UART block. So, how are you planning to have the second UART interface? Is it through a bit-banged firmware implementation of is it something different?
Only one CDC USB port is a bridge to the UART. This is similar to the UsbUart SDK example.
The other CDC USB port is used for debugging only and is only connected to the FX3’s CPU, not the UART. CyU3PDebugPrint calls will be redirected to the debug port and the user will be able to query the FX3 firmware for some simple state information similar to the CDC_BulkLoop example from the SuperSpeed Device Design By Example book.
- Use the UsbUart example as the base firmware. Add additional CDC interface onto this firmware by modifying the descriptor information. Ensure that the configuration descriptor length is modified accordingly. This should enumerate the device as two CDC interfaces, which can be seen as 2 COM ports on the host.
- Configure the additional endpoint(s) used for the second CDC interface. Create a new DMA channel between FX3 CPU socket and USB socket and configure the same.
- Data can now be committed from the FX3 CPU over the second DMA channel to be sent over the host PC.
Please test and let me know if you are facing issues while doing these.