In MPLAB® IDE v8, the SQTP file generated for PIC32 MCUs correctly follows Intel HEX file format. However, when the file is loaded back into the IDE, the bytes are swapped. This is a bug.
When MPLAB IPE was created (along with the next-generation IDE, MPLAB X IDE), it was decided to keep the behavior of MPLAB IDE v8 in MPLAB IPE as many customers had established workarounds for this behavior. This continued up to v2.35.
In MPLAB IPE v2.40 it was decided to fix the original bug from MPLAB IDE v8 and offer an option to not swap the bytes. So you may now select 32-bit byte order (12345678) or 16-bit byte order (56781234) for PIC32 MCUs. This behavior will continue for following versions of MPLAB IPE.
Example
An SQTP file for PIC32MX110F016B with the settings shown in Figure 1 is generated.
Figure 1: MPLAB IPE SQTP Options
When the SQTP file is loaded into MPLAB IDE v8, the resulting memory view is shown in Figure 2. When the SQTP file is loaded into MPLAB IPE v2.35 or lower, the memory view is as shown in Figure 3. When the SQTP file is loaded into MPLAB IPE v2.40 or higher, the 32-bit byte order the memory view is shown in Figure 4.
Figure 2: MPLAB IDE v8 Memory View
Figure 3: MPLAB IPE v2.35 or Before Memory View
Figure 4: MPLAB IPE v2.40 or Later Memory View
Note to New Users
Do not use the SQTP feature for PIC32 devices in MPLAB IDE v8.
Note to Existing MPLAB IDE Users
Please use MPLAB IPE to generate your SQTP file. You will be able to select the byte order for your file on Generate.
Figure 5: Byte Order Selection