"Is there a component that I am missing that allows communication of debug messages using the DEBUG ports? "
No, no complete component, accessing debug data needs some sophisticated programs on the PC side.
As I understood: Debugging and using the I2C bridge at the same time does not work. You have to set the SWD pins to GPIO. This allows for programming and using the bridge, but not for debugging.
Sorry, I've read this discussion multiple times and I still don't understand. What's the simplest way to get string messages out of a PSoC4 into a computer through the MiniProg3? Is it possible to use the SWD pins?
String messages can be sent using USBUART component and on PC side a terminal emulator ta PuTTY. Make sure sending onla ASCII bytes. There is an example project showing how to work with USBUART.
Lately I've been working with Nordic BLE chips using the nRF51-DK kit with onboard Segger J-Link . I use it with their Cortex-M0 chips, and all the debugging info comes out the SWD pin (my Nordic based board is connected to the nRF51-DK with only 4 signals - VCC, GND, SWDIO, SWCLK). They call it the Logger module using RTT interface (link to Nordic SDK page) https://goo.gl/8Jx6bB
I wonder if it's possible to do the same thing with PSOC chips/tools (viewing debugging output through the SWD interface, without adding any dedicated pins for this)
Did you have any success in viewing printf() output using MiniProg3 via SWD? I am using a MiniProg3 to flash/debug EZBLE-012011. I am using a 10-pin connector(SWD interface).
In the USB 3.1 standard there's "Device Class Specification for Debug Devices." It describes techniques for passing debug information over USB more sophisticated than different from the emulated com-port bridging approach. It seems like this might be useful in the addressing the sort of "console logging" style debug messages originally raised on this thread by @Humancell. I think there's going to be an ongoing need, and allowing this to piggyback on other target-system USB functionality would be a big plus.
Does anyone know about this device class, and PSOC/host/driver support for it.
In fact, the question raised is not so trivial. For a long time I did not pay attention to this, because I used the usual output via the serial port. But, quantity has passed in quality. So, in some examples you can find such lines:
DebugPrintfInit (); DebugPrintf ....
For example, now, I'm studying an example of PSoC6_Interfacing_BMI160 (I2C) _FreeRTOS01, just with such commands.
In the explanation for the example it is written:
"Set up the serial port terminal emulator
with these settings:
Baud rate: 115200
Data size: 8-bit
Flow Control: None "
UART is used as UART (SCB_UART_PDL) with autoconfigurable pins. The configuration of the pins coincides with the board under test, but there is no output to the serial terminal. There is also no activity on the TX pin.
Now, if I use usual form DEBUG_UART_PutString, everything works fine.
Even stranger is that there is no information about these commands in any documentation or in the community.