Showing results for 
Search instead for 
Did you mean: 

I/O monitoring with JTAG/SWD

Associate III

I would like to monitor in real-time the state of the pins on my board (STM32F407D-DISC1) for a HIL (hardware in the loop) application.

To do so I want to use the TAPs of the JTAG. I've found in the AN4989 application note that the JTAG was not supported on the discovery boards. However everywhere I look JTAG and SWD seem to be the same thing (except for the number of wires). So I'm trying with the SWD, the debug in the CubeIDE works fine but I cannot find how to access the I/O pins values. Is it even possible?

I've never used JTAG before, so am I missing something important?



to monitor in real-time the state of the pins - the standard instrument is a scope, or DSO .

just to see/control the state of pins in the IDE can use debug->pause (or breakpoint) and look at sfr registers, -> GPIO , there you can see all and also other peripheral registers.


If you feel a post has answered your question, please click "Accept as Solution".

Unfortunately, that is not an option for me. I want to send the pin states to a PC in real-time and the other way around. I have 22 I/O (4 PWM + 6 outputs + 12 inputs).

Pavel A.
Evangelist III

Look at the CubeMonitor.

Read on ITM (available over SWD interface) 

I did, it looks great and all but I have another issue... I cannot connect any probe. My board is not showing up or anything. And since I can't find a solution I think it requires a new question on the forum.

I did manage to do that with the CubeMonitor for the GPIOs, however I cannot find a way to that for PWMs. Is there a register where I can find the state of the output pin? I could not find one. I also tried to monitor the NVIC but to no avail.