aiuto software programazione atmega 328p-pu

Aperto da andrea.z, 07 Gennaio 2017, 16:29:59

Discussione precedente - Discussione successiva

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

andrea.z

ciao a tutti,volevo chiedervi un grosso favore,un software completo per programmare gli atmega 328p-pu completi!
io ho scaricato bascom avr 2.0.7.5  ma non è completo,me ne serve uno completo, ocome quello che si ossa fare ogni tipo di programazione e conversione di file!
spero che qualcuno mi aiuti,mandandomi magari in privato il file per poter sbloccare la demo...!
saluti a tutti da andrea.z


IU1IAZ

Ciao,
visto che si parla di programmazione dei 328, forse riesco ad esser d'aiuto.

Non mi è chiaro cosa intendi quando scrivi "software completo" ma certamente una modalità di programmazione è quella fornita attraverso l'IDE di Arduino.
Se hai a che fare con i 328 certamente avrai già notizia di Arduino e del software che vi gravita attorno (https://www.arduino.cc).

Hai un Atmega 328p-pu con già con un bootloader caricato oppure è "nudo e crudo"?

Un saluto,
Tredipunta.

trodaf_4912

Allora il bascom che hai scaricato è un compilatore in versione demo max 4k.
Che sia basic o C il compilatore alla fine genera un file esadecimale . hex che poi attraverso un programmatore collegato alla porta USB/seriale/parallela viene scaricato sul microcontrollore programmandolo. Attenzione nella fase di programmazione devi settare anche i fuse nell'atmega328. Questi selezionano il tipo di oscillatore se interno o esterno, a cristallo o risuonatore, la frequenza di lavoro ecc. Ripeto che sia basic, C o altro questi sono solo compilatori. Segui il consiglio che ti ha dato il collega e usa la piattaforma Arduino dove hai già un ide completo di compilatore ed editor. Poi gli abbini un programmatore esterno tipo usbasp per programmare il micro. Questo in sintesi.
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te

andrea.z

#3
ciao e grazie per le risposte,allora il micro è vergine,un amico radioamatore mi ha inviato il file per programmare il micro per farlo diventare un generatore dds,io volevo cambiare alcuni parametri dei file che mi ha inviato,ossia il sorgente   "file.bas".
con arduino che hò già non riesco a usare questo tipo di file per poi trasformarlo in hex e trasferirlo!
per programma completo intendo sbloccato se qualcuno gentilmente mi da il file per sbloccarlo e poter trasferire senza limiti di dimensioni!


dato che ci sono vi chiedo per quale motivo durante la scrittura di un file su un micro compaiono degli errori come in foto allegata?
si tratta di un software per altre applicazioni"vna antenna"
in ogni caso riesco a programmare il micro,ma usando questo software(khazama) e pure con arduino mi compare delle scritte di errore di sincronizazione!
i fuse non gli ho toccati!(ma servono per impedire la copia o solo per il clock)?
il problema che notavo programmando un chip vergine è che caricando solo i file flash.hex e  eeprom.hex il dispositivo andava superlentissimo...il miracolo fu possibile caricandogli prima con arduino un bootloader senza toccare i fuse o altro!
saluti di nuovo da andrea.z

:birra:


IU1IAZ

Ciao,
per quello che hai scritto comprendo che hai già l'esperienza nell'utilizzo dell'Arduino e nella programmazione di Atmega "stand alone".

Il tuo amico radioamatore come ha ottenuto il risultato che anche tu vuoi raggiungere?
Si tratta solamente di avere il Software in versione licenziata o ci sono problemi nell'effetiva programmazione dell'Atmega328?

Il 328 vergine di cui parli, riesci già a programmarmo con successo? come lo fai?

Il software che utilizzi non lo conosco e non ho idea, se non quella di riscrivere il codice in C++, di come utilizzare il file Visual Basic in tuo posesso.

Perdona le numerose domande ma mi servono a capire se riesco a darti un contributo positivo.


... forse se ne parlassimo via radio :-) di che zona sei?

Buona serata,
Tredipunta



trodaf_4912

#5
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.
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te


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

#7
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 !
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te

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 !
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te

andrea.z

grazie,lo installo,e ci prenderò la mano!
mi serve ancora un software che legga i file .bas e che li converta in .hex! può farlo questo?
73

trodaf_4912

No. E' il compilatore basic che li produce e non un interprete basic.

That's all folks !
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te

andrea.z

ok,quale software occorre allora per il compilatore basic?
ho installato il software,ma mi era sparito il driver usbasp...l'ho appena reinstallato!
caricando su atmega..il bootloader mi compare sempre un errore come nella foto!
questo tramite arduino naturalmente,invece con khazama compare il solito che ho gia pubblicato(la foto precedente),ma poi a parte questo tutto riesce a scriversi sul chip!
mi piacerebbe però che non comparisse neanche un errore!
riguardo al software che mi hai passato,per favore mi serve una mano su dove andare per configurare : la porta, il programmatore usbasp e l'integrato,e tutto ciò che deve essere configurato per funzionare!
saluti!




trodaf_4912

Per il compilatore basic non lo so , io uso il C e quidi usando la piattaforma arduino va bene cosi'.  Perche' complicarsi la vita con il basic se hai gia' tutto pronto con Arduino ?.
Una volta installato il driver usbasp  e poi colleghi il programmatore sulla usb , windows lo riconosce ed e' gia' tutto  a posto.
Se qualcuno ti dedica del tempo apprezzalo sempre perché lo toglie al suo per dedicarlo a te

andrea.z

diciamo che volevo cambiare alcuni parametri e fare delle prove sul basic!
comunque lo installo così  com'è,l'importante è che funzioni!
ciao e grazie ancora per l'aiuto!
andrea.z
:birra: