Go Down

Topic: Mega Bootloader STK500v2_receiveMessage(): timeout (Read 23086 times) previous topic - next topic

menniti

David, ma la frase "sì ma il bootloader che cos'è?" l'hai messa in firma? :smiley-yell:
Come ti si deve spiegare? è un firmware che viene allocato mediante opportuna procedura (via Arduino ISP con Burn Bootloader) nella parte più alta della memoria flash, riservata mediante specifico settaggio dei fuse, in base a quanta ne serve, p.es 2k per Arduino 2009, 512B per Arduino UNO.
Cosa fa te l'ho già spiegato e quando è necessario te l'ha spiegato Testato. Ovviamente se c'è un difetto al micro non c'è tecnica o procedura che tenga, purtroppo, come abbiamo visto in questi giorni.
Quando devi interfacciare Arduino con circuiti che operano a tensione maggiore, devi per forza ricorrere ad adattamenti di livello, mediante integrati specifici o partitori di tensione; lo stesso vale se lo interfacci con circuiti che operano a tensione inferiore (p.es. 3,3V)
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

david_fiucci



..... ma se io ho uno strumento che dà un segnale in tensione tipo 0-10V, per farlo leggere da Arduino allora gli devo abbassare la tensione..... E per la corrente qual'è il massimo? A questo punto i 50mA (MEGA) che ogni pin tira fuori, 20 mA (UNO).


Stai confondendo pin usati come ingressi e pin usati come uscite ...


Si, ti do pienamente ragione, ma non è che confondo i pin IN e OUT, è che inavvertitamente ho creato un corto. Mi chiedevo quale fosse il loro limite. Per il resto concordo con il tuo discorso.... ;)

david_fiucci


David, ma la frase "sì ma il bootloader che cos'è?" l'hai messa in firma? :smiley-yell:
Come ti si deve spiegare? è un firmware

Per quanto riguarda la circuiteria è tutto dovutamente progettato, purtroppo ho commesso delle leggerezze facendo toccare i fili....
Mi sono arrivate le schede nuove. D'ora in poi le modifiche solo senza tensione.....
Per quanto riguarda il bootloader, se qualcuno lo avesse detto non avrei formulato la domanda.Quando uno mi chiede che cos'è una cosa, se lo so gli rispondo prima con la definizione e dopo gli esempi..... ( Polemica a parte ).
Quindi se è un firmware vuol dire che è un programma. Ma allora ArduinoISP.ino è un bootloader? Oppure è un programma che lo genera? Cioè ho cercato di capire cosa facesse quel programma, ma non l'ho capito del tutto perchè ci sono dei concetti che ignoro.
Oh scusate cerco di capire....

david_fiucci



..... ma se io ho uno strumento che dà un segnale in tensione tipo 0-10V, per farlo leggere da Arduino allora gli devo abbassare la tensione..... E per la corrente qual'è il massimo? A questo punto i 50mA (MEGA) che ogni pin tira fuori, 20 mA (UNO).


SI pin configurati come ingressi sono dichiarati ad "alta impedenza", ora non ricordo bene dove l'avevo letto, ma mi sembra di ricordare che gli ingressi digitali sono almeno a 50Mohm, e quelli analogici almeno a 100Mohm (se non c'e' altra circuiteria attorno) ... quindi, male che vada, se gli applichi 5V, dovresti avere un massimo di corrente assorbita di 0.1microA per quelli digitali e di 0.05microA per quelli analogici ... quasi quasi ci passa piu corrente se li guardi male :P XD


Riflettendoci mi pare un valore troppo basso.... Non è che sono 50 Kohm e 100 Kohm ?
Mi vado a documentare..... Grazie comunque!   ;)

david_fiucci

No No, hai ragione tu Etemenaki, sono proprio 100 Mega Ohm.
http://www.provalotu.com/robotica-2/gestione-dei-pin-digitali-di-arduino/


david_fiucci

Sempre dal sito di prima.....

"La configurazione da pin di OUTPUT è l'esatto contrario dell'INPUT: il pin viene posto in bassa impedenza, ed è in grado di generare (o assorbire) fino a 40 mA di corrente. Dobbiamo stare attenti a non superare questo limiti, perchè ciò comporterebbe la bruciatura del transistor d'uscita rendendo il pin (e a volte anche l'ATMega) inutilizzabile."

Ecco perchè la scheda non funziona più.....

menniti



David, ma la frase "sì ma il bootloader che cos'è?" l'hai messa in firma? :smiley-yell:
Come ti si deve spiegare? è un firmware

Per quanto riguarda il bootloader, se qualcuno lo avesse detto non avrei formulato la domanda.Quando uno mi chiede che cos'è una cosa, se lo so gli rispondo prima con la definizione e dopo gli esempi..... ( Polemica a parte ).
Quindi se è un firmware vuol dire che è un programma. Ma allora ArduinoISP.ino è un bootloader? Oppure è un programma che lo genera? Cioè ho cercato di capire cosa facesse quel programma, ma non l'ho capito del tutto perchè ci sono dei concetti che ignoro.
Oh scusate cerco di capire....

Il bootloader è un file presente nell'IDE sin dall'installazione, nelle varie versioni (dipende dalla scheda, dal micro ma anche dal clock a cui lo si fa lavorare). ArduinoISP è un programma di emulazione che trasforma una board Arduino in un Programmatore ISP (tipo quello che volevi acquistare), a questo punto l'Arduino diventa un bridge tra il PC e la board o il micro target, quello che gli trasferisce dipende dal comando che usi, ma sono sempre file presi dall'hard disk: uno sketch, generato al volo con la compilazione e messo in una cartella temporanea, oppure un bootloader, già posizionato come detto.
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

david_fiucci

Michele.
Spiegazione esauriente ed impeccabile. Thank's
Allora quando si cancella o rovina il bootloader vuol dire che l'allocazione di memoria è andata.
Quindi caricare il bootloader ha senso solo se un micro è nuovo o sano, es. riscrittura per qualche motivo.
Ah Ok Ok....  :( :( :( :(
Bè ragazzi sono pronti nuovi e mirabolanti argomenti di discussione....
Ci sentiamo presto.
Stasera ne apro uno nuovo sulla libreria servo.h per un argomento che ho visto in giro molto nebbioso. Io ci ho lavorato sopra ma vediamo cosa esce fuori....

;)

menniti

Il bootloader si può danneggiare per un "incidente", non necessariamente significa che l'area di memoria riservata sia inutilizzabile. A volte il micro si bricka, cioè assume una combinazione di fuse (anche qui incidenti, spesso errori marchiani del'utente durante la programmazione ISP) tale da risultare inutilizzabile, in questo caso di ricorre alla programmazione  HV (high voltage) che consiste nell'applicare 12V al pin reset mentre si inviano sequenze di comandi ben precise (v. datasheet); ho progettato e pubblicato un bellissimo strumento a tale scopo, ma sulla rete si trovano schemini molto semplici, realizzabili su millefori (ovviamente parliamo sempre di micro in formato pdip, anche nel mio caso) per resettare il micro, riprogrammarlo e riutilizzarlo.
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

david_fiucci

Ah! BELLISSIMO !!!!
dove posso trovarlo? Ma c'è un kit da comprare o me lo devo fare  io? Il software è reperibile?
Il fatto è che io non mi sono mai occupato di lavorare dentro al micro, ma solo fuori e di programmarlo.... Cioè se ad un meccanico gli si rompe una 13 mica si mette a fondere l'acciaio; va dalla ferramenta e se la ricompra.
Comunque questi argomenti sono molto interessanti e mi piacerebbe metterli da parte per quando avrò un po di tempo.
Ciao grazie

David

menniti

Il mio Programmatore HV è stato presentato sui numeri Apr-Mag-Giu-Lug 2012, gli articoli spiegano alla perfezione il funzionamento dello strumento (ad iniziare dallo schema elettrico) ma sono anche un eccellente approfondimento sull'argomento, con decine e decine di riferimenti (tradotti) al data-sheet originale dell'ATMEL. Purtroppo non è stato creato un kit, è possibile acquistare i PCB presso MDSRL, la componentistica è reperibile ovunque, il firmware è scaricabile gratuitamente dal sito www.elettronicain.it; ti allego un'immagine del mio prototipo.
Tieni presente che esistono i programatori ufficiali di AVR, come p.es. il Dragon, ma sono piuttosto "tecnici", questo invece è "tarato" a misura di utente.
Manuale "Arduino e le tecniche di programmazione dei microcontrollori ATMEL"
http://www.michelemenniti.it/manuale_di_programmazione.html
http://www.michelemenniti.it/offerta.html
Articoli ElettronicaIN
http://www.michelemenniti.it/elettronica_in.html

david_fiucci

Ma questo è quello che ho sul tuo scritto!
Avevo capito che si trattava di altro.
Ho aperto un topic sulla libreria servo. Se hai tempo dacci un'occhiata.
Ciao e GRAZIE.   ;)

David

Go Up