Every time that the family is changed, the PM3 OS and database are automatically updated, although the programmer is already updated with the MPLAB® IPE v3.xx. (greater than 3.40). Is this a bug?
This is not a bug. Starting with MPLAB X IDE v3.40, due to the growing number of devices needing support on the PM3, the MPLAB PM3 operating system (OS) and database have been split between the 8-, 16- and 32-bit device families. Any PM3 firmware versions greater than that shipped with MPLAB IPE v3.40 are not compatible with earlier versions shipped with the MPLAB IPE. This is explained in the ReadMe file for MPLAB PM3.htm located at C:\Program Files (x86)\Microchip\MPLABX\v3.40\docs under "What's new in v3.XX" and on chapter 11 - "Saving Split Operating Systems to the PM3 SD Card".
A problem appears when selecting an environment on the PM3 file from SD card for different family devices. For example, on the SD card are two environments (.pm3 files), one for PIC24F16KA302 and the other one for PIC16F1824. If in production, first the one for the 8-bit device is chosen and then the one for the 16-bit device, the PM3 displays this error:
* Firmware Update * OS doesn't support the family selected, PM3 is verifying PM3 OS file in the SD Card for the family Please wait…
What can I do to resolve this?
Use the same ReadMe file in C:\Program Files (x86)\Microchip\MPLABX\v3.40\docs and follow the steps there to save split OS to the PM3 SD card also in chapter 11.
Note: The two steps in the ReadMe document are in a reversed order. Once the PM3 is connected to the computer and to the MPLAB X IPE, first select the PM3 environment and then to go to Settings > Save firmware into SD Card. The process can take a while and in the IPE output the following messages will appear:
"Searching for existing firmware on the SD Card…
Successfully saved MPLAB PM3 OS for 8 bit MCU onto the SD Card
Successfully saved MPLAB PM3 OS for 16 bit MCU onto the SD Card
Successfully saved MPLAB PM3 OS for 32 bit MCU onto the SD Card
Successfully saved MPLAB PM3 Database for 8 bit MCU onto the SD Card
Successfully saved MPLAB PM3 Database for 16 bit MCU onto the SD Card
Successfully saved MPLAB PM3 Database for 32 bit MCU onto the SD Card
Completed saving firmware onto SD card