Hi all,
I've been busy building a board with a dsPIC33F on it, foolishly assuming that it would be easy to program (i've never used PICs before).
I'm glad to say that after much pain and grief I have managed to get code on to it, and written a programmer in the process.
For some reason I opted to hook it up to my parallel port rather than buy a proper programmer, although I was unable to find any open source programmers for the dsPIC33F, only the 30F, and they wouldn't work. After a huge amount of hacking about in python, finding the plentiful errors in Microchip's datasheets, reading the Amadeus
Random discoveries if anybody is interested:
- You have to pull /MCLR high to make things go (touching the pin is enough!). I'm not sure why it isn't mentioned in any of the datasheets.
- The chips come with the JTAGEN fuse in the (nearly undocumented) FICD config word programmed, which causes JTAG to steal the I/O pins, and stops you flashing LEDs with them.
- For some reason, the chip *really* wants code to start at 0x200, with a jump to it from 0x0. The same code in 0x0 doesn't seem to work (causes it to reset itself!).
I hope this is of use to someone!
Jonny Barker