ICD in use with our Development Board
Comparison with In Circuit Debuggers using the In-Built Debugger
The FED ICD differs from systems using the built in debugger as it uses a different approach. This means that in some ways it is more capable than systems using the in-built debugger (such as MPLAB), at the expense of a little more memory use. Here are the key differences:
- FED Debugger supports all PIC16F87X / PIC18Fxxx series in the user application circuit and can work with SMT devices.
- FED - Up to 3 breakpoints (14 with 18Fxxx) + single step and step over. In Built - only one Breakpoint
- FED - Uses only one MCU port pin which can be selected by the user to be any spare pin on ports B, C or D. Built In Debuggers can only use port B, bits 6 and 7 which are not available for use by the application.
- Both systems use one level of stack
- Both systems use one byte of common RAM at address 0x70 hex (18Fxx does not use Access RAM)
- FED uses between 256 and 352 words of program memory dependant on the device (smaller devices need less program memory for the debugger), In Built Debuggers uses 256 words for all devices
- FED uses 14 bytes (16 for 18Fxxx) of RAM which may be chosen by the user to be located anywhere in RAM, In Built uses only 3 bytes which are fixed at address 0x1ED
- FED allows the user to choose the baud rate of operation of the serial port on the ICD. With high clock rates (20MHz), the baud rate may be chosen as 57600 bps which results in very rapid response times from the ICD.
How is It Used ?
To use the ICD an application is developed on one of the FED development programs - C Compilers or WIZ-ASM.
When the program is assembled or compiled there is an option available to specify the use of the ICD, the baud rate to use, and the port pin to be used for the ICD data connection. The application may be debugged in the software simulator as normal. The use of the ICD options cause the application to be assembled or compiled with a small monitor program which runs automatically on reset. The monitor enables all the functions of the ICD to be used in association with the external board. If the monitor detects that no ICD is connected then it can automatically run the application on power up.
A PIC16Fxxx or 18Fxxx chip is then programmed with the application using an external programmer or the PIC Key in circuit programmer (for the FED development board the built in programmer on the board can be used). The chip is inserted in circuit and the ICD connected to the application circuit with test clips, and to the PC on its serial interface (there are only 4 connections to the ICD). When using the PIC Key, the device is simply plugged into the on board connector which should be included on the application board. From this point onwards there is no need to use an external programmer - changes to the program, and even totally new applications can be programmed by the ICD.
Within any of the development systems there is a "connect to ICD" button on the debugging window. When this is pressed the development system will attempt to find the ICD and the attached PICmicro® MCU running a monitor program. It will synchronise the ROM on the application to the project in use. Once this is successfully achieved the normal simulation functions will now operate on the real hardware. Breakpoints will be set in the target MCU, single step and step over will execute one or more instructions on the MCU
Back to ICD Page
|