Differences in SQTP File Behavior Between MPLAB® IPE v2.35 (and Before) and MPLAB IPE v2.40 (and Later)

Last modified by Microchip on 2023/11/09 09:10

In MPLAB® Integrated Development Environment (IDE) v8, the Serialized Quick Turn Programming (SQTP℠) file generated for PIC32 microcontrollers (MCUs) correctly follows the Intel® HEX file format. However, when the file is loaded back into the IDE, the bytes are swapped. This is a bug.

When MPLAB® Integrated Programming Environment (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 the following versions of MPLAB IPE.

Example

An SQTP file for PIC32MX110F016B with the settings shown in the accompanying figure is generated.

IPE SQTP Options

When the SQTP file is loaded into MPLAB IDE v8, the resulting Memory View is shown in the first accompanying image. When the SQTP file is loaded into MPLAB IPE v2.35 or lower, the memory view is as shown in the second accompanying image. When the SQTP file is loaded into MPLAB IPE v2.40 or higher, the 32-bit byte order of the Memory View is shown in the third accompanying image.

IPE Memory View

IPE Old Memory View

IPE New 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, as shown in the accompanying figure.

PIC32 Byte Order