I have an NXP Kinetis K81 with QSPI XiP Flash. Code sections exist on both internal and external flash. Firmware loads and runs perfectly with the J-Link under control of NXP's Eclipse-based MCUXpresso IDE.
However, when the IDE is not available, and I attempt to load .hex firmware using only J-Link Commander, I get:
J-Link>loadfile c:\nxp\IPS_170617-1.0-FW.hex
Downloading file [c:\nxp\IPS_170617-1.0-FW.hex]...
Compare method "Programmed sectors, fastest method" is not supported for this device.
Changed to "Programmed sectors using read back"
Verify method "Programmed sectors, fastest method" is not supported for this device.
Changed to "Programmed sectors using read back"
****** Error: Failed to erase sectors 0 @ address 0x00000000 (Algo35: Illegal command)
Unspecified error -1
J-Link>
If I rebuild the code, using only internal flash, then everything works as expected.
However, when the IDE is not available, and I attempt to load .hex firmware using only J-Link Commander, I get:
J-Link>loadfile c:\nxp\IPS_170617-1.0-FW.hex
Downloading file [c:\nxp\IPS_170617-1.0-FW.hex]...
Compare method "Programmed sectors, fastest method" is not supported for this device.
Changed to "Programmed sectors using read back"
Verify method "Programmed sectors, fastest method" is not supported for this device.
Changed to "Programmed sectors using read back"
****** Error: Failed to erase sectors 0 @ address 0x00000000 (Algo35: Illegal command)
Unspecified error -1
J-Link>
If I rebuild the code, using only internal flash, then everything works as expected.