Forum Menu




 


Log in Problems?
New User? Sign Up!
AVR Freaks Forum Index

Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Author Message
vaibhavgarg
PostPosted: Jun 30, 2005 - 09:59 AM
Newbie


Joined: May 02, 2005
Posts: 9


Can anyone give me the comparision between IAR & CodevisionAVR in terms of code optimization, price and performance issues?

Does anybody have an answer ?

Quote:

Education is a progressive discovery of your ignorance


Last edited by vaibhavgarg on Jun 30, 2005 - 10:35 AM; edited 1 time in total
 
 View user's profile Send private message  
Reply with quote Back to top
krako
PostPosted: Jun 30, 2005 - 10:11 AM
Resident


Joined: Mar 19, 2005
Posts: 700
Location: Swearing over an ATmega16

The only things i know are:
CV looks simpler to learn
IAR is suggested by ATMEL
If i'm wrong about the second please correct me.
Kostas

_________________
It's better to keep your mouth shut and think you a fool, than open it and move out the doubts!
 
 View user's profile Send private message  
Reply with quote Back to top
vaibhavgarg
PostPosted: Jun 30, 2005 - 10:38 AM
Newbie


Joined: May 02, 2005
Posts: 9


IAR is definately suggested by ATMEL but there is a HUGE price difference
 
 View user's profile Send private message  
Reply with quote Back to top
groenhen
PostPosted: Jun 30, 2005 - 11:02 AM
Posting Freak


Joined: Apr 09, 2005
Posts: 1384
Location: Belgium

Hi there!
So... comparison...
Well, I may be subjective here 'cause I use CodeVision, but I'll try to do my best:
- code optimization: CodeVision does a good decent job; IAR has diff. levels of code size/speed optimization;
- price: CodeVision has a affordable/decent price; IAR is extremely expensive;
- performance: I'm quite satisfied with the performance level of all my apps. generated by CodeVision.
IAR is a high level performance professional (industrial) C-compiler that also has a high level of reliability.
So, finally, it depends on how much money are you willing to invest and HOW reliable your product should be [estimate the reliability in direct connection with the price Smile - just kidding].

_________________
Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
jive
PostPosted: Jun 30, 2005 - 11:43 AM
Newbie


Joined: Jun 21, 2005
Posts: 18


haven't heard enyone praise the IAR compilers. IDE is quite good, but is the IAR really worth of the money? State-of-the-art compilers are provided by GHS.
 
 View user's profile Send private message  
Reply with quote Back to top
groenhen
PostPosted: Jun 30, 2005 - 12:02 PM
Posting Freak


Joined: Apr 09, 2005
Posts: 1384
Location: Belgium

Quote:
haven't heard enyone praise the IAR compilers.

Hmmm, I think there is a "price-range"... depens on what you need from the whole package.

Quote:
IDE is quite good, but is the IAR really worth of the money?

Yes/No... Finally, it's YOU who will decide! Smile It's YOUR money involved, not mine.

Quote:
State-of-the-art compilers are provided by GHS.

Can you give some more details, please?

_________________
Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
brberie
PostPosted: Jun 30, 2005 - 01:48 PM
Resident


Joined: Sep 12, 2003
Posts: 529
Location: XX century

IAR is a really good compiler but it is too costly about $3000.
CV is cheap, very simple and friendly. addind new ATMEL's chips really fast, has a nice wizard, but poor if any optimization, no linker.
 
 View user's profile Send private message  
Reply with quote Back to top
GuntherLilly
PostPosted: Jun 30, 2005 - 02:35 PM
Hangaround


Joined: Aug 22, 2003
Posts: 100


What round is this? 32767?
I started out with bascom, then I went to CodevisionAVR. I liked Codevision because I was new to both uC'c and to the C language. I then ran into an oppurtunity to buy two IAR EWAVR at a steal of a price. I won't mention the price, but they were trying to get more people using the compiler. The main thing with IAR was getting it set-up, after that it has been a breeze. I was hardly familiar with linkers, compilers and the C language, yet I managed to get the package working well.

One of the first things I did when I first implemented IAR was I took some previous projects done in codevision and did some speed comparison test. The speed comparison test consisted of toggling a port pin every loop on main within an existing project(6 axis hobby servo controller with floating point math) this would indicate a gain in speed for this particular project.

The results were very impressive. I don't have the results to show, however I remember a huge increase in speed.

As far a code size goes, with the projects that I had previously done I had a very large decrease in code space usage even with no optimizations turned on.

So anyway the 2 main aspects I have looked at are speed and code size. Coincidently I have never had an issue with neither speed nor code size with any compiler for the AVR.

If I wouldn't have ran across a good deal on the IAR compiler I would be using CodevisionAVR or Imagecraft, unless for a commercial product, if that was the case I would have my company purchase IAR EWAVR.


Very Happy
Matt
 
 View user's profile Send private message  
Reply with quote Back to top
GuntherLilly
PostPosted: Jun 30, 2005 - 02:39 PM
Hangaround


Joined: Aug 22, 2003
Posts: 100


What round is this? 32767?
I started out with bascom, then I went to CodevisionAVR. I liked Codevision because I was new to both uC'c and to the C language. I then ran into an oppurtunity to buy two IAR EWAVR at a steal of a price. I won't mention the price, but they were trying to get more people using the compiler. The main thing with IAR was getting it set-up, after that it has been a breeze. I was hardly familiar with linkers, compilers and the C language, yet I managed to get the package working well.

One of the first things I did when I first implemented IAR was I took some previous projects done in codevision and did some speed comparison test. The speed comparison test consisted of toggling a port pin every loop on main within an existing project(6 axis hobby servo controller with floating point math) this would indicate a gain in speed for this particular project.

The results were very impressive. I don't have the results to show, however I remember a huge increase in speed.

As far a code size goes, with the projects that I had previously done I had a very large decrease in code space usage even with no optimizations turned on.

So anyway the 2 main aspects I have looked at are speed and code size. Coincidently I have never had an issue with neither speed nor code size with any compiler for the AVR.

If I wouldn't have ran across a good deal on the IAR compiler I would be using CodevisionAVR or Imagecraft, unless for a commercial product, if that was the case I would have my company purchase IAR EWAVR.

Maybe someone should post a fairly significant sized project(in C), then let people compile the project for size and then speed and post the executable file with specifics about the compiler used and the settings, etc...


Very Happy
Matt
 
 View user's profile Send private message  
Reply with quote Back to top
bobgardner
PostPosted: Jun 30, 2005 - 03:20 PM
10k+ Postman


Joined: Sep 04, 2002
Posts: 13373
Location: Orlando Florida

You guys need to score this thing like the Olympics... throw out the most expensive compiler... IAR, the least expensive commercial compiler, CV, and go with the guy in the middle that I use every day.. Imagecraft
 
 View user's profile Send private message Send e-mail Visit poster's website 
Reply with quote Back to top
glitch
PostPosted: Jun 30, 2005 - 04:36 PM
Raving lunatic


Joined: Jan 12, 2002
Posts: 6972
Location: Canada

bobgardner wrote:
You guys need to score this thing like the Olympics... throw out the most expensive compiler... IAR, the least expensive commercial compiler, CV, and go with the guy in the middle that I use every day.. Imagecraft


Ummm.. wouldn't GCC be the least expensive??? it's FREE after all.
 
 View user's profile Send private message  
Reply with quote Back to top
EW
PostPosted: Jun 30, 2005 - 04:51 PM
Raving lunatic


Joined: Mar 01, 2001
Posts: 4204
Location: Rocky Mountains

glitch wrote:
bobgardner wrote:
You guys need to score this thing like the Olympics... throw out the most expensive compiler... IAR, the least expensive commercial compiler, CV, and go with the guy in the middle that I use every day.. Imagecraft


Ummm.. wouldn't GCC be the least expensive??? it's FREE after all.


Shh. We wouldn't want GCC to be thrown out in Bob's little system, would we? Wink
 
 View user's profile Send private message Send e-mail Visit poster's website 
Reply with quote Back to top
bobgardner
PostPosted: Jun 30, 2005 - 05:16 PM
10k+ Postman


Joined: Sep 04, 2002
Posts: 13373
Location: Orlando Florida

I thought the choice was among the commercial compilers. Sorry!
 
 View user's profile Send private message Send e-mail Visit poster's website 
Reply with quote Back to top
EW
PostPosted: Jun 30, 2005 - 05:33 PM
Raving lunatic


Joined: Mar 01, 2001
Posts: 4204
Location: Rocky Mountains

Well, in this case "commercial" just means that you "pay money" for it, right? Wink
 
 View user's profile Send private message Send e-mail Visit poster's website 
Reply with quote Back to top
bobgardner
PostPosted: Jun 30, 2005 - 05:39 PM
10k+ Postman


Joined: Sep 04, 2002
Posts: 13373
Location: Orlando Florida

I tried to do a 'value for the dollar' comparison once, but when I tried to divide by the cost, a certain compiler gave my calculator fits and told me that the answer was 'Not a Number', so I got confused.
 
 View user's profile Send private message Send e-mail Visit poster's website 
Reply with quote Back to top
lfmorrison
PostPosted: Jun 30, 2005 - 06:03 PM
Raving lunatic


Joined: Dec 08, 2004
Posts: 4493
Location: Nova Scotia, Canada

By the way, there exists a wide variety of 'true' commercial software (both free and not-so-free) that was compiled using the GNU Compiler Collection.

For example, Apple's preferred development system for the Macintosh platform, Xcode, is based on GCC.

The licenses on any of the compilers I've had the priviledge of using in the past all use terms quite similar to GCC's when it comes to the quality of the code produced:

(paraphrased)The compiler can only be as good as the source code you feed into it. We (the compiler's authors) cannot make any claims about the suitability or quality of the code you write. If you produce something and unleash it on the world without testing it thorougly first, then that's your responsibility. No matter what damages or losses are incurred because of a defective program that was compiled using this compiler, it's nobody's fault but your own.
 
 View user's profile Send private message  
Reply with quote Back to top
groenhen
PostPosted: Jun 30, 2005 - 06:06 PM
Posting Freak


Joined: Apr 09, 2005
Posts: 1384
Location: Belgium

Thread was started with a comparison between IAR and CV...
Now, perhaps it's time to compare Imagecraft with Gcc...
I wonder what is the OP thinking about that. Hehe! Laughing
Kinda:
" - Hey, Mr. X, do you like plums?
- Oh, yeah! I like plums very much!
- Ok! Take an apple!"
[Just a joke; didn't mean to be rude.]

_________________
Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
groenhen
PostPosted: Jun 30, 2005 - 06:17 PM
Posting Freak


Joined: Apr 09, 2005
Posts: 1384
Location: Belgium

Quote:
The compiler can only be as good as the source code you feed into it.

Yes and No...
Yes: the quality of the written code counts, a lot I should say...
No: if the SAME code is tested with diff. compilers, then we shall see the results & be able to say which one is better (or... the best).

_________________
Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies.
 
 View user's profile Send private message Send e-mail  
Reply with quote Back to top
vaibhavgarg
PostPosted: Jul 01, 2005 - 05:12 AM
Newbie


Joined: May 02, 2005
Posts: 9


Pls see the code attached.

Can anyone run this code for me on CodevisionAVR and IAR and let me know the speed improvements?
(incidently, the code takes about 1 Second to run when compiled with CodevisionAVR and run on a platform using ATMEGA 64 running on a 15.360MHz processor . I dont have an IAR compiler and I am looking forward to buying one if the results indicate a significant improvement).
Also, if not too inconvienient, pls send me the hex files so that I may witness the results by myself.

Quote:

#include<stdio.h>
#include<math.h>
//#define PI 3.141592654
#include<mega64.h>

int n;
int k ;
int i;
float x[32]={1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
int yR[32];
int yI[32];
int y[32];



void main()
{
XDIV=0x00;
DDRB=0xff;
while(1)
{
PORTB=~PORTB;
n=0;

for(k=0;k<32;k++)
{
for(n=0;n<32;n++)
{
yR[k]= yR[k]+ x[n]*cos((PI*k*n)/2);
yI[k]= yI[k]+ x[n]*sin((PI*k*n)/2);
y[k]= sqrt((yI[k]*yI[k])+(yR[k]*yR[k]));
}
}

}


}
 
 View user's profile Send private message  
Reply with quote Back to top
GuntherLilly
PostPosted: Jul 01, 2005 - 06:40 AM
Hangaround


Joined: Aug 22, 2003
Posts: 100


I compiled the following code on IAR and CVAVR, I moved the vars into main() and did a decrement on PORTB.

Code:

void main(void)
{

    int n;
    int k ;
    float x[32]={1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0};
    int yR[32];
    int yI[32];
    int y[32];
   
   
   
    while(1)
    {

        --PORTB;
        n=0;

        for(k=0;k<32;k++)
        {

            for(n=0;n<32;n++)
            {
                yR[k]= yR[k]+ x[n]*cos((PI*k*n)/2);
                yI[k]= yI[k]+ x[n]*sin((PI*k*n)/2);
                y[k]= sqrt((yI[k]*yI[k])+(yR[k]*yR[k]));
            }// for(n=0;n<32;n++)

        }// for(k=0;k<32;k++)

    }// while(1)



}


Results with O-Scope on PORTB 0-
CvAVR toggle interval = 1.01 - 1.05 with speed optimization
IAREW AVR toggle interval = 1.21 - 1.24 with max speed optimization

Matt

[/code]
 
 View user's profile Send private message  
Reply with quote Back to top
Display posts from previous:     
Jump to:  
All times are GMT + 1 Hour
Post new topic   Reply to topic
View previous topic Printable version Log in to check your private messages View next topic
Powered by PNphpBB2 © 2003-2006 The PNphpBB Group
Credits