Pagina 1 di 4

Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 9:17
da Sjuanez
Per colpa di alcuni utenti del forum :twisted: , che mi hanno stuzzicato malamente, mi sono fatto coraggio ed ho deciso di voler fare una capatina nel mondo dei micro. In modo estremamente soft.

La mia conoscenza dell'elettronica è ancora molto basilare, ma quello che cerco è più o meno un'infarinatura su questo argomento. Un sistema per affrontare la cosa al di là di Arduino (che sono due volte che non ce la fa a starmi dietro!).

Venendo alla domanda:

Ho notato che ci sono in giro apparecchietti come questo AVRISP mkII per programmare gli AVR, ma anche piccole interfacce USB dal costo di qualche dollaro. Oltre a chi usa proprio un Arduino come interfaccia ISP.

Mi sto leggendo tutto il blog di Foto UtenteTardoFreak, dove ha anche realizzato lui stesso delle interfacce. Insomma: per iniziare va bene tutto? Prendo un USBasp o un FTDI USB e sto apposto?

Grazie.
O_/ O_/ O_/

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 9:41
da harpefalcata
Ti pongo una domanda quasi esclusivamente per curiosità: Per quale motivo hai scelto proprio Atmel?

Per venire alla tua richiesta, so che esistono programmatori che sono in grado di programmare anche microcontrollori non appartenenti alla proprio famiglia, anche se non sono stati progettati per questo scopo, prova ad esempio a vedere il programmatore PICkit che, se non sbaglio è in grado di programmare anche vari tipi di Atmel, non te lo dò come certo, ma mi sembra di aver letto qualcosa in merito su internet.

IUl fatto che provieni da un Arduino non è un buon motivo per rimanere sugli Atmel, finora con Arduino non hai visto nulla riguardante un vero controller, potresti permetterti anche di fare il salto ed andare su PICmicro, oppure sui Texas.

Io al momento stò studiando i Cortex M4 e li programmo con un assembly a 32 bit.

A proposito, quale linguaggio hai scelto per sviluppare?

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 9:50
da IlGuru
Sjuanez ha scritto:Insomma: per iniziare va bene tutto? Prendo un USBasp o un FTDI USB e sto apposto?


Il programmatore che scegli dipende dal micro e dal software che usi per programmarlo. Il datasheet di ogni micro (o qualche suo allegato) descrive anche il protocollo implementato per la programmazione, acquisito quello poi il programmatore te lo puoi anche costruire da te. Alla fine si tratta di leggere un flusso di dati seriali ed eventualmente trasformarlo in un altro flusso di dati seriali.

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 9:55
da Sjuanez
Foto Utenteharpefalcata, curiosità assolutamente legittima. :D Ho scelto Atmel perché tempo fa acquistai in super offerta un bundle di libri di elettronica dell'editore Make. Vi è tra questi il famoso MAKE: AVR Programming che è proprio il livello con cui mi piace iniziare.

Diciamo che sono letture hobbistiche (faccio elettronica per divertimento) e hanno il tono giusto per cominciare. Secondo me.

Anche Foto Utenteboiler mi ha consigliato Cortex e probabilmente vi passerò successivamente. Cerco insomma un approccio soft altrimenti non riuscirei a gestirlo con tutte le cose che sto facendo. :D

Come linguaggio pare che il mio libro utilizzi il C e dunque seguirò questa dritta.

Foto UtenteIlGuru, nel libro si programmano gli ATMEGA168 o comunque giù di lì. L'autore consiglia di prendere sia l'interfaccia USBasp che la FTDI USB, ma anche di usare un Arduino come ISP. Credo che faccia fare un po' il giro per vedere quali modi ci sono.

Io poi guardando qua e là ho notato questo attrezzino di Atmel e, non capendo perché costi tanto, ho immaginato che avesse utilità a me sconosciute.

Grazie per l'aiuto.
O_/ O_/ O_/

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 10:02
da IlGuru
Foto Utenteharpefalcata io uso arduino ISP ma con questo shield arduino-isp per poter programmare tutti gli avr. Come software per la programmazione uso direttamente avrdude.

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 11:23
da TardoFreak
Se si vuole lavorare in modo serio con gli AVR è meglio comprarsi subito un AVR-DRAGON. Costicchia ma ti permette non solo di programmare i micro ma anche di fare debug, cioè seguire l'esecuzione del programma passo per passo.
Altrimenti va bene anche il programmatore che ho utilizzato negli articoli (USBasp).
Diciamo che ho scelto quello per far vedere come si poteva programmare un micro senza tirar fuori soldi ma è una soluzione limitata, proprio perché puoi solo programmare. Inoltre devi farci un po' di alchimie per aggiornargli il firmware.
Ho anche comprato, più per curiosità che per necessità, un clone del AVR-ISP ma non ho ancora avuto occasione di provarlo.
In ogni caso utilizzerò il dragon senza farmi troppi problemi.
L'adattatore USB-seriale ti serve solo se devi utilizzare la seriale. Se le tue applicazioni non richiedono l'uso della seriale (collegata al PC) ne puoi fare anche a meno.
Io ho comprato dalla cina gli adattatori che escono con 4 fili: +5V, TX, RX e GND. Costano niente e funzionano bene. Ne ho presi diversi perché in qualsiasi mia realizzazione, almeno nelle ultime, ho il vizio di scrivere un task di monitor che mi permette di fare tante cosine simpatiche, dalla visualizzazione di parametri, contenuti di FLASH o EEPROM esterne, all'auto test.
Io di solito uso i Cortex-M, ma sono oggetti complicati.
Se vuoi cimentarti con i Cortex (li fa anche la Atmel, sono i SAM) allora ti suggerisco di comprarti un clone del J-Link. Io ne ho un paio comprati dalla cina che funzionano bene e che permettono di programmare e fare il debug su tutti gli ARM.

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 11:54
da Sjuanez
Grazie per i consigli Foto UtenteTardoFreak.

I micro sono una cosa nuova per me, ma di programmazione qualcosa ho fatto e sono bene che un buon Debugger ti mette in pace con lo spirito! :D

Risparmiare per smadonnare non è il mio motto, dunque mi procurerò un Dragon per imparare nel modo più liscio possibile.

Però ho una domanda davvero banale:

Quando, ad esempio (tu lo sai bene), il linguaggio di programmazione o meglio l'IDE non ti mette a disposizione un debug comodo, si usano tecniche di output visuale come messaggi a schermo eccetera.

Con Arduino io usavo il monitor seriale a questo scopo, modificando il codice per eseguire verifiche passo passo. Non è che l'abbia inventato io questo sistema, è una roba comune.

Tu invece mi parli di strumenti che ti fanno fare anche il debug (e mi interessa), vuoi dire che devo dimenticare questa storia del monitor seriale ed affidarmi ad un hardware che si interfaccia bene con l'IDE e i suoi strumenti di debugging?

Scusa ancora la banalità della questione ma nuoto in acque nuove.

O_/ O_/ O_/

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 12:02
da TardoFreak
Dipende. A volte basta inviare qualche output sulla linea seriale per scovare l'eventuale errore nel programma, a volte l'errore è subdolo e non è così facile trovarlo.
Il debugger ti permette di trovarlo perché puoi mettere il naso ovunque, passo per passo.
A me capita di rado di dover utilizzare il debugger, ma quando mi serve devo averlo anche perché se ne ho bisogno è perché è successo qualcosa di molto grave.

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 12:05
da Sjuanez
Vada per il Dragon, allora. Grazie. Lo trovo su tutti i soliti siti, vero?
questo insomma:
http://it.farnell.com/atmel/atavrdragon ... Bcategorie
O_/ O_/ O_/

Re: Vari modi di programmare un Atmel AVR, differenze?

MessaggioInviato: 28 apr 2016, 12:10
da TardoFreak
Si, quello.
Da usare congiuntamente ad Atmel Studio.