cancel
Showing results for 
Search instead for 
Did you mean: 

Chip broken? Restoring Chip functionality with ST Link

P K
Associate II
Posted on January 31, 2018 at 16:11

Hello,

I have been working with an STM32F437 chip for a while now, when suddenly I could not flash my program in my IDE anymore. I tried solving the issue in ST Link Utility.

First of all, the only mode in which I can connect to the chip is HotPlug mode. I can't get any connection to the chip with normal or with connect under reset mode. I also tried pulling the reset-pin of the chip low/ releasing it when connecting. Also, in hotplug mode, my chip does not get recognized correctly.

0690X00000609YlQAI.png0690X00000609YzQAI.png

I tried erasing the chips content, (again also tried it when toggling the reset pin), but I always get the message ''readout protection enabled''. So I went to the option bytes menu and tried disabling it. However, this error occurs:

0690X00000609YpQAI.png

When I enter that menu while I actively pull down the reset pin, the page looks a bit different (e.g. distinct levels of readout protection). But I still am not able to disable the readout protection. In other menus, I often get the following error:

0690X00000609MWQAY.png

What else is there I could do? Is there any possibility of restoring the chips functionality? Or has it simply broken. The issue arised very suddenly when debugging some code, it worked fine before. It also does not seem to run the last program I flashed onto it (some LEDs should blink, but they don't).

Any help is greatly appreciated, also please excuse any language errors, I'm not a native speaker.

Best regards,

Pascal

#st-link-error #stm32f4-connection-fail #st-link
6 REPLIES 6
Posted on January 31, 2018 at 16:43

Use SWD mode, not JTAG

Pull BOOT0 High so that it enters the System Loader, and not your code.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
P K
Associate II
Posted on January 31, 2018 at 17:05

I'm using the ST Link flash tool and a JTAG interface, but I could try building a SWD connection too. I tried pulling BOOT0 high, then resetting, but I still could not get a connection going. Does BOOT0 have to be high all the time or just after resetting?

Thanks for the reply!

Posted on January 31, 2018 at 17:25

SWD is a subset of JTAG connectivity, you wouldn't have to build anything.

Chips that have been locked down are unrecoverable, part of the protection is to remove debug connectivity.

Physically damaged devices are also not recoverable. Check with a secondary board.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
Posted on January 31, 2018 at 17:27

It technically only needs to be high at reset, but as the JTAG/SWD connectivity process can use reset, and stops/starts the core I'd recommend keeping it pulled high. Good board design would generally allow for this.

Tips, buy me a coffee, or three.. PayPal Venmo Up vote any posts that you find helpful, it shows what's working..
henry.dick
Senior II
Posted on February 22, 2018 at 14:50

You could have used some of the swd or jtag pins.

Once the pins are no longer swd or jtag, you lose connectivity.

The solution is obviously simple.

Posted on February 22, 2018 at 14:03

Hi,

I assumed the board was broken and continued working with another one. However, I ran into the issue again, and now I know what went wrong: Im programming two different MCUs at the same time, and I accidentally flashed a wrong firmware on the F37.

How can I resolve this? I still cannot connect via ST Link.  Is there a possibility of recovery?

Thanks in advance.