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.

CCS/TM4C123GH6PM: Help needed to understand code segments in ROM at address 0x0100E5C

Part Number: TM4C123GH6PM

Tool/software: Code Composer Studio

Randomly my CPU crashes and branches to ROM location 0x0100E5C. I don't know what causes this. I have watchdog enabled. I looked in to disassembly and there is code segment I found without label starting from 0x100DD2.

I believe ROM contains watchdog API function pointers from 0x0100D40 to 0x0100D7F. I tried to search but couldn't find any document that shows table for what exists in ROM with location map. Is it possible to get such ROM map?

The part of the code segment at 0x0100E5C is,


01000e5c:   F24E10D8            movw       r0, #0xe1d8
01000e60:   F2C4000F            movt       r0, #0x400f
01000e64:   6800                ldr        r0, [r0]
01000e66:   F0105F40            tst.w      r0, #0x30000000
01000e6a:   D11D                bne        #0x1000ea8
01000e6c:   F7FFFFAC            bl         #0x1000dc8
01000e70:   2800                cmp        r0, #0
01000e72:   D102                bne        #0x1000e7a
01000e74:   F8D0D000            ldr.w      sp, [r0]
01000e78:   4708                bx         r1
01000e7a:   F7FFFF89            bl         #0x1000d90
01000e7e:   F005F99C            bl         #0x10061ba
01000e82:   F005BA2C            b.w        #0x10062de
01000e86:   0000                movs       r0, r0
01000e88:   4000                ands       r0, r0
01000e8a:   4000                ands       r0, r0
01000e8c:   5000                str        r0, [r0, r0]
01000e8e:   4000                ands       r0, r0
01000e90:   6000                str        r0, [r0]
01000e92:   4000                ands       r0, r0
01000e94:   7000                strb       r0, [r0]
01000e96:   4000                ands       r0, r0
01000e98:   4000                ands       r0, r0
01000e9a:   4002                ands       r2, r0
01000e9c:   5000                str        r0, [r0, r0]
01000e9e:   4002                ands       r2, r0

Thanks,

  • Pragnesh,
    It appears that you are looking for the wrong solution.
    If your system crashes, you want to know what caused it, and it is likely that the problem does not reside in ROM (you won't be able to write "bad stuff" to it)!
    Did you download the pdf that explains how to diagnose system faults or invalid ISR's? These crashes are usually related to a peripheral that has not been enabled. Check the error registers as per the document, and you will be able to trace back the program execution to what caused your trouble.
    Regards
    Bruno
  • Thanks Bruno.

    I have used the system fault diagnostic document before and for this incidence. The crash is random and not repeatable. No hard or soft fault is generated or fault address is latched in NVIC.

    I know that the listed code is not the code that generates the fault. But was curious to find out about ROM mapping as it may lead to fault causing code segment.