Hi,
I'm trying to program a DCF record into the UTEST of my MPC5748G. I'm following the instructions found here:
HOWTO: Program DCF record into UTEST flash in S32 Design Studio for Power . I am using this flash programming algorithm: NXP_MPC5748G_1x32x4k_UTest.pcp
However, when I click debug to program the flash, I get an error and the DCF record is not programmed into UTEST. Has anyone encountered this?
I've copied my console output here, if it helps:
Connection from "127.0.0.1" via 127.0.0.1
Copyright 2012 P&E Microcomputer Systems,Inc.
Command Line :C:\NXP\S32DS_Power_v1.2\eclipse\plugins\com.pemicro.debug.gdbjtag.ppc_1.6.9.201706282002\win32\pegdbserver_power_console -device=MPC5748G -startserver -singlesession -serverport=7224 -gdbmiport=6224 -interface=USBMULTILINK -speed=5000 -reseÐ
CMD>RE
Initializing.
MPC574xC Device detected.
Target has been RESET and is active.
CMD>CM C:\Users\User\Documents\Work\NXP\FlashAlgorithms_Internal_NXP_QORIVVAP\NXP_MPC5748G_1x32x4k_UTest.pcp
Initializing.
MPC574xC Device detected.
Initialized.
;version 1.06, 07/19/2017, Copyright P&E Microcomputer Systems, www.pemicro.com [57xx_utest_16k]
;device NXP, MPC5748G, 1x32x4k, desc=UTest
;begin_cs device=$00400000, length=$00004000, ram=$40000000
Loading programming algorithm ...
Done.
CMD>VC
Verifying object file CRC-16 to device ranges ...
block 00400380-00400387 ...
Calculated CRC-16 does not match block. (File = $11D4, Device = $6820)
CMD>EM
Command is inactive for this .PCP file.
Error Erasing flash of device
Error occured during Flash programming.
Starting reset script (C:\NXP\S32DS_Power_v1.2\eclipse\plugins\com.pemicro.debug.gdbjtag.ppc_1.6.9.201706282002\win32\gdi\P&E\s32e200_mpc574xg.mac) ...
REM This script is compatible with MPC574xG devices.
REM Clean GPRs to remove residual data after using algorithm
REM Initialize all of the Main SRAM - 768KB
Initializing RAM from $40000000 to $400BFFFF.
REM Core 0 I-MEM 16K
Initializing RAM from $50000000 to $50003FFF.
REM Core 0 D-MEM 64K
Initializing RAM from $50800000 to $5080FFFF.
REM Core 1 I-MEM 16K
Initializing RAM from $51000000 to $51003FFF.
REM Core 1 D-MEM 64K
Initializing RAM from $51800000 to $5180FFFF.
REM Core 2 I-MEM 16K
Initializing RAM from $52000000 to $52003FFF.
REM Core 2 D-MEM 32K
Initializing RAM from $52800000 to $52807FFF.
REM overlay memory 16K
Initializing RAM from $0D000000 to $0D003FFF.
REM Overlay SRAM Emulation device only
Initializing RAM from $0C000000 to $0C0FFFFF.
Reset script (C:\NXP\S32DS_Power_v1.2\eclipse\plugins\com.pemicro.debug.gdbjtag.ppc_1.6.9.201706282002\win32\gdi\P&E\s32e200_mpc574xg.mac) completed.
MPC574xG Device detected.
PE-ERROR: Error downloading to the device.
Disconnected from "127.0.0.1" via 127.0.0.1
Target Disconnected.
Target Disconnected.
Solved! Go to Solution.
Hi,
Thanks for your reply. I've checked with PE Micro and it seems like they removed the EM command from the UTEST PCP. This was to prevent confusion, since the EM command doesn't actually do anything on the UTEST area which is OTP.
However, removing this command broke compaitibilty with the S32 IDE plugin.
PE Micro is currently looking for a workaround. I don't currently have access to a lauterbach debugger, so I'll just wait for their updates.
For consideration, for UTEST programming, may want to allow for another build configuration that does not require the EM command to be run.
has this problem solved yet? I am also trying to use PEMicro OpenSDA to write Utest DCF with password onto my DEVKIT MPC5744P board, because now I do not have any other debugger except the embedded OpenSDA debugger on board.
Hi,
well - the only workaround which is working for me is use Lauterbach power debug interface. If it is suitable solution for you - here are steps how to program DCF via Lauterbach:
Jiri
Hi,
Thanks for your reply. I've checked with PE Micro and it seems like they removed the EM command from the UTEST PCP. This was to prevent confusion, since the EM command doesn't actually do anything on the UTEST area which is OTP.
However, removing this command broke compaitibilty with the S32 IDE plugin.
PE Micro is currently looking for a workaround. I don't currently have access to a lauterbach debugger, so I'll just wait for their updates.
For consideration, for UTEST programming, may want to allow for another build configuration that does not require the EM command to be run.
I've looked at the console output a bit more. It seems like the programming sequence when writing to flash is always as follows:
"Programming sequency is : erase, blank check, program, and verify {default} "
But the UTest .pcp file does not have a function for erase (which makes sense since the UTest is OTP).
And hence the error seems to be coming from here:
CMD>EM
Command is inactive for this .PCP file.
Error Erasing flash of device
Error occured during Flash programming.
How do I change the programming sequence so the "erase" step is skipped?
Thanks!
Hi,
Thanks for report. For some reason is PE micro plugin calling erase - which is not usable in DCF area. I'll rise JIRA ticket for this bug.
I'm going to find if there is workaround for that. I'll let you know.
Jiri