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

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

IPE_SQTPOptions.png

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

IDEMemoryView.png

Figure 3: MPLAB IPE v2.35 or Before Memory View

IPEOld_MemoryView.png

Figure 4: MPLAB IPE v2.40 or Later Memory View

IPENew_MemoryView.png

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

PIC32_ByteOrder.png
© 2024 Microchip Technology, Inc.
Notice: ARM and Cortex are the registered trademarks of ARM Limited in the EU and other countries.
Information contained on this site regarding device applications and the like is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION, INCLUDING BUT NOT LIMITED TO ITS CONDITION, QUALITY, PERFORMANCE, MERCHANTABILITY OR FITNESS FOR PURPOSE. Microchip disclaims all liability arising from this information and its use. Use of Microchip devices in life support and/or safety applications is entirely at the buyer's risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights.