Modification and Expansion
The firmware is written for Microchip’s free XC8 8-bit C compiler and was developed as a project under their the MPLABX IDE.
The system does not have bootloader, so code must be programmed into the microcontroller with a programmer. A great and low-cost programmer and debugger is the Microchip PICKIT 3.
There are two options for development:
- Program new code and / or limited in-circuit debugging
- Full debugging setup.
Option 1 – Programmer and / or limited debugging
For this option the J3 programming header needs to be soldered into the board. This is not included in the standard kit, but is just a standard 6 pin 0.1in pitch header. To program or debug, the PICKIT is plugged into J3 and MPLABX is used to control operation. There are no problems programming the device with this arrangement, but for in-circuit debugging, there are a few limitations. As the microcontroller is a small 8-pin device with limited I/O, the LED pins have to be used for debugger communication and are therefore not available for normal circuit use. For full debugging you need to use the second option below.
Option 2 – Full Debugger Setup
To get around the problem of not having all the I/O pins available, Microchip produce a debugging breakout header, the AC244043 processor extension Pak that can be plugged in place of the normal chip. These boards generally use a special larger, but compatible debugger chip and thus free-up all of the I/O pins for their normal use. To use one of these headers to debug, the PIC12LF1822 on the Target board should be replaced with an 8-way DIL socket so that either the debug header or the PIC can be plugged into it.
Note: when using the debug header you need to select it in the MPLABX project
The Target board has two expansion headers: J1 and J2.
J1 is a parallel connection to the switch and thus allows either a remote physical switch to be used or an electronic switch to be used to trigger target operation.
J2 brings out the Red and Green LED outputs to the outside world. These can then be used to signal to another piece of equipment that the target has been hit.