Using New AVR with C

Go To Last Post
16 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using the IAR compiler. It has an include (h) file and a linker control (xcl) file for each AVR. But not the mega48 because that was introduced after this compiler version. I could not find a download, so I asked IAR. They said that I would need to pay to upgrade my compiler. They are working on a quote. Yes, I know that I can generate the files myself, but I am disappointed. :(

Can anyone tell me how the other compilers handle this? If a new chip comes out after you buy the compiler, how do they support it?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

With Codevision, if you are up to date on your support you are notified of downloads
and given a password to unzip it. WINAVR is free, but only when the authors
get the changes made. Others ???

Randy

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think everyone charges for support.

CodevisionAVR has a one year support period for half the price of the compiler, and it works nicely, you get all new versions during that period.

If you don't like paying, the AVR-gcc is an option worth considering.

Erik

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rneil wrote:
I am using the IAR compiler. It has an include (h) file and a linker control (xcl) file for each AVR. But not the mega48 because that was introduced after this compiler version. I could not find a download, so I asked IAR. They said that I would need to pay to upgrade my compiler. They are working on a quote. Yes, I know that I can generate the files myself, but I am disappointed. :(

Yeah, but this kind of stuff is more than just the header file and the link file.

Welcome to IAR. I bet that the upgrade cost will be a nice chunk of money. This is very similar to what happened to me with IAR, except then the device I was using was being discontinued, so it would have been a forced upgrade, at a high upgrade cost.

This is what led me to create WinAVR.....

BTW, if you're looking for mega48 support, the latest WinAVR release has support for it.

Eric

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

rneil wrote:
I am using the IAR compiler. It has an include (h) file and a linker control (xcl) file for each AVR. But not the mega48 because that was introduced after this compiler version. I could not find a download, so I asked IAR. They said that I would need to pay to upgrade my compiler. They are working on a quote. Yes, I know that I can generate the files myself, but I am disappointed. :(

Can anyone tell me how the other compilers handle this? If a new chip comes out after you buy the compiler, how do they support it?

Although I use CodeVision now - it's a very nice program - I let my year support expire and don't plan on upgrading. but I still scan the free yahoo email list when I get into trouble with using the program or coding questions in general. Codevision is adding some additional features like a code optimizer.....but I'm not looking that in a compiler anyway. When I eventually require a new device not on my version, I'll look more into the open platforms and hope to contribute my 2 cents to the bag. As to support? I hope others on this forum and eleswhere won't grow tired of my rantings and help me out then!

@ Eric... thanks. I didn't know you created WinAVR. I don't want to get gushy and all, but it's people like you who I really respect.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I think the rest of us are lucky that IAR charges for updates, when it resulted in WinAVR.

Its a remarkable work, and personally I am thankfull for your effort Eric, it saves us for lots of $, I don't even think a paid compiler in the long run can keep pace with the open source community.

Erik

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

EW wrote:
Welcome to IAR. I bet that the upgrade cost will be a nice chunk of money. This is very similar to what happened to me with IAR, except then the device I was using was being discontinued, so it would have been a forced upgrade, at a high upgrade cost.

This is what led me to create WinAVR.....

BTW, if you're looking for mega48 support, the latest WinAVR release has support for it.

Eric

...and we all (figurativly speaking) love you for it. Nothing like a "stick it to the man" mentality as a motivation to do it youself for free...

Also, "WINAVR is free, but only when the authors get the changes made". This makes it sound like nothing is happening. The WinAvr package is updated yearly-or-so, but the package is so good that you don't really need to upgrade, save for new device support. There's a lot going on behind the scenes, you know...

- Dean :twisted:

Make Atmel Studio better with my free extensions. Open source and feedback welcome!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Guyzz

The Team is afaik:

Eric (EW) : Maintaining and building the WinAVR environment

Colin (c_oflynn) : Helps out somewhere i think ... :-)

Jörg (dl8dtl) : Maintaining avr-libc , (most of the routines you call) ... He's mostly in the GCC forum

Marek (I think he is called) : Don't really know what he does specificly , but it might be the crtxx startup files

Another contributor is/was Teodore Roth : Who recently had to stop , due to personal reasons , i think he did the GCC integration of the AVR processors (binutils etc...)

I think there is a new man "aboard" , but cant remember his name.

A big thank's to you all , for making development with the AVR family available , for "little" money (well no money for the WinAVR environment).
And for still keeping the environment up to date , and as good as the other compilers.

As i understand it we have a bit of "turbulence" ahead with the suport of the new 256K devices , but hope/guess you guyzzz will sort it out.
Maybe you could even get Atmel to help , i do beleive the free GCC environment is a big advantage for them , as hobbyists and pro's can get started without spending "IAR" prices.

/Bingo

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

I am using imagecraft since years. No extra costs at all and all upgrades since years are free of charge.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sonos wrote:

@ Eric... thanks. I didn't know you created WinAVR.

True, it's not obvious, because I don't like to go around and shout it to the world. But the clues are there. If you read the WinAVR README/User Manual, you'll see the name "Eric Weddington" after the introductory paragraph. Later in the file, it mentions that I post on AVR Freaks. "EW" is historical, from before WinAVR was created.

ekh wrote:

I think the rest of us are lucky that IAR charges for updates, when it resulted in WinAVR. Its a remarkable work, and personally I am thankfull for your effort

Thanks for the kind words!

abcminiuser wrote:

Nothing like a "stick it to the man" mentality as a motivation to do it youself for free...

:lol:
Yes, that was one of the original motivations.

abcminiuser wrote:

The WinAvr package is updated yearly-or-so

Hopefully it's a little more frequently than that, take a look at this to get an idea as to how often it's updated:
http://sourceforge.net/project/s...

Bingo600 wrote:

Jörg (dl8dtl) : Maintaining avr-libc , (most of the routines you call) ... He's mostly in the GCC forum

Marek (I think he is called) : Don't really know what he does specificly , but it might be the crtxx startup files

Really it's more people than that. To get the best idea, look in the WinAVR User Manual / README, go to the bottom, and there is a section with a bunch of web links. Go to each individual project's page (like on SourceForge or Savannah) and there you can find out who is a member of which project. For binutils, GCC, and GDB/Insight you'll have to get the source code and look at the MAINTAINERS file. You'll find out it's quite a number of people who work on those projects.

FYI, You'll find Jörg and myself on a number of the AVR projects. Marek, is one of the original creators of avr-libc and still helps out on thorny problems. Also note, that Jörg is a big contributor to all of the open source AVR projects, and he's also the port maintainer of the toolchain for the FreeBSD operating system. (For all the non-Europeans: Jörg is Joerg Wunsch on the AVR GCC Forum.)

Bingo600 wrote:

Another contributor is/was Theodore Roth : Who recently had to stop , due to personal reasons , i think he did the GCC integration of the AVR processors (binutils etc...)

That is correct, Theodore (Ted) Roth, had to stop for personal reasons. He was a big contributor to all aspects of the open source AVR toolchain. Specifically, he was a big contributor to avr-libc, uisp, avarice, simulavr (original author), avrdude, and he wrote the AVR port for GDB. Ted was also the port maintainer for the AVR toolchain for Linux. (Which we're currently lacking a maintainer for Linux now.) I'm probably forgetting some things too. If Jörg stops by this thread, I'm sure he'll correct me if I'm wrong. ;)

Bingo600 wrote:

As i understand it we have a bit of "turbulence" ahead with the suport of the new 256K devices , but hope/guess you guyzzz will sort it out.

Hopefully. Marek had an idea recently on how to handle it, but I haven't heard from him recently about his progress.

Bingo600 wrote:

Maybe you could even get Atmel to help , i do beleive the free GCC environment is a big advantage for them

Atmel has already helped out a lot by putting together the ELF/DWARF parser for AVR Studio. This parser is specific to the GCC toolchain. They have helped by providing protocol specifications early to the open source community (even though nothing has come of it yet). They are helping in a couple of other ways that I cannot talk about yet. Still, I also wish there was an even greater level of working together. Perhaps in time....

But we can always use more volunteer help from anybody. Drop a line on the AVR GCC Forum or on the avr-gcc-list mailing list.

Eric

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

For the record, are there 2 dev teams; one for each open source compiler? Or, is there parallel development.

WinAVR >> Windows version
GNU avr-gcc >> Linux version

If there are two dev teams...I hate to ask this....but....
which one is better?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Sonos wrote:
For the record, are there 2 dev teams; one for each open source compiler? Or, is there parallel development.

WinAVR >> Windows version
GNU avr-gcc >> Linux version

If there are two dev teams...I hate to ask this....but....
which one is better?

No, there are not two dev teams.

Take a look around at the GCC web site:
http://gcc.gnu.org/

The GCC compiler is incredibly flexible. GCC can be build for multiple different hosts. A host is the platform that GCC runs on.

GCC can be built for multiple different targets. A target is the platform that GCC generates code for.

So, for example, you can have GCC that runs on a Windows host, and generates code for the AVR target. You can have GCC that runs on a Linux host, and generates code for the AVR target. You can have GCC that runs on a FreeBSD host and generates code for the AVR target, etc. In GCC, there are different people that have expertise in different areas. It's the same group of people who work on the AVR target backend, the part of GCC that generates code for the AVR, no matter what the host is.

A "toolset" is everything that is needed to develop software for a particular target. This includes the compiler (GCC), a C library (in our case avr-libc), and another package called GNU Binutils, which contains the assembler, linker, librarian, and other utilities. Sometimes the GNU Debugger (GDB) is also referenced when talking about a "toolset"

Then there are people who take care of generating "binary toolset distributions", if you will. The "binary" part means that the toolset has been precompiled for the desired host and target and what is distributed is the executables, the "binaries", not just the source code. These distributions come in all different varieties, just like the varieties of hosts and targets available. And not all supported platforms have binary distributions. If there is one, then it's just a nicety.

In the AVR world, Joerg Wunsch, among other things, maintains the binary distribution of the AVR toolset for the FreeBSD host platform. I maintain a binary distribution of the AVR toolset for the Windows host platform. Ted Roth used to be the maintainer for the AVR toolset for the Linux platform, but since he is no longer active, there hasn't been a volunteer willing to dedicate time to do this. The AVR toolset is also known to build and run on Mac OS X and, believe it or not, Solaris. Currently there aren't many people who use the AVR toolset on Mac OS X and there isn't a dedicated maintainer for the platform, though there is a known "expert" who builds and runs the AVR toolset on Mac OS X, Brian Dean (who is the original author of avrdude). AFAIK, there has only been one confirmed user on Solaris.

If there's any more questions about all this, we should probably take them over to the AVR GCC Forum, rather than continue to hijack this thread. :)

Eric

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Quote:
I don't even think a paid compiler in the long run can keep pace with the open source community.

Well seeing the big bucks you have to pay for IAR i would expect somebody to be one it 24/7 ;-)

By the way while we are talking compilers again. Can you people tell me how each compiler handles memory locations FLASH, EEPROM and RAM? Codevision make you create seperate function arguments and structs for each type . In some cases this is quite a nuisance. I would like to have a compiler which recognizes the type and does the conversion automatically. After all if I would want to do everything myself I would program in Assembler wouldn't I ;-)
Does such a compiler exist?

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

You should be able to get away with writing your own linker and header files for the Mega48. We still use the V1.5 compiler and have added devices to it ourselves. But I will confess to starting to use the GCC compiler for new projects.

A point has been highlighted in this thread about Atmel should support the GCC compiler. I feel that all manufactures should be in a position to supply compilers for their silicon for free. At the end of the day if you cannot use there products you do not buy them, but as an industry the chip makers seem happy to leave a large wall between changing over from a rivals device to theirs.

Keep it simple it will not bite as hard

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

BTW, the IAR upgrage in this case is $495, but it requires a new dongle $79. Shipping and handling is $25.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

sutton wrote:
snip...I feel that all manufactures should be in a position to supply compilers for their silicon for free. At the end of the day if you cannot use there products you do not buy them, but as an industry the chip makers seem happy to leave a large wall between changing over from a rivals device to theirs.

I do not percieve this large wall as a choice, but one of an inability to meet the challenge. It is a silent recognition by the company that they are incapable of the task, but cannot achive it. This falls in the realm of customer service, and IMO is the last on the list of priorities for most companies. Companies may talk about how good they are at it, but in reality they simply don't know how to provide it and cannot admit ineptitude.

....but they make really fast uCs.... and the buck stops there.