Search |
 |
|
 |
| Author |
Message |
|
|
Posted: Jun 30, 2005 - 09:59 AM |
|

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
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 10:11 AM |
|


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!
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 10:38 AM |
|

Joined: May 02, 2005
Posts: 9
|
|
| IAR is definately suggested by ATMEL but there is a HUGE price difference |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 11:02 AM |
|


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 - 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.
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 11:43 AM |
|

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. |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 12:02 PM |
|


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! 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.
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 01:48 PM |
|

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. |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 02:35 PM |
|


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.
Matt |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 02:39 PM |
|


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...
Matt |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 03:20 PM |
|


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 |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 04:36 PM |
|


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. |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 04:51 PM |
|


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?  |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 05:16 PM |
|


Joined: Sep 04, 2002
Posts: 13373
Location: Orlando Florida
|
|
| I thought the choice was among the commercial compilers. Sorry! |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 05:33 PM |
|


Joined: Mar 01, 2001
Posts: 4204
Location: Rocky Mountains
|
|
Well, in this case "commercial" just means that you "pay money" for it, right?  |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 05:39 PM |
|


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. |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 06:03 PM |
|

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. |
|
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 06:06 PM |
|


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!
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.
|
| |
|
|
|
|
|
Posted: Jun 30, 2005 - 06:17 PM |
|


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.
|
| |
|
|
|
|
|
Posted: Jul 01, 2005 - 05:12 AM |
|

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]));
}
}
}
}
|
|
|
| |
|
|
|
|
|
Posted: Jul 01, 2005 - 06:40 AM |
|


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] |
|
|
| |
|
|
|
|
|
|
|
|