Testato:
mauro io preferisco non parlare di programmazione o non programmazione perche' alcuni fuse sono si' on off, ma altri sono una scelta.
in tal senso sia 1 che zero sono una programmazione, perche' stai scegliendo cosa vuoi fargli fare.
Esempio il BOOTRST, ad 1 punta il vettore di reset alla sezione application, a 0 lo punta alla sezione bootloader.
come vedi in questo caso se dici "con 1 il BOOTRST non e' programmato" non e' corretto.
Mentre effettivamente in altri casi come il tuo citato "divide il clock x8" si puo' applicare il concetto di programmato o meno
questo volevo far capire, non so se ci sono riuscito, oppure se sbaglio qualcosa nell'interpretazione
mauro posta il link alla tua gui, non l'ho mai provata
Ok si ora ho capito a cosa ti riferisci, però diciamo che se vogliamo tutti usare la stessa lingua dobbiamo imparare dallo stesso libro ed esprimerci tutti come il libro stesso ci insegna. In questo caso il libro di riferimento è il datasheet del microcontroller e li non si fa alcuna differenza tra i bit di ogni fuse byte, dove accanto ad ognuno è specificato 0(programmed) o 1 (unprogrammed). Ovviamente bisogna andare a vedere cosa succede se un bit è programmed o meno.
Il programma è su git https://gitorious.org/avrdudequi/pages/Home
Occhio che compila solo su GNU/Linux perchè usa DBUS.
La versione che hai visto ha la gestione dei lock bit che non c'è su quello presente nel repo.
Non ho ancora aggiornato il repo con la nuova versione perchè è instabile va in crash una volta si e una volta sempre. Le gui di ogni micro supportato sono create tramite QtDesigner e vengono caricate a run-time quindi se vuoi una gui per un micro non presente chiedi e ti sarà dato.
Non sono concentrato su questa versione che aggiorno di tanto in tanto perchè alla fine fa il suo lavoro ed è estendibile ma in modo limitato. Invece la nuova versione è quella super flessibile tutta orientata ai plugin che dovrei sviluppare ma che per adesso è ferma a livello embrionale, ci sono solo moduli base come la gestione dei device usb nativa perchè questo non sarà un front-end ad avrdude ma un programma indipendente.
thexeno:
Ottimo MauroTec, l'Avr Studio non offre fuse da programmare, devi usare l'avrdude e fusecalc che trovi googlando. Comque concordo con ciò che dici. E grazie.
@Testato: si dice datasheet. Comunque ho appena dato un esame sui freescale programmandoli a livello di singoli registri, per cui voglio fare tutto il contrario di quello che dici te. Ho un arduino solo xke ha un bootloader molto supportato (quindi no programmatore) e costa poco. Personalmente il C++ e le librerie prefatte le trovo totalmente inutili e controproducenti per chi vuole fare strada in termini di apprendimento di elettronica e programmazione efficiente al livello di pilotare un motorino o un LCD. Ma fondamentali a chi non interessa questa roba. Fosse per me programmerei solo in assembler, ma mi rendo conto che è impossibile quasi oltre un certo livello di complessità e irrispettoso verso il C , e a questo livello rischierei di perdere la salute mentale, se ancora ce n'è. E a parte queste elucubrazioni, i fuse di cui tu parli si chiamano registri, e sono locazioni che vengono scritte e lette per impostare i comandi interni e si cambiano nel codice secondo le indicazioni che solo un datasheet o manuale contengono. I fuse li programmi solo durante il burning del programma sulla eeprom e, nel caso del bootloader, solo durante il burning del bootloader stesso (del quale ammetto che non ne conosco bene il funzionamento, so solo che intepreta i byte ricevuti dalla seriale mettendoli nelle giuste locazioni XD)
Avr Studio supporta le estenzioni tramite plugin, ora io non ho windows e quindi non posso usare Avr Studio ma mi sono documentato tempo a dietro. L'utente che usa Avr Studio e che ha esperienza diretta è Astrobeed che per adesso latita il forum perchè probabilmente è in vacanza ai tropici. Quindi quando torna può smentire quanto dico, e cioè ho la certezza che se installi sul tuo pc un programmatore Avr ISP mkii ti sarà possibile modificare i lock bit, fuse bit ecc, e al momento non puoi farlo perchè il plugin per Arduino board non esiste in Avr Studio.
Le ultime affermazioni in risposta a Testato ti hanno portato fuori strada, le cose non stanno così o meglio intuisco un certa confusione, e te ne accorgerai quando sarai in grado di comprendere il codice del bootloader di arduino 2009 che è più facile da studiare, comunque le altre board hanno un bootloader che offre funzionalità simili a quelle della 2009. Ed in genere continuando a leggere il datasheet e ti renderai conto di come stanno le cose. Poi per il resto noi siamo qui con ancora la voglia di rispondere ai quesiti di interesse generale.
Testato:
merda, ne e' arrivato un altro
Pelletta:
Anche io sto vedendo un pò i fuse bit.
Sto provando come esercizio a calcolarmi i fuse per le board che ho almeno verifico se posso continuare nello studio
Ho trovato una cosa che non mi torna sul fuse high (0xDE) per l'ATmega328P in standalone (senza bootloader).
Quando ho provato sul calcolatore mi esce come fuse high 0xDF; ho notato che per settare i fuse come nella board devo mettere la spunta anche sul BOOTRST (Boot reset vector).
Da quanto ho capito questo se spuntato serve per far partire il bootloader subito dopo il reset, mentre se è disabilitato parte direttamente lo sketch; sulla board del 328P in standalone (quindi senza bootloader) perchè è settato BOOTRST se non c'è il bootloader?
@Michele: sono spiegati questi dettagli sulla rivista?
Si in effetti sembra proprio che su standalone quel fuse bit debba essere unprogrammed cioè posto ad 1. Anche se non so cosa accade se rimane programmato.
Ciao.