Pagina 1 di 1

Ripristinare una board Nucleo a causa di rimozione jtag

MessaggioInviato: 20 set 2018, 11:10
da harpefalcata
Buongiorno a tutti.

Stò usando una board della ST microelectronics che s chiama NUCLEO-F103RB, per la precisione https://www.st.com/en/evaluation-tools/nucleo-f103rb.html, la quale board fa uso di un microcontrollore STM32F103 RB, il cui Reference Manual si trova qui: https://www.st.com/content/ccc/resource/technical/document/reference_manual/59/b9/ba/7f/11/af/43/d5/CD00171190.pdf/files/CD00171190.pdf/jcr:content/translations/en.CD00171190.pdf.

Stò cercando di far funzionare il PWM associato al Timer 3.

Per far funzionare questo PWM su questa board, devo utilizzare, come pin il PB4. Per poterlo usare ho dovuto sia impostare un "Partial Remap" nel registro AFIO: pagina 183 del Reference Manual, sia anche escludere il PB4 stesso dal bus JTAG.

A causa di una mia negligenza, e quindi questa volta so che è stata colpa mia, ho rimosso l'intero canale JTAG al controller, impostando ad [100] i bit SWJ_CFG dello stesso registro AFIO, come si vede nell'immagne qui sotto.

Questo vuol dire che ora non riesco più a connettermi alla scheda, perché il controller non risponde. L'openOCD che uso per connettere la schedina al PC non vede più alcun controller, in quanto il controller non ha più ne JTAG ne SWD.

L'unico modo che ho trovato, è di tentaree la connessione sulla board tenendo premuto il pulsante reset sulla scheda stessa, ma openocd comunque non riesce a connettersi, in quando continua ad interrogare il controller ad intervalli regolari, ma senza mai riuscire.

Dunque la domanda: esiste un modo di impostare un hard reset generale alla scheda, e riportarla alla condizione standard, anche quando nemmeno openocd da PC riesce a vederla?

Grazie mille !!

Re: Ripristinare una board Nucleo a causa di rimozione jtag

MessaggioInviato: 20 set 2018, 12:14
da dadduni
Usando un stlink c'è l'opzione "connect onder reset" e sotto reset non dovrebbero esserci remap. Con stlink utility puoi fare l erse dell intera memoria e avere il chip completamente pulito da zero. Non mi è mai successo ma credo possa funzionare
Davide

Re: Ripristinare una board Nucleo a causa di rimozione jtag

MessaggioInviato: 20 set 2018, 12:15
da pusillus
Devi configurare boot0 e boot1 in modo da far partire il micro dalla memoria di sistema o dalla sram.
A quel punto ti colleghi col debugger e carichi sulla flash un firmware che non va a disabilitare jtag.
Poi rimetti normalmente i ponticelli del boot.

Re: Ripristinare una board Nucleo a causa di rimozione jtag

MessaggioInviato: 20 set 2018, 13:06
da harpefalcata
pusillus ha scritto:Devi configurare boot0 e boot1 in modo da far partire il micro dalla memoria di sistema o dalla sram.
A quel punto ti colleghi col debugger e carichi sulla flash un firmware che non va a disabilitare jtag.
Poi rimetti normalmente i ponticelli del boot.


Ha funzionato !! Grazie mille !!