Hi,
I'm using S32DS 2018.R1 (180815) with the S32K148 EVB.
I'm doing some preliminary tests using FlexRAM. I followed some examples and threads found here in the NXP community.
I think I've setup all the settings as needed, but I can't get the "Preserve range" option to work.
In the debugger setup, option "Emergency Kinetis Device Recovery by Full Chip Erased" is unchecked.
In the Advanced options, Preserve memory range 0 is active and specifies the range 10000000 - 1000FFFF. As a workaround, in a separate test I also tried to specify the same range in Memory range 1, to no avail.
But when I launch the debug, if the code changed, the full device is erased (expected behavior would be to keep the eeprom part untouched). If the code doesn't change, everything works as it should.
However, it seems that the debugger doesn't even try to preserve memory, as I can't read the "Preserving data range $10000000-$1000FFFF before erase ..." message anywhere, as I read in other messages about the same topic:
Connection from "127.0.0.1" via 127.0.0.1
Connection from "127.0.0.1" via 127.0.0.1
Telnet server running on 127.0.0.1:51794
Searching for FreeRTOS Kernel Symbols...
Symbol pxCurrentTCB found. (0x20000110)
Symbol pxReadyTasksLists found. (0x20003448)
Symbol xDelayedTaskList1 found. (0x20003518)
Symbol xDelayedTaskList2 found. (0x2000352C)
Symbol xPendingReadyList found. (0x200034E8)
Symbol uxCurrentNumberOfTasks found. (0x20000114)
Symbol xSuspendedTaskList found. (0x200034FC)
Symbol xSchedulerRunning found. (0x20000120)
Successfully initialized kernel symbols. FreeRTOS analysis enabled.
Copyright 2017 P&E Microcomputer Systems,Inc.
Command Line :C:\NXP\S32DS_ARM_v2018.R1\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_3.5.6.201805161649\win32\pegdbserver_console -device=NXP_S32K1xx_S32K148F2M0M11 -startserver -singlesession -serverport=7224 -gdbmiport=6224 -interface=USBMULTILINK -spl
CMD>RE
Initializing.
Target has been RESET and is active.
CMD>CM C:\NXP\S32DS_ARM_v2018.R1\eclipse\plugins\com.pemicro.debug.gdbjtag.pne_3.5.6.201805161649\win32\gdi\P&E\supportFiles_ARM\NXP\S32K1xx\freescale_s32k148f2m0m11_pflash_dflash_eeprom.arp
Initializing.
Initialized.
;version 1.06, 04/06/2020, Copyright 2020 P&E Microcomputer Systems, Inc. All rights reserved. www.pemicro.com [s32k148f2m0m11_x_pflash_dflash_eeprom]
;device freescale, s32k148f2m0m11, pflash_dflash_eeprom
;begin_cs device=$00000000, length=$14001000, ram=$20000000
Loading programming algorithm ...
WARNING - Selected .ARP file has been modified. CRC16 = $B3BB
Done.
CMD>PA 0204
Started.
Done.
Programming sequency is : erase, blank check, program, and verify {default}
CMD>VC
Verifying object file CRC-16 to device ranges ...
block 00000000-000200AF ...
Calculated CRC-16 does not match block. (File = $7809, Device = $FFAC)
CMD>EM
Erasing.
Module has been erased.
Reloading programming algorithm ...
done.
CMD>PM
Programming.
Processing Object File Data ...
.
Programmed.
CMD>VC
Verifying object file CRC-16 to device ranges ...
block 00000000-000200AF ...
Ok.
Checksum Verification Successful. (Cumulative CRC-16=$7809)
CMD>RE
Initializing.
Target has been RESET and is active.
I'm using the latest .arp file downloaded from the PEMicro website.
I also played with "Preserve partitioning for the device" option, again to no avail.
Probably I am missing something here.
Any suggestions please?
Thanks,
mantoz
Hello mantoz
Thank you for your interest in NXP Semiconductor products and the opportunity to serve you. My name is Omar and I will gladly help you with this.
This post might be helpful: https://mcuoneclipse.com/2014/07/13/preserving-memory-ranges-with-eclipse-and-pe-gdb-server/
Also, I suggest you use the latest version of the S32DS, this version can be found here: https://www.nxp.com/design/software/development-software/s32-design-studio-ide/s32-design-studio-for...
Let me know if this is helpful, if you have more questions do not hesitate to ask me.
Best regards,
Omar