PIC18 > PP18

PP18 : Programmer for PIC18


> Application

The PP18 software is a GUI tool necessary to drive a programmer like SCHAER+ programmer, but also any programmer managing the following signals through the parallel port :

The bits dedicated to these signals as well as their respective polarity (meaning activating a signal on high level or low level) is something tunable in the code. It is so possible to run the software with any programmer using these 5 signals.

Warning : the PP18 software is only working with Microchip PIC18 family. These chips use indeed a specific protocol to transfert data to the internal memory (TBLRD and TBLWR are used to do so). For more details visit the Microchip web site.


> Application

The code, distributed under GPL license, is running with these 2 OS :


> PIC18 programming

The PIC18 programmation management is specific to the entier family. The protocol is fully detail in the document : "PIC18Cxxx - In-Circuit Serial Programming for PIC18CXXX OTP MCUs", downloadable from Microchip web site. Reading the documentation related to the PIC18Fxxx, it seams to be possible to program them by the same way. But the transfert processing is different due to the FLASH techno used for memory....

The ICSP mode gives us the way to program the composants with a serial protocol (opposed to parallel protocol like in UVPROM programming), the necessary hardware being included inside the chip itself. So we can consider a PIC programmer is partially included in the chip to program (we do it by the same way in most of the modern microcontrollers).

Programing a PIC in ICSP mode is done with the following pins :

What is specific in a PIC18 is its capability to interpret commands in order to activate reading or writing cycles to memory through TBLWT(write in memory) and TBLRD(read from memory) instructions.

Then rather than transmit all the commands necessary to program the chip, you just need transmitting the orders to the processor.

If you wish realize your own PIC18 programmer driver, have a look at the related documentation (cf at the top of the page). But my advise is to take into account the following recommendations :

Finally I recommende to have a look at the driver code for instance, and tell you GOOD LUCK for the debugging phase !!


Finally I recommende to have a look at the driver code for instance, and tell you GOOD LUCK for the debugging phase !!