Hi Jason,
Thanks for your reply. I can connect using JTAG but when I debug the code below nothing happens and the flash blocks remain locked
C55FMC.LOCK0.R = 0; // remain 0x3FF0FFFC
C55FMC.LOCK1.R = 0; // remain 0x0000FFC0
C55FMC.LOCK2.R = 0; // remain 0xFFFFFF00
C55FMC.LOCK3.R = 0; // remain 0x0000FFFF
/*Hence the following code is not executed */
C55FMC.MCR.B.ERS = 1;
C55FMC.SEL2.R = 0x00000080; // select the large block 7
*(uint32*)0x011C0000 = 0xFFFFFFFF; //interlock write
C55FMC.MCR.B.EHV = 1;
while(C55FMC.MCR.B.DONE == 0);
C55FMC.MCR.B.EHV = 0;
C55FMC.MCR.B.ERS = 0;
C55FMC.MCR.B.PGM = 1;
*(uint32*)0x011C0000 = 0x12345678; //interlock write
*(uint32*)0x011C0004 = 0xAFDBCA42;
C55FMC.MCR.B.EHV = 1;
while(C55FMC.MCR.B.DONE == 0);
C55FMC.MCR.B.EHV = 0;
C55FMC.MCR.B.PGM = 0;
C55FMC.MCR.B.PGM = 1;
*(uint32*)0x011C0000 = 0xABCDEF12; //interlock write
*(uint32*)0x011C0004 = 0xECDFBAD3;
C55FMC.MCR.B.EHV = 1;
while(C55FMC.MCR.B.DONE == 0);
C55FMC.MCR.B.EHV = 0;
C55FMC.MCR.B.PGM = 0;
test_read = *(uint64*)0x011C0000;