Go Down

Topic: Nuovo Optiboot unofficial (Read 2957 times) previous topic - next topic

leo72

A questo thread potete scaricare un nuovo Optiboot v.4 unofficial (quindi NON rilasciato dal team di Arduino)  che risolve diversi problemi, tra cui cito il problema dell'upload di sketch con dimensione >30KB che non funzionava e, FINALMENTE, il fatto che adesso non è più necessario disabilitare l'autoreset quando si utilizza lo sketch ArduinoISP con una scheda UNO!

Quest'ultimo punto l'ho testato programmando un Atmega standalone con un Atmega328 col nuovo Optiboot v.4 montato sull'Arduino e la funzione di programmatore ISP è partita SENZA utilizzare nessun sistema di disattivazione dell'autoreset (condensatore, resistenza, cornetto rosso ecc...).

Come procedere?
1) scaricare l'optiboot v.4 dal thread linkato (oppure prelevarlo direttamente da qui) e copiarlo in una cartella del sistema
2) caricare lo sketch ArduinoISP sull'Arduino
3) predisporre un Atmega standalone su breadboard
4) collegarlo secondo le solite istruzioni (vedi guida)
5) andare in /arduino-00xx/hardware/tools e copiare da questa cartella i file avrdude e avrdude.conf nella cartella in cui avete salvato l'optiboot v.4
6) aprire un terminale e digitare:
./avrdude -C ./avrdude.conf -P /dev/ttyACM0 -U flash:w:optiboot_atmega328_v4.hex:i -p m328p -c stk500v1 -b 19200

Partirà la programmazione. Al termine, se tutto è andato correttamente, invertite i micro, montando cioè quello con l'optiboot v.4 sull'Arduino e mettendo il chip che c'era qui sulla breadboard.
Ricollegate tutto e caricate sull'Arduino lo sketch ArduinoISP, poi selezionate in Board l'Atmega standalone e provate ad inviargli lo sketch Blink SENZA disattivare l'autoreset. Magicamente l'Arduino programmerà il micro esterno senza batter ciglio.

menniti

Eccomi, quel NON ufficiale un po' mi "preoccupa", penso che con la 0023 (se e quando sarà  :smiley-yell:) si risolveranno entrambi i problemi, riguardo un discorso tutorial, consigliare di montare un optiboot non originale su Arduino mi sembra un po' come consigliare di comprare Luigino o altro al posto di Arduino, la cosa è certamente differente (in questo caso Arduino si compra), ma il tutto potrebbe diventare Luig/Seedu/Altru_ino + opti non originale. non voglio certo fare il moralista, dico solo che c'è da ragionare un attimo e soprattutto testare come si deve questo software per vedere se non ci sono altri intoppi.
Fatto il discorso "bello" voglio farmi la mia bella prova  ;) e quindi voglio capire perché devo fare tutti quei passaggi e non semplicemente crearmi una board con le necessarie modifiche. Pecché, pecché ?  :P
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

leo72

1) il fatto che non sia ufficiale secondo me ha una minima importanza, almeno per me, dato che essendo Arduino (HW e SW) una piattaforma opensource, il bello è che ognuno può modificare, miglioraree/o aggiungere caratteristiche non presenti nel prodotto originale. Usare una libreria modificata non è la stessa cosa che usare un bootloader modificato? Non capisco l'appunto  :P

2) Quei passaggi li ho scritti per 2 motivi. Per aiutare i "niubbi" a fare l'operazione, e per non alterare il software originale presente nell'IDE. Diversamente, infatti, bisognava sostituire l'Optiboot v.4 a quello presente in /hardware/arduino/bootloaders/optiboot e poi flashare il micro usando il tool dell'IDE. Poi ognuno la flashatura la fa come vuole, io ho scritto come l'ho fatta io tenendomi sia l'Optiboot originale (v.2) sia la v.4. L'alternativa è scaricarsi tutto il "pacco" dell'IDE (200 MB) oppure solo i nuovi file modificati e poi compilarsi a mano l'Optiboot. Già, perché non ho specificato che questo Optiboot si riesce a compilare (l'autore ha modificato anche i file make), a differenza di quello originale ad alcuni dà problemi di compilazione.

lestofante


Eccomi, quel NON ufficiale un po' mi "preoccupa", penso che con la 0023 (se e quando sarà  :smiley-yell:) si risolveranno entrambi i problemi, riguardo un discorso tutorial, consigliare di montare un optiboot non originale su Arduino mi sembra un po' come consigliare di comprare Luigino o altro al posto di Arduino


?? se nella 0023 risolveranno i problemi, potrebbe essere proprio usando quel codice, se verrà ritenuto all'altezza ( anche se credo che prima di un'altro cambio di boot-loader ufficiale ci saranno un bel pò di prove, il fatto che un boot loader non ufficiale venga ampiamente testato dalla comunità non fa altro che diminuire i tempi per renderlo uffciale :-) )
Guida per principianti http://playground.arduino.cc/Italiano/newbie
Unoffical Telegram group https://t.me/genuino

menniti


1) il fatto che non sia ufficiale secondo me ha una minima importanza, almeno per me, dato che essendo Arduino (HW e SW) una piattaforma opensource, il bello è che ognuno può modificare, migliorare e/o aggiungere caratteristiche non presenti nel prodotto originale. Usare una libreria modificata non è la stessa cosa che usare un bootloader modificato? Non capisco l'appunto  :P

Non intendevo muovere un appunto, non mi sarei mai permesso, ho solo fatto una considerazione personale, hai aperto un Topic, mica mi ha mandato un MP :), né tantomeno ti sei messo a vendere optiboot di nuova generazione  $). Insomma tu hai riportato una notizia ed io ho fatto un libero commento, mica ti ho detto di chiudere il Topic perché è immorale  ;)
Quote

2) Quei passaggi li ho scritti per 2 motivi. Per aiutare i "niubbi" a fare l'operazione, e per non alterare il software originale presente nell'IDE. Diversamente, infatti, bisognava sostituire l'Optiboot v.4 a quello presente in /hardware/arduino/bootloaders/optiboot e poi flashare il micro usando il tool dell'IDE. Poi ognuno la flashatura la fa come vuole, io ho scritto come l'ho fatta io tenendomi sia l'Optiboot originale (v.2) sia la v.4. L'alternativa è scaricarsi tutto il "pacco" dell'IDE (200 MB) oppure solo i nuovi file modificati e poi compilarsi a mano l'Optiboot. Già, perché non ho specificato che questo Optiboot si riesce a compilare (l'autore ha modificato anche i file make), a differenza di quello originale ad alcuni dà problemi di compilazione.

E io che sono :smiley-red:? Intendevo dire che se creo una board (copia di quella della UNO) e cambio la riga bootloader facendola puntare a questo optiboot (ovviamente rinominato e messo in un'altra cartella) secondo te funziona o no? Se funzionasse forse sarebbe più semplice, oltretutto la tua riga di comando è per Linux.



Eccomi, quel NON ufficiale un po' mi "preoccupa", penso che con la 0023 (se e quando sarà  :smiley-yell:) si risolveranno entrambi i problemi, riguardo un discorso tutorial, consigliare di montare un optiboot non originale su Arduino mi sembra un po' come consigliare di comprare Luigino o altro al posto di Arduino


?? se nella 0023 risolveranno i problemi, potrebbe essere proprio usando quel codice, se verrà ritenuto all'altezza ( anche se credo che prima di un'altro cambio di boot-loader ufficiale ci saranno un bel pò di prove, il fatto che un boot loader non ufficiale venga ampiamente testato dalla comunità non fa altro che diminuire i tempi per renderlo uffciale :-) )

Ciao lesto, mi auto quoto:

Fatto il discorso "bello" voglio farmi la mia bella prova  ;) e quindi voglio capire perché devo fare tutti quei passaggi e non semplicemente crearmi una board con le necessarie modifiche. Pecché, pecché ?  :P

Ti sembra l'atteggiamento di uno che non vuole contribuire ai test? ;)
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

astrobeed


Intendevo dire che se creo una board (copia di quella della UNO) e cambio la riga bootloader facendola puntare a questo optiboot (ovviamente rinominato e messo in un'altra cartella) secondo te funziona o no? Se funzionasse forse sarebbe più semplice, oltretutto la tua riga di comando è per Linux.


Infatti il modo più semplice è creare una nuova cartella dedicata alla UNO con questo bootloader e un file boards.txt dedicato per il caricamento del bootloader, non si tocca nulla dell'originale, si può sempre tornare indietro quando si vuole, non si deve combattere con comandi "strani" da digitare che, oltretutto, cambiano tra Linux, Windows e MAC.
Scientia potentia est

leo72

@tutti:
Quote
Poi ognuno la flashatura la fa come vuole, io ho scritto come l'ho fatta io

;)

@Michele:
guarda che per "appunto" non intendevo dire che me l'ero presa per ciò che avevi detto. Volevo solo far presente che la FORZA di un progetto opensource è la possibilità per tutti di poter vedere, studiare e modificare il codice e/o l'oggetto come più si vuole.
Il fatto che questo Optiboot v.4 non sia ufficiale non significa che non sia buono o che non possa avere nessuna possibilità di esser preso in considerazione dal team di sviluppo di Arduino. Ricordo che nell'Optiboot v.2 (quello attualmente distribuito con l'IDE ed installato nelle schede Arduino) c'è questa porzione di commento:
Code: [Select]
/* Code builds on code, libraries and optimisations from: */
/*   stk500boot.c          by Jason P. Kyle               */
/*   Arduino bootloader    http://arduino.cc              */
/*   Spiff's 1K bootloader http://spiffie.org/know/arduino_1k_bootloader/bootloader.shtml */
/*   avr-libc project      http://nongnu.org/avr-libc     */
/*   Adaboot               http://www.ladyada.net/library/arduino/bootloader.html */
/*   AVR305                Atmel Application Note     

Quindi l'Optiboot usa e trae beneficio degli sforzi di appassionati e/o professionisti che non appartengono al team Arduino.

Quote
Intendevo dire che se creo una board (copia di quella della UNO) e cambio la riga bootloader facendola puntare a questo optiboot (ovviamente rinominato e messo in un'altra cartella) secondo te funziona o no? Se funzionasse forse sarebbe più semplice, oltretutto la tua riga di comando è per Linux.

Beh, avrdude per Linux è uguale a quello per DOS: i parametri sono identici. Cambia la gestione della path ma quella è una cosa che, uno che ha un minimo di dimestichezza col terminale DOS, può modificare in 1 secondo. Inoltre io ho messo quella descrizione perché era la prima cosa che avevo fatto in fretta e furia per provare l'Optiboot v.4. Ci sono modi più eleganti, ognuno, come ho detto, usa quelli che preferisce.  ;)

Poi Michele, non potrei mai prendermela con te:  ;)
Altrimenti come potrei venire a magnà da te, prima o poi   XD

menniti

Quote
Poi Michele, non potrei mai prendermela con te: 

:smiley-sweat: :smiley-sweat: XD XD XD XD XD XD XD
Quote

Altrimenti come potrei venire a magnà da te, prima o poi   

XD XD XD Non vedo l'ora! :smiley-fat:

Sul resto, completamente d'accordo! $)
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

Go Up