compilatore per avr

Aug 05, 2010 3 Replies

Pensavo di passare ai micro della Atmel avete consigli sul compilatore da usare? con google si trova di tutto, mi dite un po i pro e i contro dei principali?


gulp:

Per l'assembly e il debugging c'è l'AVRstudio4, scaricabile gratuitamente dal sito Atmel.

Il compilatore GNU GCC (WinAVR) è disponibile su

formatting link
sito di riferimento per gli AVR.

Personalmente uso CodeVision (la versione free è scaricabile da AVRfreaks) perché mi lascia una decina di registri liberi per processare gli interrupt senza mettere e togliere roba dallo stack.

"F. Bertolazzi" ha scritto nel messaggio:

Grazie per le informazioni, nel messagggio avevo comunque tralasciato che intendevo compilatore "C" mi spiegheresti questa storia degli interrupt? non e' il compilatore che crea il codice per gli interrupt? li scrivi forse direttamente in assembler?

Il motivo dell' uso di CodVision e' legato solo alla questione dei registri liberi?

gulp:

Sì, e, già che c'è, scrive anche il resto del programma. :D

Ciò che il compilatore genera automaticamente è il codice per salvare nello stack i registri che servono all'interrupt handler. Se l'handler usa solo registri che il compilatore ignora (nel caso di CodeVision da R2 a R14 inclusi), non salva nulla, rendendo l'interrupt assai più veloce.

Qualche volta, se è il caso. Altrimenti basta a dire a CodeVision che il dato tale è nel registro tale e scrivere in C. Ricordandosi però di non usare costanti immediate ( o sapere che dovrai salvare almeno un registro "alto"), dato che il primi 16 registri dell'AVR non le possono utilizzare direttamente.

Boh, quando ho iniziato con gli AVR c'erano solo il compilatore IAR (costosissimo) e CodeVision, assai più economico. Dato che va bene, non ho mai pensato di cambiare...

Ah, ha un Wizard molto comodo che ti produce il codice per inizializzare le periferiche che non credo WinAVR abbia.

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required