Salve a tutti. Dovrei realizzare una scheda custom (con microcontrollore ARM Cortex M0) ed una delle specifiche è che sia più compatta possibile. Pensavo quindi di risparmiarmi tutto l'ingombro relativo al connettore SWD per la programmazione e relativa circuiteria di contorno.
La domanda è, secondo voi, qual è la maniera migliore per flashare il firmware sul micro? realizzo una scheda esterna di programmazione con zoccolo di test? (considerate che il micro è a montaggio superficiale, package QFN)
Pensando anche ad una ipotetica fase di ingegnerizzazione (progetto della linea di produzione), è possibile prevedere il flashing del firmware in linea, direttamente su scheda, ad esempio con una probe station specializzata?
Fino ad ora ho fatto solo prototipi funzionali e non mi ero mai preoccupato delle fasi successive, per cui chiedo a voi del forum che avete più esperienza nel settore.
Grazie!
flash del firmware su scheda custom
Moderatore:
Paolino
9 messaggi
• Pagina 1 di 1
0
voti
0
voti
Di solito si carica sul micro un bootloader, se non viene già di fabbrica.
Il bootloader è un programma che normalmente non viene cancellato, che si attiva all'accensione per breve tempo, o se c'è un pulsante premuto ecc.
È capace di leggere il firmware principale da seriale, USB o altra interfaccia già presente per altri usi sulla scheda, memorizzarlo nella flash sostituendo il precedente e poi farlo partire.
Come gestire il bootloader dipende molto dalla tua scheda, dalla marca di micro ecc.
Il bootloader è un programma che normalmente non viene cancellato, che si attiva all'accensione per breve tempo, o se c'è un pulsante premuto ecc.
È capace di leggere il firmware principale da seriale, USB o altra interfaccia già presente per altri usi sulla scheda, memorizzarlo nella flash sostituendo il precedente e poi farlo partire.
Come gestire il bootloader dipende molto dalla tua scheda, dalla marca di micro ecc.
Big fan of ⋮ƎlectroYou! Ausili per disabili e anziani su ⋮ƎlectroYou
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
Caratteri utili: À È É Ì Ò Ó Ù α β γ δ ε η θ λ μ π ρ σ τ φ ω Ω º ª ² ³ √ ∛ ∜ ₀ ₁ ₂ ₃ ₄ ₅ ₆ ∃ ∄ ∆ ∈ ∉ ± ∓ ∾ ≃ ≈ ≠ ≤ ≥
0
voti
GuidoB ha scritto:Di solito si carica sul micro un bootloader, se non viene già di fabbrica.
Il bootloader è un programma che normalmente non viene cancellato, che si attiva all'accensione per breve tempo, o se c'è un pulsante premuto ecc.
È capace di leggere il firmware principale da seriale, USB o altra interfaccia già presente per altri usi sulla scheda, memorizzarlo nella flash sostituendo il precedente e poi farlo partire.
Come gestire il bootloader dipende molto dalla tua scheda, dalla marca di micro ecc.
Ciao GuidoB grazie per la risposta. Si si so cos'è il bootloader. Non ho fatto distinzione prima perché, in questa fase di miniaturizzazione, ho già stabilito che configurazione deve avere il bootloader e già testato il firmware su scheda prototipo. Ora mi interessa solo fare una versione miniaturizzata al massimo (probabilmente anche a più di due layer) dove devo solo caricare bootloader e firmware e verificare il corretto funzionamento. So che alcuni microcontrollori si possono acquistare con bootloader standard già caricato di fabbrica e ciò risolverebbe il problema, ma in genere questo aumenta il prezzo del chip ed inoltre non ho il controllo sulla configurazione del micro.
0
voti
Se sveli il nome dle micro possiamo dare idee più mirate
Su ST c'è un loader precaricato che si può attivare, per esempio, da seriale all'avvio. Ma modelli con USB o ethernet permettono di avviare il loader anche da queste periferiche.
Comunque sia serve un connettore
che sia per jtag per seriale poco cambia minimo 3/4 pin li devi avere.
Dipende anche da chi usa e quando usa il loader. Un tecnico in produzione bastano 4 fori in cui inserire temporaneamente un pinstrip per programmare. L'utente finale il connettore dev'essere saldato. Puoi usare passo 2 per ridurre l'ingombro. Esistono anche in SMD ma io ho paura che arrivi Hulk e sradica tutto e metto pth anche se questo impone un passaggio in più in produzione.
Se usi il loader solo In produzione puoi anche fare solo delle piazzole sul PCB, appoggi la scheda su "chiodi" disposti in corrispondenza delle piazzole e programmi.
In ogni caso, come dicevi tu, ci vuole l'adapter esterno jtag seriale-usb o traslatore livelli a rs232.
Mio parere personale visto che le cose non cambiano molto io userei il connettore jtag. I micro ST che conosco io hanno le resistenze di pullup/dn sulle linee integrate quindi ti basta solo il connettore o le piazzole.
Su ST c'è un loader precaricato che si può attivare, per esempio, da seriale all'avvio. Ma modelli con USB o ethernet permettono di avviare il loader anche da queste periferiche.
Comunque sia serve un connettore
Dipende anche da chi usa e quando usa il loader. Un tecnico in produzione bastano 4 fori in cui inserire temporaneamente un pinstrip per programmare. L'utente finale il connettore dev'essere saldato. Puoi usare passo 2 per ridurre l'ingombro. Esistono anche in SMD ma io ho paura che arrivi Hulk e sradica tutto e metto pth anche se questo impone un passaggio in più in produzione.
Se usi il loader solo In produzione puoi anche fare solo delle piazzole sul PCB, appoggi la scheda su "chiodi" disposti in corrispondenza delle piazzole e programmi.
In ogni caso, come dicevi tu, ci vuole l'adapter esterno jtag seriale-usb o traslatore livelli a rs232.
Mio parere personale visto che le cose non cambiano molto io userei il connettore jtag. I micro ST che conosco io hanno le resistenze di pullup/dn sulle linee integrate quindi ti basta solo il connettore o le piazzole.
-

luxinterior
4.311 3 4 9 - Master EY

- Messaggi: 2690
- Iscritto il: 6 gen 2016, 17:48
0
voti
E il microcontrollore è.....rullo di tamburi... un SAMD21G18
Ha la USB builtin, e quella c'è sulla scheda finale perche serve, quindi attraverso quella caricherò il firmware. volevo risparmiarmi il connettore SWD, ma effettivamente non mi servono tutti i pin, quindi alla fine forse mi conviene fare cosi, ovvero lascio una fila di via metallizzati per spadini da 1.27 mm di passo ed infilo il connettore quando serve. Anche perché stavo vedendo i connettori di test (quelli per il burn-in ad esempio) per farmi un programmatore e caricare il bootloader prima di saldarlo su scheda finale, ma per il package che mi interessa se ne trovano pochissimi, sono molto costosi e sul datasheet non danno alcuna indicazione su come sono connessi i pin del chip innestato rispetto agli spadini del connettore.
Ha la USB builtin, e quella c'è sulla scheda finale perche serve, quindi attraverso quella caricherò il firmware. volevo risparmiarmi il connettore SWD, ma effettivamente non mi servono tutti i pin, quindi alla fine forse mi conviene fare cosi, ovvero lascio una fila di via metallizzati per spadini da 1.27 mm di passo ed infilo il connettore quando serve. Anche perché stavo vedendo i connettori di test (quelli per il burn-in ad esempio) per farmi un programmatore e caricare il bootloader prima di saldarlo su scheda finale, ma per il package che mi interessa se ne trovano pochissimi, sono molto costosi e sul datasheet non danno alcuna indicazione su come sono connessi i pin del chip innestato rispetto agli spadini del connettore.

0
voti
Alcune soluzioni su come realizzare interfaccia di programmazione:
https://hackaday.com/2014/04/27/a-small ... g-headers/
https://hackaday.com/2014/04/27/a-small ... g-headers/
0
voti
Se vuoi la soluzione semplice e comoda (quella che usiamo noi
) ci sono due possibilità:
a) compri il reel, lo spedisci ad una programming house (per esempio https://www.htv-gmbh.de/en/programmiers ... rvice.html) assieme al tuo HEX e loro te lo rispediscono flashato
b) compri da un distributore che offre questo servizio (per esempio DigiKey, su richiesta)
Boiler
a) compri il reel, lo spedisci ad una programming house (per esempio https://www.htv-gmbh.de/en/programmiers ... rvice.html) assieme al tuo HEX e loro te lo rispediscono flashato
b) compri da un distributore che offre questo servizio (per esempio DigiKey, su richiesta)
Boiler
0
voti
Se non devi mettere componenti anche nel bordo del PCB potresti portare i segnali per la SWI facendoti metallizzare 4 piste dul bordo del PCB.
Non porta via spazio, costa poco e con una fixture da quattro soldi e quattro pin a molla hai il controllo completo del micro.
Non porta via spazio, costa poco e con una fixture da quattro soldi e quattro pin a molla hai il controllo completo del micro.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
0
voti
Ti faccio un esempio. Guarda questa foto
Le vedi le metallizzazione sul bordo della scheda?
Lascia perdere i fori, li hanno fatti ma non servono, non rappresentano niente.
Resta comunque il fatto che hai a disposizione dei punti in cui appoggiare dei contatti di test a molla per programmare il micro.
Le vedi le metallizzazione sul bordo della scheda?
Lascia perdere i fori, li hanno fatti ma non servono, non rappresentano niente.
Resta comunque il fatto che hai a disposizione dei punti in cui appoggiare dei contatti di test a molla per programmare il micro.
"La follia sta nel fare sempre la stessa cosa aspettandosi risultati diversi".
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
"Parla soltanto quando sei sicuro che quello che dirai è più bello del silenzio".
Rispondere è cortesia, ma lasciare l'ultima parola ai cretini è arte.
-

TardoFreak
73,9k 8 12 13 - -EY Legend-

- Messaggi: 15754
- Iscritto il: 16 dic 2009, 11:10
- Località: Torino - 3° pianeta del Sistema Solare
9 messaggi
• Pagina 1 di 1
Torna a Realizzazioni, interfacciamento e nozioni generali.
Chi c’è in linea
Visitano il forum: Nessuno e 4 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)



