Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Do a JTAG reset prior to reading CPU information #430

Merged
merged 1 commit into from
Aug 7, 2016

Conversation

andyg24
Copy link

@andyg24 andyg24 commented Jun 7, 2016

When a microcontroller is in deep sleep (stop) mode, its debug interface is turned off. Programming would therefore fail because st-flash was unable to identify the CPU. This change adds a JTAG reset prior to requesting CPU information. This change has been successfully tested with a Nucleo STM32L031 board.

(Closes #291. Closes #428, Closes #451)

when a CPU is in deep sleep mode, and its debug interface is switched
off.
@xor-gate xor-gate self-assigned this Jun 17, 2016
@xor-gate xor-gate removed their assignment Jul 21, 2016
@xor-gate
Copy link
Member

xor-gate commented Aug 3, 2016

I'm not sure if usb.c is the correct place to add a jtag reset. As the probe/open just looks for programmers. Why is this not working: https://github.com/texane/stlink/blob/c0177ec3872244fb04fc517397059f742e2b1cc3/src/tools/flash.c#L210-L220

Which is exactly the same.

@andyg24
Copy link
Author

andyg24 commented Aug 3, 2016

It's been a while, but I believe the reset also needs to be in usb.c
because otherwise the ID is not read and programming in flash.c is not
attempted.

On Wed, Aug 3, 2016 at 11:39 AM, Jerry Jacobs notifications@github.com
wrote:

I'm not sure if usb.c is the correct place to add a jtag reset. As the
probe/open just looks for programmers. Why is this not working:
https://github.com/texane/stlink/blob/c0177ec3872244fb04fc517397059f742e2b1cc3/src/tools/flash.c#L210-L220


You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
#430 (comment), or mute
the thread
https://github.com/notifications/unsubscribe-auth/AI30LINn4RHyJoP-gPJwtrpZwbvxvTA6ks5qcOB8gaJpZM4IwHKu
.

@xor-gate
Copy link
Member

xor-gate commented Aug 3, 2016

Yeah I think you are right, the jtag reset will toggle the NRST of the chip and everything is cleared. I'm not sure why value 2 is given, as a pin toggle should only have 0 or 1. But the protocol to the programmer is under NDA and reversed engineered so I can not tell.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
3 participants