aa. Is a RAM based USB PIC programmer possible?

QUESTION:

A boot loader has a limited functionality and it occupies a part of PIC EEPROM (flash RAM). Is it possible to build a special kind of PIC EEPROM programming support that may be loaded to PIC RAM by an USB HID function?

ANSWER:

Yes and no. It is certainly possible to do with a PIC32 microcontroller, but not with a PIC18, which has Harvard architecture and uses EEPROM for program memory and nonvolatile data memory. Only variables and dynamics data arrays are stored in RAM.

PIC32 has a completely different design. Its classical architecture allows for executing program code from either EEPROM or RAM. Execution of program code from RAM is actually the only method for programming this microcontroller via JTAG or ICSP interface.

So, why one would not use this functionality as an advantage? A new version of PIC32MX250F128B firmware that will enable reprogramming of the complete PIC32MX250F128B EEPROM via USB interface without the need to use any kind of programmer will be available soon from PC USB Projects website. See the programming guide for details.