Alistair George 0 Report post Posted December 19, 2009 Hi I wish to debug PIC12F683/PIC10F206/PIC16f684, which require a header part ICD Header, AC162059 etc which is quite expensive. Does anyone have any information for clone or alternatives which enable debugging the various chips that need header connectors? Thanks vm, Al. Quote Share this post Link to post Share on other sites
IanM 0 Report post Posted December 19, 2009 (edited) The PICs you listed each require a separate ICD header PIC HEADER ICD bondout PIC --------- -------- --------------- PIC12F683 AC162058 PIC12F683-ICD PIC10F206 AC162059 PIC16F505-ICD PIC16F684 AC162055 PIC16F684-ICD The problem is the critical debug bondout chips are only available from Microchip and they only sell them with a header. That gets real expensive real fast and unless you are developing commercially, is hard to justify. The -ICD PICs are no more robust than an ordinary PIC so you had better be ***ing careful to avoid blowing one. There is a workaround for parts with the 14 bit core. If you read TB020 then TB033 you will see that it was possible to develop for PIC12C671/672 (OTP 8 pin 14 bit core) using a PIC16C72 emulator which itself may be emulated by a PIC16F873 for which a PIC16F873A is a drop in replacement and is easily available and supported for PICkit 2 debugging. A similar approach will let you develop on a PIC16 with built in ICD for the PIC12F683. The key is to choose a PIC with build in ICD that is a good match to the peripherals and register map of the target device then work around the differences by jumpering ADC pins and some conditional code. You *may* need to use some conditional defines to remap registers and bit names. It could be easier to 'hack' a copy of PIC12F683.h then include *that* instead of system.h e.g. #include "emulate12F683.h" #include <boostc.h> For the PIC10F206 target you are S.O.L. as there is *NO* 12 bit core support in the current SourceBoost package nor any plans announced for future support. As it isn't code compatible with the 14 bit core developing on a PIC16 for it is not really a useful option, though you could work in assembler sticking religiously to the 12 bit instruction set then port the debugged result. For the PIC16F684, the same cross development approach described above is usable. Personally I usually avoid the low pin count parts. If you stick to 18/28/40 pin pics there is always a reasonably code compatible part that will drop into the same socket and support ICD. Unless you are going to volume production the extra cost is negligible compared to the time saved. A SSOP PIC16F88 is still hand solderable but is pretty small . . . The extra pins allow you to dedicate the ICSP/ICD pins and have hassle free development. At 20 units, I *might* consider using a cheaper non-ICD capable part with the same footprint. At 200 units its probably time to look at low pin count parts again Edited December 19, 2009 by IanM Quote Share this post Link to post Share on other sites
Alistair George 0 Report post Posted December 19, 2009 (edited) Hi Ian. Its a requirement for the lower pin count because there will be several thousand devices used. It looks like the only method thats practical at the moment is to take part of your suggestion of using an alternate part, and workaround by defining the different parameters. Using a self built debug board which plugs into a development board using DIP socket. Thanks for confirming there are no alternatives. Cheers, Al. Edited December 19, 2009 by Alistair George Quote Share this post Link to post Share on other sites
IanM 0 Report post Posted December 19, 2009 (edited) With that sort of quantity to be built, after getting the rough 'proof of concept' debugging done on a suitable PIC16, probably on a development board for convenience, I'd invest in the proper header. No point in fighting the quirks of the cross development approach once you have managed to get the holy smoke to stay *IN* the PIC. One header amortised over 1000 units is less than 2p each so is worth it for a commercial user even if it just doesn't make sense for the hobbyist. Headers for all the parts you mentioned + the Pickit 2 RJ12 adaptor (though you can make that up as a 6 pin header to RJ45 RJ12 plug cable easily enough) won't come to the price of a decent dinner for two and will save you many late nights . . . . Edited December 20, 2009 by IanM Quote Share this post Link to post Share on other sites
Alistair George 0 Report post Posted December 20, 2009 Headers for all the parts you mentioned + the Pickit 2 RJ12 adaptor (though you can make that up as a 6 pin header to RJ45 plug cable easily enough) won't come to the price of a decent dinner for two and will save you many late nights . . . . Yes, I guess your are right; its just the Scots ancestry in me and a penchant for DIY :-( Quote Share this post Link to post Share on other sites
IanM 0 Report post Posted December 20, 2009 Headers for all the parts you mentioned + the Pickit 2 RJ12 adaptor (though you can make that up as a 6 pin header to RJ12 plug cable easily enough) won't come to the price of a decent dinner for two and will save you many late nights . . . . Yes, I guess your are right; its just the Scots ancestry in me and a penchant for DIY :-( I was less than pleased myself when I discovered that the -ICD pics were'nt advertised anywhere. Note, its RJ12 above, not RJ45. Definitely the 6 pin connector . . . I reckon one can do a neater job of the lead than the official offering. Its a adaptor board with a 6 pin 0.1" header on one end and a RJ12 socket on the other that you then use an ICD2 style RJ12 to RJ12 lead with. If one cant do a nice strain-relived job of splicing a 0.1" header plug onto a cable, one shouldn't be in this game and that avoids the need for the little board. Keep it SHORTER than the official cable - there is a known cross talk problem for which the official cure is strip the sleeve and spread the wires out some. Quote Share this post Link to post Share on other sites