Elettronica e Radiotecnica > Programmazione microcontrollori

aiuto software programazione atmega 328p-pu

<< < (2/3) > >>

trodaf_4912:
Sembra che non trovi i driver del programmatore usbasp. I fuse sono 4 da 8 bit ciascuno e come ho scritto servono per selezionare il tipo di oscillatore e il range di frequenza di funzionamento. Puo' funzionare anche con RC interno selezionando opportunamente i fuse. Inoltre si puo' selezionare i cicli di attesa dopo il reset prima che il controllo passi al programma e altre cose che non mi ricordo piu' dal momento che una volta definiti non li cambio piu'. Devi farti dire dall'amico con che tipo di oscillatore e a quale frequenza , insomma l'HW del circuito in caso contrario il programma non verra' eseguito dal microcontrollore alla giusta frequenza per cui e' stato progettato. Ti vai a leggere il data sheet dell'atmega328 nella sezione fuse per avere la spiegazione del loro utilizzo e programmazione che si fa dal software di programmazione collegato al programmatore. Come SW di programmazione io uso extreme burner avr versione 1.4.3 che e' gratuito e che contiene gia' l'atmega328 sia P che non, abbinato al programmatore da 10 euro avr usbasp. I driver li trovi in rete se no te li invio io. Devi comunque avere a disposizione il file compilato .hex proveniente dal compilatore che vuoi. Poi lo scrivi nella flash del microcontrollore. Se il programma del tuo amico fa uso anche della eeprom devi avere un file.eep.hex che va scritto nella eeprom del microcontrollore.

andrea.z:
ciao,allora rispondo un po per volta!
si uno dei problemi è che vorrei il software in versione"licenziata"....
riguardo alla programmazione io sono totalmente inesperto,ma stò in questo momento seguendo dei video corsi gratuiti online(youtube) su come iniziare con arduino!
per il resto ho dovuto arrangiarmi tramite e-mail con gli amici radioamatori,che mi hanno fornito i firmware necessari,e fin quì ho risolto!(con khazama) anche se comparivano gli errori di clock,riuscivo poi a caricare lo stesso!
i fuse non gli ho toccati,perchè mi è stato detto di fare così, il dispositivi vna utilizza un quarzo a 16mhz esterno!
per la cronoca in vari video in internet anche esteri,ho notato gli stessi errori come nella foto che vi ho messo,ma poi anche loro ci riuscivano! resta il mistero degli errori!

l'altro congegno che devo fare è il generatore,il problema non è caricargli il file hex,ora ci riesco,il problema è che voglio cambiare nome ed imparare a cambiare altri parametri al firmware originale,o come si dice il "sorgente" naturalmente con i permessi di chi l'ha fatto!
il dubbio che mi viene è se non cariando il bootloader il dds sarà a rilento,oppure no!
io nel dubbio lo carico,ma vorrei anche capire tutti i motivi!

come ultimo vi chiedo visto che ve ne intendete quale è la procedura corretta per caricare dei firmware su gli atmega 328p-pu
ossia, è meglio caricare prima un file  flash.hex  oppure eeprom.hex?
e se voglio caricare il bootloader dopo aver caricato i firmware succede che cancello qualcosa oppure no?

vi chiedo questo per capire cosa succede con arduino quando si carica uno sketch...si cancella in automatico il vecchio sketch oppure si aggiunge al vecchio sketch ?

questo bootloader in poche parole è un settagio dei fuse o cosa?

riguardo al file bas,sono limitato a quel programma che per ora è limitato! speriamo di risolvere anche li,o al massimo usare altri free ma simili a quello,così poi lo conveto in hex!
comunque anche se alle prime armi,di solito con l'aiuto di persone come voi, riesco sempre a raggiungere l'obiettivo!

comunque seguirò anche il consiglio di leggere i data sheet e andrò a vedere il software extreme burner avr

la mia zona è zona 3! sono della provincia di rovigo!

saluti amici,e grazie ancora!
 :birra:   cq





trodaf_4912:
Allora i fuse su un atmega328 vergine sono configurati non per un oscillatore esterno con quarzo a 16MHz e quindi vanno modificati. Il bootloader serve per caricare il tuo sketch una volta montato sulla scheda arduino. Se il tuo HW non e' la scheda arduino puoi fare a meno del bootloader. Il bootloader e' caricato nella parte alta della memoria e se non lo scarichi puoi utilizzare tutta la flash del micro. Puoi caricare prima la flash e poi la eeprom o viceversa. Quando carichi uno sketch su arduino (e' il bootloader che esegue questo) viene cancellato lo sketch precedente e memorizzato quello nuovo.
Se programmi il micro stand alone con un programmatore esterno e' inutile caricare il bootloader e, dipende dal software di programmazione usato, normalmente prima della fase di memorizzazione della flash esegue automaticamente un erase della memoria, almeno extreme burner lo fa. In caso contrario esiste sempre una voce del menu con la dicitura "erase chip" che cancella sial la fllash che la eeprom. I fuse contengono la preselezione del prescaler per il clock e vanno settati se usi il programmatore esterno. Io uso un quarzo a 16MHz e due capacita'da 22pF high fuse=FF, loe fuse=DE,extended fuse=FD, e poi ce ne e' un quarto, lascialo stare perche' e' la calibrazione del micro che varia da esemplare a esemplare. Questa e' la mia scelta. Se vai a vedere sul data sheet del micro nel paragrafo fuse troverai bit per bit il significato di ognuno fino a comporre ogni byte che ti ho descritto.
Buon lavoro

That's all folks !

andrea.z:
ciao,grazie ancora per le ottime spiegazioni,ho cercato extreme burner avr per windows,ma non lo trovo!
o meglio credo che siano fake come link,mi dareste voi per favore un link corretto per scaricarlo per favore?
grazie a presto!
73 a tutti!
 :birra:

trodaf_4912:
ti allego il file di setup


That's all folks !

Navigazione

[0] Indice dei post

[#] Pagina successiva

[*] Pagina precedente

Vai alla versione completa