Hammer wrote:If you know of learning resources for this, feel free to share them where everyone can make use of them, if they wish.
Right, you asked for it. I did warn you!
No free compilers, at least no good ones that support a range of chips, and aren't limited demo versions. There is a GNU toolchain for the Atmel microcontrollers, you might want to consider those. The Evil Mad Scientist
has a lot of posts in his blog about them.This
is a list of free (as in speech) PIC software. There is a forth compiler for the 18 series! A lot of the stuff here is unmaintained, of beta/alpha quality, or only supports a few (or one!) chip. Worth checking out, at least. Example: that forth compiler is the neatest looking thing, but its web page characterizes it as "pre-pre-alpha", and it hasn't been updated since 2005.
This is a list of the main compilers, followed by a link to their user fora.
CCS is the one I know. It used to be very buggy, and only recently started supporting modern C concepts, but seems to have all that fixed. It makes a lot of the low-level chip support easy, moreso than the others. Inexpensive (relative to the rest), and there's a version for linux.http://www.ccsinfo.com/content.php?page=compilershttp://www.ccsinfo.com/forum/
Linux and OS/X versions available.http://www.htsoft.com/products/compilers/http://www.htsoft.com/forum
This one has always seemed the most polished/professional, but probably isn't useful unless you are a polished professional!http://www.iar.com/p972/p972_eng.php
Couldn't find a specific forum.
This is the compiler from Microchip. I have heard that it can be occasionally quirky as well.Butt-ugly URL
. A pox on Microchip and their slow application server with opaque URLs!
No obvious fora here, either.
I might have lied about no good free compilers. Last time I went poking around, these guys didn't seem to be "for real", but they seem to have made some progress.http://www.sourceboost.com/http://forum.sourceboost.com/
I just came across a new one I hadn't encountered before. From the website, it appears fairly complete. The price compares to CCS, as well.http://www.mikroe.com/en/compilers/mikroc/pic/http://www.mikroe.com/forum/
I stumbled across this
while hunting down the compilers. They looks like good places to start, although the first is specific to CCS.
There is also a BASIC compiler, but I don't know much about it.http://www.picbasic.org/
For assembler, the main thing is to study the chip's datasheet and get used to the architecture. You need to know this stuff, much moreso than you would with a C compiler on a desktop. I haven't actually dove into actual assembly programming (yet), although back in my DOS days, I kept my mind from rotting by playing around in assembler. The site that keeps coming up over and over for good PIC assembler info is here
. There is some CCS code also.
Oh, and if you work with a serial/usb/ethernet port (any means of communicating from desktop to PIC), one thing you will probably want to do is start using a bootloader
. This bootloader uses the serial port USART, but the principle applies to any communications channel.
As always, google is your friend. There are tons of PIC sites out there. For extra kicks, search the noozgroups too, if you have trouble finding a web site that addresses your problem.