Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.
Fine tuning AVR
There are several advantages in using HLLs in stead of using Assembly language when
developing microcontroller applications. There has, however, traditionally been one
major disadvantage: the size of the code increases. The AVR microcontroller was
developed with the C language in mind in order to make it possible to construct a code
efficient C compiler for AVR. To improve this feature even more, the development of
the C compiler was started before the architecture and the instruction set were
completed. By allowing professional compiler developers at IAR Systems in Sweden
to comment on the architecture and instruction set, we were able to make a
microcontroller very well suited for C compiler generated code.
The best compiler for AVR is the gcc port for AVR (FREE, available on windows and linux)
But it might be a bit hard to learn if you're used to gui's and stuff.
Compared to code size and efficiency it beats the imagecraft compiler. (i've heard it beats the IAR compiler too but i cannot confirm that one)
When you need an "easy" compiler, IAR is probably the best for AVR (as keil is the best for 8051). Imagecraft is OK although the gui sucks (especialy the editor and project management have lack of gui features!!! When you use it, you'd probably wanna use a descent editor because even my scrollmouse doesn't work with it!)
CodeVision is probably the easiest compiler to use with its CodeWizard to start new projects in no time.
I would choose between these four compilers:
IAR www.IAR.com - Very expensive but very professional and supports almost every other MCU families, which makes it easy to change to another MCU family.
WinAVR is very good, and is updated almost every month.
The only problem is WinAVR doesn't have it's own IDE, and you have to write"makefile", so it maybe difficult for beginner. But , writing "makefile" is not very difficult (you can just modify the sample makefile a bit), and you can make your own IDE with UltraEditor or SourceInsight. So, I recommend WinAVR.
i tried iar,icc,cvavr and gcc ... i preffer iar because of very good code produced. Besides of this i also found it very strict iow it does what you programmed it for. Also gui is very fine .Icc has some undescribed bugs,
gcc is quite late with support of new devices and cvavr is very good for small easy project .. when you plan large project go fo iar .. when you programm small chip go for cvavr. You can integrate AVREAL32 programmer to it very easy .. it is very good combination
I've found WinAVR from AVR Freaks fine for small to medium scale projects. Theres plenty of people around who know a lot about it and are prepared to help for free.
This site uses cookies to help personalise content, tailor your experience and to keep you logged in if you register.
By continuing to use this site, you are consenting to our use of cookies.