PIC32 versus ARM Cortex-M3

Thread Starter

Sal Ammoniac

Joined Jun 30, 2010
16
I'm about the embark on a new embedded project and need to choose a 32-bit microcontroller. Heading my shortlist is the PIC32 and the ARM Cortex-M3.

My choice will come down to criteria such as development systems, hardware options, etc. One thing that I'm well aware of, and don't want to consider as part of my decision, is the fact that the PIC32 is only available from Microchip, whereas the Cortex-M3 has multiple vendors (NXP, STM, Freescale, TI, etc.) I want to base my decision on usability, not commercial concerns (this is a hobby project).

My first concern is development environment. Again, there are many more development environments available for ARM, but most of them can be quite costly, which is a serious consideration for a hobby project. The Microchip MPLAB X IDE is free, as is the C compiler (though without optimizations). Many of the ARM IDEs seem to be built on Eclipse, which I've always found to be as slow as molasses in January when I used it for Java development. Is MPLAB X, which is based on Netbeans, any better in this regard? How about its debugging capabilities?

Hardware design is another criteria. Some 32-bit embedded MCUs have peculiar requirements that I'd rather not deal with. I haven't looked at all of the available Cortex-M3 parts yet, but most of them seem to have few onerous hardware design issues. How about PIC32? Anything in particular that makes these chips easy or hard to design into a board?

Documentation is also a consideration. I've read through the datasheets and user's guides for some of the Cortex-M3 parts and the PIC32, and they vary greatly in organization and quality. Some have needed information scattered to the winds, forcing you to consult half a dozen different documents to find the information you need. Others are well-organized, but are incomplete in other annoying ways. Any recommendations here?

Development boards seem to vary all over the map. Most of the Cortex-M3 boards that I've looked at are either very expensive (Keil, for example), with limited features, or limited in feature set and expandability. Digilent and MikroElectronika both offer PIC32 boards that have lots of options and expandability and are relatively inexpensive (Cerebot MX7cK is $99 and MikroElectronika EasyPIC Fusion v7 is $179).
 

MrChips

Joined Oct 2, 2009
30,806
I have been using STM32F407 and IAR EWARM for the past two years and have been blown away by both the capabilities of this chip and the ease of use of the IDE.

I started with the STM32F4Discovery which is very inexpensive.
 

cravenhaven

Joined Nov 17, 2011
34
I think MiKroe still have a 15% off at the moment, but you need to add the cost of their compiler at an additional $249 (-15%). Mikroe boards also come with the onboard debugger which seems to be quite good.
The reason I went with PIC32 instead of ARM is that microchip make the mx1/2 series in more hobbiest friendly 28 pin dip/soic versions.
 

Thread Starter

Sal Ammoniac

Joined Jun 30, 2010
16
I think MiKroe still have a 15% off at the moment, but you need to add the cost of their compiler at an additional $249 (-15%). Mikroe boards also come with the onboard debugger which seems to be quite good.
Since the Mikroe PIC32 boards have an ICD connector, I was under the assumption that one could use them with Microchip's ICD3, MPLAB X, and C compiler. Is this assumption incorrect?
 

Thread Starter

Sal Ammoniac

Joined Jun 30, 2010
16
I think you are correct however there seems to be some issues with doing so. http://www.mikroe.com/forum/viewtopic.php?f=88&t=55470

You dont have access to the hardware debugger though.
That link seems to apply using a Microchip debugging tool, such as the PICKit3 or ICD3, to program the PIC32 with a hex file generated by MikroC. I want to use an ICD3 and MPLAB X to develop code for the Mikroe development system without using MikroC at all.
 

cravenhaven

Joined Nov 17, 2011
34
That link seems to apply using a Microchip debugging tool, such as the PICKit3 or ICD3, to program the PIC32 with a hex file generated by MikroC. I want to use an ICD3 and MPLAB X to develop code for the Mikroe development system without using MikroC at all.
Ah yes!, you are correct.
There are a few other posts about using the pickit3 with Mikroe dev boards on the Mikroe forum.
 
Top