Buongiorno a tutti ho il seguente problema devo caricare il bootloader di Arduino sulla mia Development Board AT90USBKEY. Ho visto che per caricare il bootloader di Arduino è necessario collegare i segnali ISP (MISO MOSI VCC GND CLK RST) tra arduino UNO e il micro nel quale inserire il bootloader impostare sull'IDE di arduino ARDUINO as ISP e infine scrivi il bootloader. La domanda è la seguente:
Ho notato che i microcontrollori ATMEL utilizzano un programma chiamato FLIP per inserire all'interno dei file .hex come il bootloader. Volevo sapere esiste un file .hex per fare il bootloader di ARDUINO su un AT90USB1287 che è alloggiato nella mia scheda di sviluppo? Grazie P.S. Non so forse è meglio che sposto il topic nella sezione HW?
Sicuro che il bootloader dell'ATmega328 sia compatibile con il AT90USB1287?
Io ho qualche dubbio. :~
PaoloP:
Sicuro che il bootloader dell'ATmega328 sia compatibile con il AT90USB1287?
Io ho qualche dubbio. :~
si infatti Paolo io stavo dicendo la procedura x un ATmega328 e chiedevo appunto se c'è un metodo alternativo x un AT90USB128x ??? Grazie. Cmq anche io dubito che vada bene
Per programmare i bootloader e non solo, c'è la "fantasmagorica" guida del Prof. Menniti.
--> http://michelemenniti.it/arduino_burn_bootloader.php
PaoloP:
Per programmare i bootloader e non solo, c'è la "fantasmagorica" guida del Prof. Menniti.
--> http://michelemenniti.it/arduino_burn_bootloader.php
Grazie cmq misa l'avevo già vista la riguardo magari ora che ne sò qualcosina in + Grazie ancora
Solo sto notando che il professor Menniti nella sua guida indica come programmare un atmega328 tramite arduino se non ho capito male io dovrei programmare un altro micro della famiglia atmel in particolare l'at90usb1287 tramite l'IDE di arduino ...sempre se sono compatibili... a questo punto ho qualche dubbio sulla compatibilità
Qui nella sezione inglese del forum sembra che siano compatibili.... http://forum.arduino.cc/index.php/topic,23592.0.html
Si, il problema è implementare le modifiche sull'IDE 1.0.5.
A meno che non ti metta ad usare un vecchissimo 0015.
Guarda qui --> Google Code Archive - Long-term storage for Google Code Project Hosting.
PaoloP:
Si, il problema è implementare le modifiche sull'IDE 1.0.5.
A meno che non ti metta ad usare un vecchissimo 0015.Guarda qui --> https://code.google.com/p/micropendous/
Ok infatti avevo visto tramite quel link questa cartella ma io dovrei metterci il bootloaderCDC ? sbaglio? che trovo dentro la directory LUFA? Grazie ancora
Anzi ho visto che bisogna fare l'upload del bootloader DFU però la domanda è che quello viene fatto per quella scheda la LUFAduino che alloggia si lo stesso micro controllore mio però sembra funzionare immediatamente, ma nel mio caso ciò non avviene come mai ? O meglio come posso accorgermi se il file .hex caricato ha sortito l'effetto sperato ? Grazie
Se il programma contiene comunicazioni seriali, prova ad aprire il Serial Monitor.
Il problema è che ho una scheda una Evaluation Kit che si chiama AT90USBKEY2 e alloggia un AT90USB128 e vorrei poterlo programmare con l'IDE dI ARDUINO non so se è possibile però per prima cosa dovrei caricarci il bootloader appropriato per poi poter utilizzare l'ambiente di sviluppo di ARDUINO x programmarlo. Sbaglio?
Se il micro non è supportato dalle librerie Arduino tanto vale usare Atmel Studio, perché l'IDE di Arduino è comunque è limitato.
allora vediamo un attimo di farti capire
ogni microcontrollore pè organizzato in maniera differente.
l'ide di arduino include alcuni files (nell'ide oltre la 1.0 sono in hardware->arduino->cores se non erro) che permettono di usare le caratteristiche funzioni come analogRead() e digitalRead() sull'atmega328 o sulle schede suppotate ufficialmente.
poi ogni microcontrollore deve essere programmato.
arduino mette a disposizione un bootloader ovvero un programma vero e proprio che si attiva subito all'avvio del microcontrollore e controlla che arrivino segnali sulla seriale, nel caso in cui arrivi una sua stringa procede alla programmazione (salva in memoria flash quello che arriva dalla seriale oppure un protocollo da loro implementato).
nel tuo caso tu avrai quindi bisogno di
- un core
- un bootloader
il bootloader l'hai trovato e si chiama LUFA e noterai che hai 3 tipi do bootloader. tu puoi usare il DFU (e lo programmi con flip tramite usb) oppure il CDC (e lo programmi con arduino come programmatore icsp o con un programmatore comunque).
il core invece non so se lo troverai ed è la parte più importante.
come PaoloP ha scritto esiste Micropendous ma non ho capito bene come funziona, da quello che posso intuire usa avr-lib ovvero delle librerie che semplificano l'utilizzo dei microcontrollori avr. come se fosse un core di arduino insomma.
ecco partendo da questi files potresti provare a creare un core per arduino.
naturalmente se lo fai poi condividi tutto
LUFA non è un bootloader, è un ambiente di sviluppo (LUFA sta per Lightweight USB Framework for AVR) che fornisce un set di strumenti per gestire via software la comunicazione USB. Puoi inglobare quegli strumenti nel bootloader (tipo il progetto Metaboard) oppure usarlo in un classico firmware (tipo il firmware dell'Atmega8/16U2).
Quindi questa AT90USBKEY non è programmabile dall'IDE di Arduino giusto? non c'è un modo per vederla come periferica da questo IDE e poterci quindi fare l'upload di sketch scritti con Arduino ?
lollo1100:
Quindi questa AT90USBKEY non è programmabile dall'IDE di Arduino giusto? non c'è un modo per vederla come periferica da questo IDE e poterci quindi fare l'upload di sketch scritti con Arduino ?
allora correggo quello che ho detto sul lufa e quindi la risposta è:
si puoi programmare la tua scheda dall'ide di arduino MA dovrai scriverti il core e il bootloader
L'unica cosa di aggiornato che ho trovato in rete che riguarda l'At90Usb1287 è il Micropendous:
https://code.google.com/p/micropendous/
Lì parlano anche del framework Lufa e di un Lufaduino per programmare la scheda che fanno tramite Arduino. Ma non ho approfondito. Guarda un pò te se può fare al tuo scopo.
scusate l'ignoranza ma per scrivere il core e il bootloader in modo tale che riesca a programmare il mio AT90USBKEY da l'IDE di Arduino come si scrive? ...c'è una guida per scrivere il core e il bootloader in cui vengano spiegati i passi chiave per scrivere sia core che bootloader. Grazie infinite x quanto riguarda micropendous ho visto che è una scheda a se che ospita si AT90USB1287 ma che non mi da nulla di buono x far vedere all'IDE di arduino il mio HW. Grazie di nuovo
Il primo passo è aggiungere nell'IDE il modello di micro che stai usando tramite il file board.txt
Poi dovrai provvedere a crearti un file pin_arduino.h per il micro e infine inserire le opportune modifiche (tramite define o ifndef) nel core attuale di Arduino.
Dovrai studiarti tutto il core di Arduino, ad esempio quello del 32U4 (la Leonardo) più simile al tuo, e modificare tutte le chiamate ai registri e alle periferiche interne del micro.
Trovi questi dati comparando i due datasheet forniti da Atmel. Molti registri saranno uguali, ma altri no. E lì che devi modificare il codice affinché compili e funzioni.
Terminato questa fase, o anche parallelamente, devi studiarti come funziona il bootloader del micro e apportare al codice disponibile sul GitHub di Arduino le modifiche per farlo funzionare.
Quando terminerai tutto e sarà funzionante allora potrai andare all'Università ad insegnare come funziona Arduino, il suo core e il processo di boot per la programmazione ISP.
Arduino per te non avrà più segreti.
PaoloP:
Il primo passo è aggiungere nell'IDE il modello di micro che stai usando tramite il file board.txt
Poi dovrai provvedere a crearti un file pin_arduino.h per il micro e infine inserire le opportune modifiche (tramite define o ifndef) nel core attuale di Arduino.
Dovrai studiarti tutto il core di Arduino, ad esempio quello del 32U4 (la Leonardo) più simile al tuo, e modificare tutte le chiamate ai registri e alle periferiche interne del micro.
Trovi questi dati comparando i due datasheet forniti da Atmel. Molti registri saranno uguali, ma altri no. E lì che devi modificare il codice affinché compili e funzioni.
Terminato questa fase, o anche parallelamente, devi studiarti come funziona il bootloader del micro e apportare al codice disponibile sul GitHub di Arduino le modifiche per farlo funzionare.
Quando terminerai tutto e sarà funzionante allora potrai andare all'Università ad insegnare come funziona Arduino, il suo core e il processo di boot per la programmazione ISP.
Arduino per te non avrà più segreti.
cioè apro il blocco note scrivo AT90USB1287 salvo all'interno della directory hardware all'interno di Arduino 1.0.5? x il primo passo? credo di non aver capito ... o meglio modifico il board.txt che già c'è?