Vai al contenuto
PLC Forum


Problema bootloader SAMD21G18A


mdc93

Messaggi consigliati

Salve a tutti, chiedo ai più esperti.

Ho realizzato una scheda custom con microcontrollore ATSAMD21G18.

Con l'idea di programmarla attraverso l'IDE di Arduino, ho utilizzato un programmatore Atmel SAM-ICE per la scrittura del bootloader e poi programmarlo attraverso la usb nativa.

Il microcontrollore pare esserci visto che da AS mi legge in modo corretto l'ID (vedi foto).

Il bootloader viene scritto correttamente attraverso l'IDE (vedi foto).

Tuttavia quando collego la micro usb al pc per programmarlo non mi spunta sulla COM. Ho provato svariate volte a riscrivere il bootloader, ma nulla.

Allego anche lo schematico (cosa che ho riproposto più volte in svariate schede e non mi ha mai dato problemi).

L'unica cosa che ho notato rispetto alle breakout board di Adafruit è che ho collegato il pin di RESET al RESET del connettore SWD attraverso una resistenza da 10k.

Nelle breakout la resistenza in realtà fa da pull-up (ha quindi un capo connesso a 3.3v e l'altro a comune tra RESET dell' SWD ed il RESET del micro).

Grazie a tutti, sto "smoccolando" da un giorno intero :(.

Ah non uso molto Atmel Studio, se qualcuno mi fa capire se posso vedere in qualche modo se il micro è vivo.

debug_1.PNG

debug_2.PNG

debug_3.PNG

DEV.PNG

Modificato: da mdc93
Link al commento
Condividi su altri siti


47 minuti fa, mdc93 ha scritto:

L'unica cosa che ho notato rispetto alle breakout board di Adafruit è che ho collegato il pin di RESET al RESET del connettore SWD attraverso una resistenza da 10k.

Nelle breakout la resistenza in realtà fa da pull-up (ha quindi un capo connesso a 3.3v e l'altro a comune tra RESET dell' SWD ed il RESET del micro).

Direi che il problema potrebbe essere proprio questo, se non colleghi il reset a Vdd il micro non si avvia, ma può essere scritto senza problemi. Se non si avvia, non parte nemmeno l'usb con la relativa seriale.

 

Ciao, Ale.

Link al commento
Condividi su altri siti

54 minuti fa, ilguargua ha scritto:

Direi che il problema potrebbe essere proprio questo, se non colleghi il reset a Vdd il micro non si avvia, ma può essere scritto senza problemi. Se non si avvia, non parte nemmeno l'usb con la relativa seriale.

 

Ciao, Ale.

La cosa strana è che in implementazioni precedenti (utilizzando lo stesso schematico) il problema non c’era e riuscivo a vedere il micro sulla COM e programmarlo. Mi sono accorto di questa differenza solo dopo 5/6 schede fatte tutte così e funzionanti.

Un altro possibile problema potrebbe essere il cristallo esterno a 32,768 kHz. Ho trovato un bootloader che diciamo “evita” il cristallo esterno e fa utilizzare un clock interno al micro ed a quel punto sono riuscito a vedere il micro sulla COM e programmarlo, una volta scritto il bootloader. Una volta però programmato lo sketch non parte più e non vedo il micro sulla COM. Molto probabile che debba scrivere qualcosa sullo sketch, qualcuno ha mai avuto una situazione simile?

Link al commento
Condividi su altri siti

Livio Orsini

Potrebbe essere anche un problema di driver del PC relativo al microusato per la porta USB

 

Comunque il reset, tramite gruppo R-C, è obbligatorio per un funzionamento corretto.

Modificato: da Livio Orsini
Link al commento
Condividi su altri siti

9 minuti fa, Livio Orsini ha scritto:

Potrebbe essere anche un problema di driver del PC relativo al microusato per la porta USB

Purtroppo no Livio, perché utilizzando un’altra scheda con il medesimo micro ed il medesimo schematico relativo alla parte micro funziona, scrivo il bootloader ed il micro mi appare sulla COM. La cosa che mi è strana è il cristallo perché ho letto in rete di persone che hanno messo su il bootloader “senza cristallo” e sono riusciti a vedere il micro sulla COM e programmarlo (come me). Una volta messo su lo sketch il micro non viene più visto e lo sketch non parte. Allego foto per farvi capire.

 

4D2E1C7C-D05D-4CD6-AFA7-EFC36CB405F9.png

Link al commento
Condividi su altri siti

Crea un account o accedi per commentare

Devi essere un utente per poter lasciare un commento

Crea un account

Registrati per un nuovo account nella nostra comunità. è facile!

Registra un nuovo account

Accedi

Hai già un account? Accedi qui.

Accedi ora
×
×
  • Crea nuovo/a...