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.

NVIC_FAULT_ADDR in the 0x40000000 range

Other Parts Discussed in Thread: TM4C1231D5PM

I am winding up in the FAULT_ISR with the NVIC_FAULT_ADDR pointing to 0x40040100 with a precise and valid address.  That address must be somewhere in ROM.  How do I find the ROM function that may be throwing this fault?

I will not be surprised if I am addressing a peripheral in a library of mine that has not been enabled.  I just need to find the peripheral to help find the location in code.  (In fact I found the root cause, but still want to know where to find the ROM functions.)

I am using a TM4C1231D5PM.

  • Suspect this comforts/illuminates:  (bit buried w/in MCU manual - pays to have been here awhile - "been there - done that."  This chart continues, multiple pages - but suspect this well answers your quest.  (and, has been awhile since green verify has landed - your brush-stroke - this reporter's effort...)   [something I've done/said?]

  • The address 0x40040100 is for CAN0 Instance. The usual suspects would be

    1. Peripheral Not Enabled or enabled and accessed without checking the Peripheral Ready Register Bit SYSCTL.PRCAN.CAN0

    2. In one of the functions you have used the Address may be arithematically modified (as I have seen in the past) causing the CPU to access the location.

    A litle more data on the piece of code which causes the CPU to jump to FaultISR may be useful

  • John Osen said:
    (In fact I found the root cause, but still want to know where to find the ROM functions.)

    By my read of your post - you seek to, "know where to find the ROM functions" - and only the first/answering post meets that specification.

    Later post identifies a particular peripheral - does a nice job w/"usual suspects" (wonder from where that sprang) - yet avoids any mention of, th"e memory model/memory map section - w/in MCU manual" - which precisely answered your request...

  • A pox apon me.  I had done a search on the very document for ROM, but found nothing.  I searched the ROM user's guide for the LM4F predecessor chip, but found nothing.  I guess I was not using the best search string to find the ROMed code.

    Thanks for placing my nose right where it needs to be. 

    I am the first engineer here through the process.  I will comment our fault ISRs in current projects (>12) so those that follow will know where to look.

  • "Pox" may be "bit" harsh.  (truth in advertising - this reporter struggled years ago, too)

    Thank you for rewarding that post which properly answered your request - tardy follow-on appeared to, "muddy the waters." (adding minimal, real value)    Clearly you're smart enough to quickly/easily find your objective - only a brief roadmap/push was necessary.

    As you note,  " >12 engineers resident" - may I suggest that each be assigned one or two chapters w/in ea. relevant MCU document - and then provide a "Chapter based summary (feature, function, benefit *) listing" easily accessible by all?  (just as I've past directed my staff - our team uses each/every day - even after 6+ years here/other ARM sites...)  In its absence - each engineer is likely to become similarly impaled - just as you (and moi, earlier) had...

    Others/myself have followed your adventure - you/group appear to be making good progress - you're systematic, detailed - suspect greater staff involvement better frees you for the "big picture."

    Small biz - especially those tech-focused - must: maximize efficiencies - sweat the detail - proper plan, organization & execution is more mandatory than desirable.  (yielded great rewards - this reporter...) 

    * feature, function benefit - credit IBM