Differences in the SQTP(SM) Feature Between MPLAB® IDE v8.xx and MPLAB® IPE for the Flash Data Memory Region

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

Table 1 shows examples of Serialized Quick Turn Programming (SQTP℠) files created by MPLAB® Integrated Development Environment (IDE) v8.92 and several versions of MPLAB Integrated Programming Environment (IPE) for the PIC12F529T39A Flash data memory region. Issues with these files are discussed in the following sections.

Table 1: SQTP Files for the PIC12F529T39A

ExampleIDESettingsSQTP File
1MPLAB IDE v8.92Generation Method: Random*
Location: Flash Data
Access Method: RETLW (Raw Data selection unavailable)
Start Address (Hex): 0
Number of Bytes (Dec): 2
Number of Parts (Dec): 5
:020000040000fa
:04060000F808D1081D
:040600005508B308DE
:04060000850852080F
:040600009B08EC085F
:040600006008840802
:00000001FF
2MPLAB IPE v2.20 (and before)Generation Method: Random*
Location: Flash Data
Access Method: RETLW (Raw Data selection unavailable)
Start Address (Hex): 600
Number of Bytes (Dec): 2
Number of Parts (Dec): 5
:020000040000FA
:04060000F808D1081D
:040600005508B308DE
:04060000850852080F
:040600009B08EC085F
:040600006008840802
:00000001FF
3MPLAB IPE v2.25Generation Method: Random*
Location: Flash Data
Access Method: RETLW (Raw Data selection unavailable)
Start Address (Hex): 600
Number of Bytes (Dec): 2
Number of Parts (Dec): 5
:020000040000FA
:040C0000F808D10817
:040C00005508B308D8
:040C00008508520809
:040C00009B08EC0859
:040C000060088408FC
:00000001FF
4MPLAB IPE v2.26 (and later)Generation Method: Random*
Location: Flash Data
Access Method: Raw Data (RETLW selection unavailable)
Start Address (Hex): 600
Number of Bytes (Dec): 2
Number of Parts (Dec): 5
:020000040000FA
:020C0000F8D129
:020C000055B3EA
:020C000085521B
:020C00009BEC6B
:020C000060840E
:00000001FF
* The same "random" serial numbers are shown in each example for comparison.

Issue 1: RETLW Included in SQTP file

In Table 1, Examples 1, 2, and 3, the RETLW option for the SQTP file should not have been allowed for Flash data because Flash data is equivalent to the Electrically Erasable Programmable Read-Only Memory (EEPROM) region which should not contain the RETLW instruction.

Example 4 shows the issue fixed and does not have the option for RETLW in Flash data memory.

For the examples in Table 1, RETLW is 08h.

Issue 2: SQTP Does Not Load Properly

For Table 1, Example 1, the incorrectly added RETLW instruction in the SQTP file (see Issue 1: RETLW Included in SQTP file) is omitted when the file is reloaded into IDE memory. For Examples 2 and 3, the SQTP file is reloaded into IPE memory with the RETLW instruction. See Table 2.

Table 2: SQTP Reloaded into IDE/IPE Memory

Table 1 ExampleFlash Data Memory View
1

 

Flash Data IDE 1

2* and 3*

Flash Data IDE 2 and 3

 

* Flash Data memory begins at 600h. MPLAB IPE memory window shows first address of this memory region as 0h.

Issue 3: MPLAB IDE v8 SQTP File Addressing Not Intel® HEX Standard

MPLAB X Integrated Development Environment (IDE) v8 does not follow the Intel® HEX file standard in addressing Flash data. There is no issue for those who generate and use the file in MPLAB IDE v8. However, there is an issue when the SQTP files from MPLAB IDE v8 are used in MPLAB IPE before v2.25. The issue has been fixed in MPLAB IPE v2.25 (and after).

For Table 1, Examples 1 and 2 have an SQTP file address of 0600, whereas Examples 3 and 4 correctly show 0C00.