How to solve the problem of " entered reset escalation" on S32ds?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to solve the problem of " entered reset escalation" on S32ds?

1,647 Views
alexzhu
Contributor II

Target board: MPC5748G LCEVB
IDE: S32 Design Studio for Power Architecture Version 2.1
Debugger: P&E MULTILINK

Issue description:I study to run a routine from RAM int the S32ds .
The program snippet is as follows:
/*****************************************************************/
MEMORY
{

flash_rchw : org = 0x00FA0000, len = 0x4
cpu0_reset_vec : org = 0x00FA0000+0x10, len = 0x4
cpu1_reset_vec : org = 0x00FA0000+0x14, len = 0x4
cpu2_reset_vec : org = 0x00FA0000+0x04, len = 0x4
m_text : org = 0xFA0800, len = 30K
m_data : org = 0x40000400, len = 255K
}
/*****************************************************************/
.myRamCode :
{
KEEP(*(.myRamCode))
} >m_data AT> m_text
/*****************************************************************/
uint8_t __attribute__ ((section(".myRamCode"))) TestRam(uint8_t cnt)
{
SIUL2.GPDO[98].R^=1;
return cnt;
}
/*****************************************************************/
int main(void)
{
   volatile int counter = 0;
   xcptn_xmpl (); /* Configure and Enable Interrupts */
   SIUL2.MSCR[98].B.OBE=1;
   memcpy(&__MY_RAM_ADDR,&__MY_RAM_ROM_ADDR, &__MY_RAM_SIZE);
   counter=TestRam(2);

   /* Loop forever */
   for(;;)

   {
      counter++;
      if(counter>=123456)
      {
      counter=TestRam(2);
      }
   }
}
/*****************************************************************/
Result: right after the changing, the compling and debuging can all work, after stop debugging and re-power the board, the program do not run any more, and I tried to debug again, the board can no longer be connected, and S32DS always poped up:
1. The target may have entered reset escalation. Please power cycle the board.
2. Warning: Device is not detected or may be censored. Please check connections or please enter password in GDB server parameters within debug configurations using the flag -uncensorpassword=n, then restart the debug session.
3.on LCEVB board, the DS7 is OFF,DS8 is on(indicates "MCU has issued a reset")
During this time without any damage to the hardware operation.

For more details, please see the attachment.


I'm think the hardware is ok, but the MCU is very like dead, It's very depressed!
I'm also think that the MCU is not really dead.I'm very eager to recover it.

Hope for response soon, appreciate.

0 Kudos
Reply
3 Replies

1,268 Views
petervlna
NXP TechSupport
NXP TechSupport

Hi,

Result: right after the changing, the compling and debuging can all work, after stop debugging and re-power the board, the program do not run any more, and I tried to debug again, the board can no longer be connected, and S32DS always poped

This really does looks like reset escalation.

How do you serve SWT?

What do you measure on reset line after power on reset? Is it toggling or constant reset?

regards,

Peter

0 Kudos
Reply

1,268 Views
alexzhu
Contributor II

Hi,Peter Vlna :
Thank for your reply!
1. I use the method that Peter Vranken shared on the https://community.nxp.com/thread/442717 to let MCU attach JTAG at yesterday. And after that, I can reuse MPC5748G.

2. before, I learn to run a routine from RAM,refer to the instructions on https://community.nxp.com/docs/DOC-334030.
I use S32DS new a S32DS Application Project, define function (TestRam) into (.myRamCode)
On the map,I look the TestRam local at 0x40000400 ,as bleow:

*(.myRamCode)
.myRamCode 0x40000400 0x38 ./src/main.o
0x40000400 TestRam

Because I did'nt understand the principle of running a routine from ram,
I think TestRam's data will loss after reset ,so I want to look the phenomenon after reset . When after reset ,the penomenon is I described above(entered reset escalation,MPC5748 not can be debug) .

3. about SWT:
The SWT only appear in startup.s.
The startup.s of the project show below:
;#****************************** Turn off SWTs ********************************
#if defined(DISABLE_SWT0)
;#SWT0
e_lis r4, 0xFC05
e_or2i r4, 0x0000

e_li r3, 0xC520
e_stw r3, 0x10(r4)

e_li r3, 0xD928
e_stw r3, 0x10(r4)

e_lis r3, 0xFF00
e_or2i r3, 0x010A
e_stw r3, 0(r4)
#endif

So , i think the SWT0 is off.

4. about reset line.
I did'nt measure the reset line. But I can find the DS8(reset LED on LCEVB) blink during a very short time .


Last, I will continue learn to run a routine from RAM .

0 Kudos
Reply

1,268 Views
petervlna
NXP TechSupport
NXP TechSupport

Ok,

You have reset escalation.

Serve your SWT and also make sure your code in loaded into ram from flash before execution from RAM.

As after some reset sources your RAM is erased and therefore after BAM you will end up in IVOR and reset escalation.

regards,

Peter

0 Kudos
Reply