This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

F28M36 strange reset behaviour

Hi,

I bumped into a reset issue on my F28M36x controller. I have a simple application which works like this. On the C28 core I can blink a LED in a timer interrupt in case a flag is set. This flag can be set by the M3 core. From a PC application we can send a UDP packet which instruct the M3 to set this specific flag, when M3 receives it the C28 starts to blink the LED so everything is working well. Here is the code on the C28 core.

interrupt void Timer_MainTimerIsr(void)
{
   /* Clear timer interrupt flag. */
   CpuTimer0Regs.TCR.bit.TIF = 0;

   if(g_usFlag)
   {
      LED2_TOGGLE;
   }
}

The problem is the following.: When I issue a sw or a watchdog or an external reset the C28 stops the LED blinking till the core is hold in reset, but after that it starts again the blinking. The only exception is the power on reset. The other resets don't clear the C28 RAM?

Do you have any ideas why does it happen?

Thanks in advance!

Best Regards,
Tamas

 

  • Hi Tamas,

    The other resets don't clear the C28 RAM?

    Yes, RAMs get cleared only on power on reset. On other resets, RAM content are not cleared. So if you are running the code from RAM then after power on reset, you need to reload the code.

    Regards,

    Vivek Singh

  • Hi Vivek Singh,

    Thank you for your help. This information solved my problem. I expected that global variables are all initialized to zero after reset, but I ignored the fact that C28 RAM is initialized only after power on reset.

    Thank you once again!

    Regards,
    Tamas