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.

TMS320F28374D: NMI and ITRP interrupts management

Part Number: TMS320F28374D
Other Parts Discussed in Thread: SYSBIOS

HI Team,

Customer is looking into the management of the MNI and ITRP interrupts to try to add some ways to log those when they arise.

Could you please provide some documentation for the default handler of those interrupts?

BR,
Stefan

  • Stefan,

             Both NMI and ITRAP are documented in the TRM (see pages 109 & 110 of SPRUHM8I). ITRAP is further explained in SPRU430. We don’t have any documentation beyond these two.

  • Thank you Hareesh!

    Customer would actually like to identify the reset cause at startup.

    They am facing some difficulties to understand the datasheet on the delphinos (TMS320F2837xD Dual-Core Microcontrollers. spruhm8i.pdf)

    Looking at the NMIFLG and NMISHDFLG, they do not fully understand what is condition that generate the following flags

    - OVF

    - CLBNMI

    - PIEVECTERR

     

    Also they would like to confirm an understanding.

    If CPU2 WDG has triggered the reset then the WDRSn bit of the RESC register will be set and the CPU2WDRSn bit of the NMISHDFLG register.

    If CPU1 WDG has triggered the reset then only the WDRSn bit of the RESC register will be set.  

    Is that a correct assumption?

    BR,
    Stefan

  • Stefan,

       I need to research this. Give me a few days.

  • Customer would actually like to identify the reset cause at startup.

    The RESC register should be examined for this. See page 393 of the TRM.

    Looking at the NMIFLG and NMISHDFLG, they do not fully understand what is condition that generate the following flags

    OVF - This bit is a RESERVED bit. This will be fixed in the next update of the TRM.

    CLBNMI - Agree this is not documented clearly. I am still researching this. 

    PIEVECTERR - This is explained in page 110 & 234. Please let me know if it is not clear.

    If CPU2 WDG has triggered the reset then the WDRSn bit of the RESC register will be set and the CPU2WDRSn bit of the NMISHDFLG register.

    CPU2 WD cannot reset the device. "CPU2's watchdog reset (CPU2.WDRS) produces a CPU2.SYSRS and triggers an NMI on CPU1." CPU2WDRSn bit of the NMIFLG register will be set upon a CPU2 WD reset.

    If CPU1 WDG has triggered the reset then only the WDRSn bit of the RESC register will be set.  

    Correct.

  • Hi Hareesh,

    Thank you for your input!

    Looking forward to info about CLBNMI!

    In the meantime following questions came up at customer:

    will RESC, NMIFLG and NMISHDFLG have the same value on CPU1 and CPU2 or could they be different?

     

    Another confirmation question for NMIFLG  bit CPU2HWBISTERR/ CPU1HWBISTERR  .

    Can you give a bit of explanation when those bits will be set.

    Is there a default configuration of the interrupt handler ? If so, what is it ?

    BR,
    Stefan

  • Another confirmation question for NMIFLG  bit CPU2HWBISTERR/ CPU1HWBISTERR  .

    Can you give a bit of explanation when those bits will be set.

    If you use HWBIST to run diagnostics on the CPUs and an error is detected, one of these flags gets set depending on which CPU the error was detected. For more information about these flags and HWBIST in general, you can see this app note.

    Whitney

  • The CLB’s HLC module can generate an NMI instead of a normal interrupt.

    You can enable this by:

    But this is not available on the device you are using.

    If it is mentioned in the registers then it is missed item in the document for F2837xD.

    Nima

  • will RESC, NMIFLG and NMISHDFLG have the same value on CPU1 and CPU2 or could they be different?

    They could be different.

    Stefan,

         I believe we have answered all your questions and hence closing the post.

  • Hi Hareesh,

    thank you! two more questions:

    Regarding SYSBIOS, could you point me to the documentation on default ISR implementation for the non maskable interrupts.

    Is  a hwi_create on the NMI possible? it seems to fail.

    BR,
    Stefan

  • Stefan,

        I suggest closing this post and creating a new post with the appropriate title. This will make future searches easy and also enable better archival/analytics. Thanks.