Electronic – Why are there more than one programming channels on PIC32


Previously, I was working with PIC16 and PIC18 series, and none of them provided multiple channels for programming. Now, I am designing my first PIC32 circuit, and I'm very confused with these multiple programming/debugging channels.

Why are there more than one of them? As far as I know, programming is a special event, and it is done when doing firmware update, or during development stage, or just after manufacturing process. Neither of these cases require more than one programming channels. Why do they provide 3 or 4 channels for this? I want to leave ICSP pins in my circuit for programming; can I choose either of these channels, or must I prefer a certain one?

enter image description here
enter image description here

Best Answer

This is not limited to the PIC 32. There are other PICs with multiple pairs of PGC/PGD too.

The reason is to give you a choice of what other pin functions will be unavailable during debugging or if you dedicate a pair of pins to programming. Note all the other functions of those pins.