Loading...
Pages: 1 [2]   Go Down
Author Topic: Advantages of Arduino Uno over PIC18F4550  (Read 795 times)
0 Members and 1 Guest are viewing this topic.
the land of sun+snow
Offline Offline
Edison Member
*
Karma: 81
Posts: 2131
View Profile
WWW
 Bigger Bigger  Smaller Smaller  Reset Reset

Quote
I believe the Microchip C compilers are also based upon GCC,

This is interesting. Do you have any links ? Thanks.
This page says "GNU-based, open source code (except PIC18)".

http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=1406&dDocName=en536656
Logged

Kitchen-Sink Arduino-compatible boards

Brisbane, Australia
Offline Offline
God Member
*****
Karma: 17
Posts: 812
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

And you get this friendly community as a resource to help you out.
I don't think you can overstate how useful that is, especially for those wading into hobby electronics with microcontrollers for the first time.  The scale of the community, and the associated mass of tutorials & libraries & instructables & online/printed support documentation has been crucial to me.  Hard to believe 13 months ago I didn't even know the name Arduino - the community leg-up is the difference.

Having said that, it's probably not the best place to get an unbiased and balanced response to the OP's question  smiley
Geoff
Logged

SF Bay Area (USA)
Offline Offline
Faraday Member
**
Karma: 78
Posts: 5454
Strongly opinionated, but not official!
View Profile
 Bigger Bigger  Smaller Smaller  Reset Reset

The PIC24, PIC30, PIC33 (all 16bit cpus) use a gcc-based compiler.
The PIC32 (32bit MIPS-core cpu) uses a gcc-based compiler. (and has an Arduino-like board and environment available in the form of the "ChipKit" products.)
Both of those can use free C compilers that produce reasonably good code.  The MIPS CPU in particular has been supported outside of the Microchip range for quite a long time; it would be difficult to get it to produce bad code.

The PIC10, PIC12, PIC16, and PIC18 8-bit CPUs use an entirely different compiler.  The free version from Microchip, for these CPUs, rather than being code-size limited like many free compiler versions, instead turns off optimization.  ALL optimization; examples of spectacularly bad code have been posted.  (I don't understand it.  Microchip has other examples of quite reasonable behavior (in particular, their IDE runs on Windows, Mac, and Linux.)  I have heard (but not confirmed) that the free USB code that microchip provides does not fit in the target CPU when compiled with the free compiler, for example.

Quote
I shouldn't think GCC itself would have many optimizations
You would be wrong.  Many things can be optimized well above the specifics of code generation for any particular CPU.  And I gather that one of the strengths of gcc is that they have implemented an abstraction of a cpu that makes it easy to add new CPUs and "instantly" get reasonable code.  (In this case it doesn't matter much, because the 8-bit PIC architecture is SO far NOT compatible with that abstraction, and (essentially) could not possible be supported by gcc at all.)
Logged

Pages: 1 [2]   Go Up
Print
 
Jump to: