Developing/compiling software

Sep 16, 2009 135 Replies

HI All



I've looked at Keil uVIsion (Trial Version) as well as Asem51v1.3 (old stuff).



Any suggestions of the compiler software you're using to write/compile your code and create hex files to upload to the ATMEL microcontrollers. I would rather review a few other options, than to invest in the Keil software, only to discover afterwards that there are maybe better tools for the job



(Apologies for my tenses/grammar - English is my second language)



Kind Regards



your

I am using ImageCraft for the AVR. Cheap and good. Excellent support.

Meindert

Atmel make a lot of different microcontrollers - are you talking about their 8051 devices, or something else? And have you looked at other architectures? There a couple of dozen other cpu architectures that are better suited to C development than the 8051, and have better ranges of tools.

Second vote here for Imagecraft. Been using it professionally for several years.

Rich Webb Norfolk, VA

Do ImageCraft make 8051 tools?

Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by TÜV as meeting the requirements for safety related systems

D'oh!

for (i = 0; i < 100; ++i) { printf("Atmel is not one-to-one with AVRs!\n"); }

Rich Webb Norfolk, VA

I prefer gcc. It's the compiler I use for 8 other processors, and I find it helps productivity to use the same set of tools on multiple projects even when the processor differs.

Grant Edwards grante Yow! I am a jelly donut. at I am a jelly donut. visi.com

The Keil tools are an excellent choice for 8051 development. In particular their simulator is really good. Allows device specific settings, so you can simulate the I/O on your chip. You can also have it use your PC serial port as the serial connection to the simulation.

Scott Validated Software Lafayette, CO __________ Information from ESET NOD32 Antivirus, version of virus signature database 4430 (20090916) __________ The message was checked by ESET NOD32 Antivirus. http://www.eset.com

Is there a GCC for the 8051? SDCC yes, GCC, as far as I know, no.

Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by TÜV as meeting the requirements for safety related systems

Oops. I didn't realize the OP meant 8051. I assumed he meant AVR, AVR32, or ARM. To answer you question, there isn't an

8051 backend for gcc.
Grant Edwards grante Yow! I'm shaving!! at I'M SHAVING!! visi.com

There is, however, SDCC, which does have an 8051 back-end.

With a bit of luck, the OP is at an early enough stage that he can pick something other than the 8051 before it is too late...

Let's hope he will not pick a PIC. :)

Ciao Jack

I used to think that, but experience over several projects where the choice was made elsewhere convinced me they can be very usefull. There are probably hundreds of variants, later spinoffs are very fast and there are some very good tools around. They are cheap and fast enough to use as logic replacement, rather than gate arrays, where no two manufacturers products and tools look the same or are compatable.

If you want to see a really stripped down micro, have a look at the Fairchild ace series.

It's just about choosing the right micro to fit the task at hand...

Chris

It certainly is always about choosing the best device for the job. It's just that many people /don't/ choose the best device for the job - they pick an 8051 or PIC because that's the microcontroller they've heard of, or because they used one ten years ago. Sometimes an 8051 or a PIC /is/ the right device to pick, but when someone posts with no more than vague ideas about some tools, the chances are they are at an early stage in the process. Now is the right time for the OP to think about what they really need, and what device family is best suited to the job - before investing time, effort and money in tools, hardware or development.

...and it's more than just the cpu. There are a lot of other factors:- available tools and cost, ditto evaluation boards. How easy it is to get started without inordinate expense so that you can change your mind later without breaking the bank. Continuity of supply as well, so you don't get left high and dry because the mfr decides to end of life the device, or doubles the price.

For small apps, I tend to use silabs 8051 series am working to standardise on arm for the stuff that needs more performance. Both of these have loads of vendors of devices and tools. Of course there are compromises - 68k arch used to be the favourite for the high end, but arm are so cheap and far more powerfull, even though the interrupt handling is a mess. Can't ignore the logic :-)...

Regards,

Chris

These things are all important as well - it's up to the OP to balance them. At the moment, all we know is that he does not know what tools to use - thus we can only recommend based on the cpu core and tools. If he comes back to us with more information or more questions, we can offer more help in this line.

The original 68k architecture is pretty much dead, but ColdFire (basically a re-implementation of the same basic ISA) is a popular choice for many uses.

I agree about the ARM having lots of tools, but I thought the choice of practical tools for 8051 was fairly limited - either SDCC (for those who value the benefits of free and open source tools, or for those on a low budget) or Keil (for those with plenty of money looking for top quality commercial tools). Are there other alternatives?

IAR, Resonance, Tasking, to name but 3.

Regards, Richard. + http://www.FreeRTOS.org Designed for Microcontrollers. More than 7000 downloads per month. + http://www.SafeRTOS.com Certified by TÜV as meeting the requirements for safety related systems

Is there something wrong with using an 8052 based CPU for a low end project. Keil Tools are fine, but are pricey. But if the project is small some

8052 chip makers offer a 4K Free copy of the Keil Tools for their chips.

Thanks. Keil and SDCC are the only ones I regularly read about in this group. For example in this thread, the OP asked for tools for the 8051, and until now no one has mentioned anything other than Keil and SDCC. Are they so dominant that few people use other tools for the 8051? And if so, is it for technical reasons, economic reasons, or something else? I don't use the 8051 myself, but I'm always interested in chips and tools.

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required