Voting resources, early voting, and poll worker information - VOTE. ... Adafruit is open and shipping.
0

Help finding a professional compiler PIC/AVR/MCU
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Help finding a professional compiler PIC/AVR/MCU

by thedeepfriedboot on Fri Jul 16, 2010 12:15 pm

Hello everyone,

Well my boss has me making him a nice quick reference for all general Atmel, Microchip, and TI microprocessors so the engineering department can help decide what they want to support for some of the new development work. I have finished putting together all of the brochures on the PIC/AVR/MCU lines but there is one big thing that I am lacking, a list of high end compilers. Right now, I need to put together a list of compiler software to present as well including advantages, disadvantages, and price. Since we are actually making commercial products that often use insanely small amounts of power and get put into service in hard to reach areas, we need to make our code as efficient/stable as possible and therefore I need to put together a list of professional compilers that specialize in very efficient programming and debugging. Does anyone have any recommendations for me? First, price is not really a concern here since the engineering department wants to buy it and second, even just a name would help. Right now I am just starting my research by finding a list of products and from there I will go to TI/Atmel/Microchip as well as the companies and get opinions on the software and more sales material. Also, I need to find a good programmer as well. Most likely we will need to program multiple chips at a time and/or different types of chips so a recommendation on programmers could be helpful as well.

I think I am the only engineering student intern at this company right now which the engineering dept loves since they can actually give me real work instead of having me manage documents. This has made me a little busy though which is why i'm asking for help. Any help at all will be appreciated and will really help save some of my time or other tasks I have to do.

Thanks again.
Image
*To invent, you need a good imagination and a pile of junk. (Thomas Edison)
*Ethernet (n): something used to catch the etherbunny
thedeepfriedboot
 
Posts: 24
Joined: Wed Dec 02, 2009 1:02 am
Location: Tucson, AZ

Re: Help finding a professional compiler PIC/AVR/MCU

by fat16lib on Fri Jul 16, 2010 1:13 pm

Here are three links for avr. I know IAR and Rowley from the ARM world. Many companies use Atmel's AVR Studio.

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

http://www.iar.com/website1/1.0.1.0/107/1/

http://www.rowley.co.uk/avr/
fat16lib
 
Posts: 593
Joined: Wed Dec 24, 2008 1:54 pm

Re: Help finding a professional compiler PIC/AVR/MCU

by oPossum on Fri Jul 16, 2010 1:38 pm

Microchip has the best C compilers for their chips.

For the 10/12/16/18 series use the Hi-Tech C compiler. There is no MPLAB C compiler for the 10/12/16 series, and the MPLAB C compiler for 18 series is not as good as Hi-Tech C.

For the 24/30/32/33 series the GCC derived MPLAB compiler is very good. I assume the Hi-Tech C compiler is also very good. Hi-Tech has always had a very good reputation for quality C compilers for PIC chips. Microchip bought them a few years ago.

For low power applications, the "nanowatt XLP" chips in the 12/16/18/24 series are the best choice.

ICD3 is the most common programmer/debugger for development use. PM3 is the most common production programmer.


compilers

nanowatt XLP

Development programmer/debugger

Production Programmers
I am the Possum, and I approve of this message. Sent from MacBook Wheel Sorry for my bad German.
oPossum
 
Posts: 636
Joined: Fri Oct 26, 2007 12:42 am
Location: Michigan, USA

Re: Help finding a professional compiler PIC/AVR/MCU

by Entropy on Mon Jul 19, 2010 3:20 pm

fat16lib wrote:Here are three links for avr. I know IAR and Rowley from the ARM world. Many companies use Atmel's AVR Studio.

http://www.atmel.com/dyn/products/tools_card.asp?tool_id=2725

http://www.iar.com/website1/1.0.1.0/107/1/

http://www.rowley.co.uk/avr/

I'm fairly certain AVR Studio uses AVR-GCC as its actual compiler toolchain.

AVR-GCC has the advantage of being open source and an excellent/widely used compiler. About the only thing that might make it not "professional" is lack of a support contract (but there might be companies that offer support contracts?) As a point of reference, many companies do base their professional toolchains off of GCC. (For example, Wind River's vxWorks development tools are based on a GCC toolchain.)

For a company doing AVR work, the Atmel ATJTAGICE MkII is a worthwhile investment. DebugWIRE/JTAG debugging (depending on the size of the AVR being debugged) is excellent. The only complaint I have about the JTAGICE is that its ISP mode seems broken when combined with avrdude on a Linux machine. (Not a problem if using AVR Studio in Windows.)
Entropy
 
Posts: 472
Joined: Tue Jan 08, 2008 12:43 am
Location: Owego, NY USA

Re: Help finding a professional compiler PIC/AVR/MCU

by westfw on Wed Jul 21, 2010 6:14 pm

IAR supports all of PIC18, AVR, and MSP430. Plus a bunch of others. This may be useful if the company wants to remain flexible in their MPU choice, as opposed to picking a single family.

gcc supports AVR and MSP430, but not PIC at all. "Despite being open source", gcc is generally a very professional compiler suite; we use it for half-a-dozen (larger) CPU types, and have for a couple of decades now. While the "small microcontroller" versions may be less "hardened", I wouldn't hesitate to use them for professional development. There are several companies offering supported gcc as products (along with IDEs and libraries and such), which can be important for the small company that doesn't want to have their own compiler development/support team.

Note that the 8-bit PIC MCUs (PIC10, PIC12, PIC16, PIC18) sort-of pre-date the idea that hardware should make the compiler-writer's job easier, and don't have very compiler-friendly architectures. (PIC18 is better than the others, but still isn't wonderful.) That means that a good PIC compiler may be harder to find, and "quirkier" than a compiler for one of the more "modern" architectures.

westfw
 
Posts: 1711
Joined: Fri Apr 27, 2007 1:01 pm
Location: SF Bay area

Re: Help finding a professional compiler PIC/AVR/MCU

by zener on Wed Jul 21, 2010 7:02 pm

Is the Hi-Tech C compiler available from Microchip, and is it free? I am trying to decide on a new platform for various products. Mainly want something with very good tools (easy to use). Considering the three mentioned here, plus Freescale. But Freescale has capacity problems so leaning toward Microchip or Atmel. Not trying to hijack the thread, but similar questions. Heard the 18F a little better than 16F as was just said, not sure the difference.

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Re: Help finding a professional compiler PIC/AVR/MCU

by oPossum on Wed Jul 21, 2010 7:29 pm

There are free versions of most of the HiTech and MPLAB compilers. The code optimization is limited in the free versions. The C compilers are fully integrated into MPLAB and work with the various programmer/debuggers (PicKit, ICD, Real ICE, MPLAB Sim).

If you are looking for a general purpose micro, consider the 24F, 24H or 33F for 3V, and the 30F for 5V applications. They are much more capable than most of the 8 bit 10/12/16/18 series and often less expensive.


Edit: 24F is 3V, not 5V
Last edited by oPossum on Thu Jul 22, 2010 1:51 am, edited 2 times in total.
I am the Possum, and I approve of this message. Sent from MacBook Wheel Sorry for my bad German.
oPossum
 
Posts: 636
Joined: Fri Oct 26, 2007 12:42 am
Location: Michigan, USA

Re: Help finding a professional compiler PIC/AVR/MCU

by oPossum on Wed Jul 21, 2010 7:35 pm

westfw wrote:gcc supports AVR and MSP430, but not PIC at all.


GCC C and Assembler are available for PIC 24, 30, 32, and 33 series. The port was done by Microchip and they provide paid commercial support in addition to free community support. It is fully integrated with their development tools.

GPL Source code is here

Note that the 8-bit PIC MCUs (PIC10, PIC12, PIC16, PIC18) sort-of pre-date the idea that hardware should make the compiler-writer's job easier, and don't have very compiler-friendly architectures. (PIC18 is better than the others, but still isn't wonderful.) That means that a good PIC compiler may be harder to find, and "quirkier" than a compiler for one of the more "modern" architectures.


The HiTech C compiler for 8 bit PICs is excellent (not "quirky"), well known, and fully supported by Microchip.
I am the Possum, and I approve of this message. Sent from MacBook Wheel Sorry for my bad German.
oPossum
 
Posts: 636
Joined: Fri Oct 26, 2007 12:42 am
Location: Michigan, USA

Re: Help finding a professional compiler PIC/AVR/MCU

by AdHoc on Wed Jul 21, 2010 9:16 pm

One of these days I must get around to getting a FreeBSD port of the PIC24/32 compiler up and running, not so much for the end programming, but just while doing the bulk of the coding. In the mean time I just use the Microchip MPLAB gcc version.

Yes, I'd also recommend avoiding the 8-bit PIC families now. The current crop of 16/32 bit ones are far superior and often cheaper. I esp. like the peripheral pin select feature - this can make the PCB layout very neat.
AdHoc
 
Posts: 10
Joined: Wed Jul 14, 2010 8:44 am

Re: Help finding a professional compiler PIC/AVR/MCU

by zener on Thu Jul 22, 2010 2:29 pm

PIC18F27J13 is pretty impressive (and J53 with USB). Cheap and has the pin select feature, and just about every other feature you can think of.

zener
 
Posts: 4567
Joined: Sat Feb 21, 2009 2:38 am

Please be positive and constructive with your questions and comments.