[WIN] Aggiornam. compilatore IDE 0022-0023-1.0 all'ULTIMA VERSIONE ATMEL

astrobeed:
Sia ben chiaro che io non voglio convertire nessuno a Windows o a Linux, ognuno pensa con la propria testa e prende le decisioni che preferisce, però non mi piace vedere sempre sparare a zero verso Windows solo per motivi di "credo" o perché non lo si conosce a fondo.

Sostituisci Linux a Windows e lo stesso discorso vale per me :wink:

BrainBooster:
potete tranquillamente sostituire l'eseguibile di avrdude dato con l'ide con quello incluso nella 5.11 ed anche il relativo .conf (se avete fatto modifiche a quest'ultimo, ricordatevi di riportarle).@menniti l'ultima è la 5.11,forse tu ti riferisci alla documentazione che è 5.11.1?

No perché avrdude.exe che si trova nell'IDE è stato modificato per poter funzionare con il bootloader, se non usate il suo poi non è possibile effettuare il download dei programmi.
Rimpiazzare avrdude.exe presente in WinAvr aggiornato con quello presente in Arduino è una delle cose da fare per effettuare l'update.
Ovviamente è sempre possibile prendere la modifica fatta sul vecchio avrdude, riportarla in quello nuovo e ricompilare il tutto.

Dal playground di Arduino

The avrdude that comes with Arduino was modified to ensure proper functioning of the auto-reset of Arduino 
boardsbefore upload (without which the upload will fail). 
The source code to the Arduino version is available on GitHub.

Ok ragazzi è ora di smetterla di fare dibattiti se un sistema operativo è meglio di un altro.

Da ora in poi ogni dibattito di questo tipo sarà considerato OT e non sarà più tollerato, sono perdite di tempo inutili che si prestano ad inutili flame. Arduino è cross platform dal primo giorno proprio perché non vogliamo obbligare nessuno ad usare un certo sistema operativo e non vogliamo partecipare a dibattiti d ìi questo tipo.

@testato per favore evita di parlare di mele marce. solo perché a te non piace Apple non è un'occasione per fare incavolare quelli a cui piace.

m

Tutto un inutile bordello, c'avevo provato a farvi smettere, c'è voluto legacy per riuscirci :grin:

BB hai ragione, ho fatto casino con i doc, ma ora non ci capisco più nulla, potresti riportarmi per favore i link diretti del software e della documentazione più aggiornati, tenendo conto che ho windows e rar?
tnx :slight_smile:

astrobeed:

BrainBooster:
potete tranquillamente sostituire l'eseguibile di avrdude dato con l'ide con quello incluso nella 5.11 ed anche il relativo .conf (se avete fatto modifiche a quest'ultimo, ricordatevi di riportarle).@menniti l'ultima è la 5.11,forse tu ti riferisci alla documentazione che è 5.11.1?

No perché avrdude.exe che si trova nell'IDE è stato modificato per poter funzionare con il bootloader, se non usate il suo poi non è possibile effettuare il download dei programmi.
Rimpiazzare avrdude.exe presente in WinAvr aggiornato con quello presente in Arduino è una delle cose da fare per effettuare l'update.
Ovviamente è sempre possibile prendere la modifica fatta sul vecchio avrdude, riportarla in quello nuovo e ricompilare il tutto.

Dal playground di Arduino

The avrdude that comes with Arduino was modified to ensure proper functioning of the auto-reset of Arduino 

boardsbefore upload (without which the upload will fail).
The source code to the Arduino version is available on GitHub.

Ok. Allora sostituisco solo l'avr-gcc ricopiando l'avrdude. XD
Grazie.

Edit: E' prevista una futura versione dell'IDE 1.1 con tutti gli aggiornamenti del caso?

@astro sicuro che non vada bene avrdude originale? ... io fra i sorgenti di avrdude vedo un file che si chiama arduino.h .
edit: ho provato a scaricare i sorgenti della 5.1.11 e a ricompilarli su windows (funzionano) ho sostituito con quello compilato quello dentro winavr e ho uploadato dall'ide senza problemi.
Quindi si può fare tranquillamente quelloche dicevo prima.
il file con avrdude per windows da scaricare è:
http://download.savannah.gnu.org/releases/avrdude/avrdude-5.11-Patch7610-win32.zip

BrainBooster:
... io fra i sorgenti di avrdude vedo un file che si chiama arduino.h .

In effetti non ho guardato i sorgenti, a quanto pare in questa versione c'è anche il supporto per l'autoreset di Arduino, non il file Arduino.h, ma Arduino.c

In particolare queste righe:

/* Clear DTR and RTS to unload the RESET capacitor 
   * (for example in Arduino) */
  serial_set_dtr_rts(&pgm->fd, 0);
  usleep(50*1000);
  /* Set DTR and RTS back to high */
  serial_set_dtr_rts(&pgm->fd, 1);
  usleep(50*1000);

Quindi si può fare tranquillamente quelloche dicevo prima.
il file con avrdude per windows da scaricare è:
http://download.savannah.gnu.org/releases/avrdude/avrdude-5.11-Patch7610-win32.zip

Ottimo, così ora abbiamo anche avrdude aggiornato con il supporto a tutti i micro usciti nel frattempo.

Ho modificato un pò avrdude per permettere di programmare anche i micro con la signature zappata ma ancora funzionanti, a chi và di fare da cavia? ]:smiley:

Se quanto hai appena spiegato funziona sul serio avresti risolto il problema degli sketch over 64K che afflige le versioni 4.xx.
Astro ci sta lavorando da un po' e mi pare dicesse che ha divuto superare più di qualche problema, facendo prove approfondite, quindi bisognerebbe fare lo stesso col tuo sistema, per capire se davvero funziona, un upoload che va a buon fine non è prova che tutto funzioni correttamente.
Fattolo funzionare sarebbe bellissimo, lì dentro ci sono tutti ma proprio tutti i micro ATMEL, almeno quelli che conosco XD. Dico che sarebbe un bel punto di partenza per implementare i relativi cores, almeno non ci sarebbero problemi lato compilatore :wink:

BB: la faccio io la cavia, ho giusto un attiny4313 con la signature FFFFFF che però accetta le variazioni dei fuse, ma spiega chiaramente e non dare nulla per scontato, se mi fa abbrustolire altri micro ti vengo a cercare sul Gargano ]:smiley:

...dovevo aggiungere il disclaimer :"a vostro rischio e pericolo" :stuck_out_tongue_closed_eyes:
non credo che esploderà nulla :slight_smile:
adesso ti mando una mail con quello modificato.
rinomina in avrdude.exe_OLD quello originale e copia quello modificato nella stessa cartella.

BrainBooster:
...dovevo aggiungere il disclaimer :"a vostro rischio e pericolo" :stuck_out_tongue_closed_eyes:
non credo che esploderà nulla :slight_smile:
adesso ti mando una mail con quello modificato.
rinomina in avrdude.exe_OLD quello originale e copia quello modificato nella stessa cartella.

ma devo naturalmente copiare anche l'AVRDUDE.CONF? e di quella cartella "giveio" che ne faccio?

Non facciamo confusione tra avrdude e avrgcc, sono due cose diverse con finalità diverse, il primo è solo un programma che comanda un programmatore hardware, non gli interessa nulla se l'hex è più o meno grande se la flash del micro in oggetto è in grado di contenerlo.
Il limite di 64k, anzi di 128k, ovvero 64 kword visto che gli AVR usano tale segmentazione per il programma, e di 64k per i dati posti nella flash, è dovuto a avrgcc, è lui ad essere limitato, per i 128k di programma, e bacato per i 64k dei dati.
Detto in altri termini, se con l'attuale versione di Arduino, non importa se 0023 o 1.0, compili un programma per l'ATmega2560 che supera i 128 kbyte per lo sketch, o a dati scritti nella flash oltre i 64k, non funziona sia che lo carichi tramite avrdude e bootloader sia che lo carichi in modo ISP con un vero programmatore hardware, p.e. AVRISP MKII o Dragon.

si, è vero quoto astrobeed.
quello che ho fatto è solo disabilitare il blocco del sw che ti ferma quando non legge la signature, non altro.

BB, stiamo parlando d'altro :~ rispondi alla mia domanda precedente per favore :wink:

Ok, chiaro il discorso, comunque a questo punto abbiamo il compilatore 4.3.3 e l'AVRDUDE 5.1, è già un bel passo avanti :smiley:
Quando poi completerai l'upgrade al compilatore 5.xx saranno risolti praticamente tutti i problemi e limitazioni derivanti dal software attuale, o no?

@Menniti lascia il resto così com'è , copia solo l'eseguibile

Però nessuno mi ha risposto in merito ai miei dubbi.
Da questo link http://www.atmel.com/tools/ATMELAVRTOOLCHAIN3_2_3FORLINUX.aspx ho scaricato gli ultimi due. Questi contengono, il primo delle patch che riguardano tutte avr32, il secondo sono dei sorgenti che contengono solo file di intestazione.

Tutte le patch per gcc e binutils si riferiscono ad avr32 e anche guardando dentro non c'è nulla per avr mega 8 bit ma neanche per attiny. Ora io vorrei capire cosa ha di diverso questa benedetta toolchain di Atmel che non c'è nella versione presente nei repo di avr-gcc, avrlibc ecc.

@Leo quel link non l'ho guardato ancora, proverò a dargli una occhiata anche per capire cosa scarica e da dove.

Tu dicevi che non sai dove mettere i file, provo a darti una dritta sulla base delle mie esperienze. dpkg dovrebbe avere una opzione per vedere la lista dei file (compresi i percorsi) presenti in un pacchetto, rpm ad esempio c'è l'ha, basta rpm -qlp nomepacchetto.rpm oppure se è installato basta rpm -ql nomepachetto (es rpm -ql inkscape). Così dovresti essere in grado di capire dove vanno i file appartenenti alle binutils ecc.

Ma il problema principale risiede in arduino ide che dovrà usare i strumenti "nuovi" prendendoli da un percorso ben definito, come fare non lo so.

Ora se Astro mi illumina, visto che lui è già avanti provo anche io a raggiungerlo, sempre che non sia irrangiungibile :stuck_out_tongue:

Ciao.

BrainBooster:
@Menniti lascia il resto così com'è , copia solo l'eseguibile

Non funziona è si è pure incazzato con te :fearful:

 Yikes!  Invalid device signature.
         Double check connections and try again, BB!

Giuro che quel BB non l'ho scritto io ma è uscito da solo :cold_sweat:

@Menniti aspetta che controllo... (il BB è la mia signature :wink: )
secondomè astro è arrivato al punto che ha fatto iniziare la reazione a catena fra compilatore ide e core :smiley:
e sta compattendo con le variabili "punned" e l'aliasing...
credo che per aggiornare il toolchain con quella di atmel la cosa sia un pò più complicata che con winavr, e forse c'è da modificare anche le istruzioni di compilazione che l'ide manda a gcc, ma lasciamo che Astrobeed faccia ancora una volta la magia :slight_smile:

MauroTec:
http://www.atmel.com/tools/ATMELAVRTOOLCHAIN3_2_3FORLINUX.aspx ho scaricato gli ultimi due. Questi contengono, il primo delle patch che riguardano tutte avr32, il secondo sono dei sorgenti che contengono solo file di intestazione.

Vi rammento che stiamo parlando di come aggiornare il compilatore di Arduino per Windows, non per Linux, io sto lavorando sulla toolchain Atmel 3.2.3 versione Windows, e come ho già detto il trapianto non è una cosa indolore da fare.
Oggi ho fatto altri test e sono venuti fuori due nuovi problemi, uno già risolto e uno ancora da risolvere, però dovrei essere molto vicino a mettere la parola fine e rilasciare la procedura per questo aggiornamento che dovrebbe risolvere alla radice tutti i problemi di compilatore che affliggono Arduino.

@Menniti hai posta