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.

RM48L952: Program resets if running without debugger connected

Part Number: RM48L952
Other Parts Discussed in Thread: HALCOGEN

I have started to encounter a problem with my program if I try to run without the debugger (xds100v2) connected. Download a new program and everything appears OK, can debug and verify the behaviour of the prorgam as I have always done. Disconnect from the target while it is still running and everything remains OK. However, the minute I try to do a restart by cycling power on and off I cannot run the program, the MCU apperas to be in continual reset. If I connect while in this state and pause the debugger the device is stuck at prefetchEntry interrupt vector.

I would appreciate some guidance on isolating the root cause of this error., which registers to examine etc.

Thanks

Jamie

  • Hello Jamie,

    Do you use the sys_startup.c generated through teh HALCoGen? Do you perform PBIST, and CPU self test i your code?
    Please check SYSESR register to find the source of the reset.
  • Yes I use Halcogen, I noticed that PBIST and CPU self check were not enabled so I have rebuilt with those selected. The behavior is almost the same but now the program exits to undefEntry.

    SYSESR = 0x00000000 which I expect does not help us much.

    I've tried the power cycle test a few times and the same value is always in SYSESR.

    Do you have any ideas why running immediately after download through the debugger does not exhibit the same problem? I seem to recall reading somewhere that the CCM module does not run i.e. you are not benefiting from the dual lockstep architecture; when running with the debugger. Perhaps that is the issue and on startup there is a faliure of the CCM?
  • I noticed now that there is a target reset when the debugger starts up. I think this may be similar to what happens when I run without the debugger connected. So I stepped through self check and it seems it is the instruction after stcSelfcheck that fails. Here is a screenshot of the disassembly and the unknown branch. Does this help identify a root cause - i'm not totally sure what i'm looking at.

  • Perhaps the reset I now see on the target is expected as we running PBIST at startup to see that selfcheck can detect a fault in the CPU? I'm increasingly inclined to think that this MCU is not in the greatest of health. It is on a board that has been used heavily during development. It would be great to isolate the failure though as it would be a good demo of the MCU diagnostics.
  • Hello Jamie,

    Can you please do a test with the rtiBinky generated by HALCoGen?
  • I can certainly try, but I cannot find anywhere in Halcogen to import an rtiblinky project, doesn't seem to be in the ccsv7 examples either? I know i've seen it somewhere before but right now it eludes me. Can you send me a link to download it?

  • Hello Jamie,

    It is located at this path C:\ti\Hercules\HALCoGen\v04.07.00\examples\RM48x\example_rtiBlinky.c if you have installed HALCoGen at the default location. The step by step details can be found by clicking Help-->Help Topics-->Examples in the HALCoGen tool.