j. Does programming of 32-bit PIC32 microcontrollers differ from programming of 8-bit PIC18 and earlier microcontrollers?

It is true that all PIC microcontrollers support ICSP (In-Circuit Serial Programming), but PIC32 are different. PIC32 ICSP and JTAG programming protocols are both based on JTAG (Joint Test Action Group) and EJTAG (Enhanced JTAG) 4-wire programming specification. JTAG uses 4 signals:

Test Data In…….(TDI)

Test Data Out…..(TDO)

Test Clock……….(TCK)

Test Mode State..(TMS)

…instead of only two: PGC (program clock) and PGD (program data). PIC24 and PIC32 microcontrollers also support 2-wire ICSP programming, but it is a king of JTAG programming, where TDI, TMS and TDO signals are multiplexed on a PGEDx pin and PGECx pin is used as TCK. This implies that 4-wire JTAG programming is about 3-times faster than two-wire ICSP kind of JTAG programming. 4-wire JTAG programming also has another advantage. Input (TDI) and output (TDO) data signals use different wires, therefore there is no need for switching direction of the data line from input to output or vice versa. This saves a lot of programming time and prevents mishaps; when two interconnected output pins are simultaneously programmed as outputs and each have a different output value.