Skip to main content
Associate II
December 18, 2023
Solved

STM32H7

  • December 18, 2023
  • 3 replies
  • 1539 views

STM32H7A3ZIT6Q

I have a firmware that receives data via UART and responds accordingly at an external side, using a Timer interrupt. When the JTAG is connected, the program works as expected, with all commands being responded to. However, when the JTAG is disconnected, the microcontroller fails to respond consistently or with high frequency. This indicates a possible issue related to the presence of the JTAG interface.

I currently do not use WFI() or WFE() in my code, so I assume it won't enter sleep mode. However, I am not entirely sure about this. I am curious to know why the behavior of the system differs when JTAG is connected versus when it is not. I wonder how to approach this situation and what specific aspects I should examine to understand this discrepancy, and How do I prevent this unexpected behavior.

This topic has been closed for replies.
Best answer by TDK

It's probably a program bug not related to JTAG. Even if it's plugged in, the JTAG interface shouldn't be active unless you're using it for debugging or programming. By "JTAG is connected" do you mean it's physically plugged in but not being used?

3 replies

TDK
TDKBest answer
December 18, 2023

It's probably a program bug not related to JTAG. Even if it's plugged in, the JTAG interface shouldn't be active unless you're using it for debugging or programming. By "JTAG is connected" do you mean it's physically plugged in but not being used?

"If you feel a post has answered your question, please click ""Accept as Solution""."
khkimAuthor
Associate II
December 19, 2023

Thank you for your commnets.

I found that the issue was caused by the status of the Ground connection. I guess that if I connect the JTAG to the board, the ground connection will become stronger than before.
The issue was disappeared when I improved the ground connection.

mƎALLEm
ST Technical Moderator
December 18, 2023

Hello @khkim 

In a such situation you need to either debug the app (see registers content flags etc ..) or go step by step adding blocks to your application and the patience is your friend.

May be you need to start from scratch and each time you need to a add a block until you fall into the behavior and catch the stuff causing it..

To give better visibility on the answered topics, please click "Best answer" on the reply which solved your issue or answered your question.