Cos'è ElectroYou | Login Iscriviti

ElectroYou - la comunità dei professionisti del mondo elettrico

Ripristinare una board Nucleo a causa di rimozione jtag

Raccolta di codici sorgenti

Moderatore: Foto UtentePaolino

0
voti

[1] Ripristinare una board Nucleo a causa di rimozione jtag

Messaggioda Foto Utenteharpefalcata » 20 set 2018, 11:10

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 !!
Allegati
Afio_MAPR.png
Avatar utente
Foto Utenteharpefalcata
255 3 5
Frequentatore
Frequentatore
 
Messaggi: 291
Iscritto il: 28 lug 2015, 21:03

0
voti

[2] Re: Ripristinare una board Nucleo a causa di rimozione jtag

Messaggioda Foto Utentedadduni » 20 set 2018, 12:14

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
Avatar utente
Foto Utentedadduni
1.577 1 6 12
Expert EY
Expert EY
 
Messaggi: 926
Iscritto il: 23 mag 2014, 16:26

1
voti

[3] Re: Ripristinare una board Nucleo a causa di rimozione jtag

Messaggioda Foto Utentepusillus » 20 set 2018, 12:15

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.
Immagine
Un lungo viaggio di mille miglia comincia con un solo passo
Lao Tzu
Avatar utente
Foto Utentepusillus
1.359 5 11
Sostenitore
Sostenitore
 
Messaggi: 531
Iscritto il: 5 mar 2016, 15:19
Località: Latina

1
voti

[4] Re: Ripristinare una board Nucleo a causa di rimozione jtag

Messaggioda Foto Utenteharpefalcata » 20 set 2018, 13:06

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 !!
Avatar utente
Foto Utenteharpefalcata
255 3 5
Frequentatore
Frequentatore
 
Messaggi: 291
Iscritto il: 28 lug 2015, 21:03


Torna a Firmware e programmazione

Chi c’è in linea

Visitano il forum: Nessuno e 2 ospiti