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.

TDA2P-ACD: Details on the register dump

Part Number: TDA2P-ACD
Other Parts Discussed in Thread: SYSBIOS

Tool/software:

Hello , 

av_bios_sdk_01_05_01_00 and PROCESSOR_SDK_VISION_03_02_00

Please provide details on the register crash dump  we have how can we relate to the program counter  and trace back to the issue function 

1. Crash log 1 

[Sat Aug 03 12:29:15.791 2024] Exception occured in DSP1:
[Sat Aug 03 12:29:15.795 2024] Cores Uptime in seconds
[Sat Aug 03 12:29:15.801 2024] :: A15 :15990 Secs DSP1 :15990 DSP2 :15990
[Sat Aug 03 12:29:15.805 2024] :: M4_0 :15990 Secs M4_1 :15990 EVE_0 :15990 EVE_2 : 0
[Sat Aug 03 12:29:15.809 2024] ------------------------------------------------------------------------
[Sat Aug 03 12:29:15.815 2024] efr=0x2
[Sat Aug 03 12:29:15.819 2024] nrp=0x90d48de0
[Sat Aug 03 12:29:15.819 2024] ntsr=0x1020d
[Sat Aug 03 12:29:15.819 2024] ierr=0x0
[Sat Aug 03 12:29:15.819 2024] excContext=0x928ab6b8
[Sat Aug 03 12:29:15.823 2024] A0=0x4200010 A1=0x1
[Sat Aug 03 12:29:15.823 2024] A2=0x1 A3=0xc320a328
[Sat Aug 03 12:29:15.827 2024] A4=0x92307848 A5=0x0
[Sat Aug 03 12:29:15.827 2024] A6=0x14c A7=0x0
[Sat Aug 03 12:29:15.827 2024] A8=0x0 A9=0x2
[Sat Aug 03 12:29:15.831 2024] A10=0x80 A11=0x92307830
[Sat Aug 03 12:29:15.831 2024] A12=0xe0 A13=0x90d48b56
[Sat Aug 03 12:29:15.834 2024] A14=0x0 A15=0x0
[Sat Aug 03 12:29:15.834 2024] A16=0xc320276c A17=0x0
[Sat Aug 03 12:29:15.837 2024] A18=0xc320273c A19=0x20
[Sat Aug 03 12:29:15.837 2024] A20=0x3c A21=0x40
[Sat Aug 03 12:29:15.839 2024] A22=0x44 A23=0x48
[Sat Aug 03 12:29:15.843 2024] A24=0x4c A25=0x50
[Sat Aug 03 12:29:15.847 2024] A26=0x54 A27=0x9292bdd8
[Sat Aug 03 12:29:15.847 2024] A28=0x9292bdc8 A29=0xc314e4b8
[Sat Aug 03 12:29:15.849 2024] A30=0xffffffff A31=0xc32153c0
[Sat Aug 03 12:29:15.849 2024] B0=0xc320a328 B1=0x0
[Sat Aug 03 12:29:15.854 2024] B2=0x0 B3=0x90d48dc6
[Sat Aug 03 12:29:15.855 2024] B4=0x929251a8 B5=0xc32028b0
[Sat Aug 03 12:29:15.857 2024] B6=0x4200010 B7=0xc
[Sat Aug 03 12:29:15.862 2024] B8=0x927aa770 B9=0x6d6
[Sat Aug 03 12:29:15.864 2024] B10=0x0 B11=0x90e077e4
[Sat Aug 03 12:29:15.864 2024] B12=0x0 B13=0x0
[Sat Aug 03 12:29:15.867 2024] B14=0x92a3b180 B15=0xc32028a0
[Sat Aug 03 12:29:15.870 2024] B16=0x40000000 B17=0xf42
[Sat Aug 03 12:29:15.872 2024] B18=0x0 B19=0x80
[Sat Aug 03 12:29:15.872 2024] B20=0x42 B21=0x46
[Sat Aug 03 12:29:15.875 2024] B22=0x4a B23=0x4e
[Sat Aug 03 12:29:15.878 2024] B24=0x52 B25=0x2
[Sat Aug 03 12:29:15.878 2024] B26=0xc31cf3e8 B27=0xc31cf3b0
[Sat Aug 03 12:29:15.881 2024] B28=0xa0274ec8 B29=0xc314e4c8
[Sat Aug 03 12:29:15.883 2024] B30=0x0 B31=0x0
[Sat Aug 03 12:29:15.886 2024] NTSR=0x1020d
[Sat Aug 03 12:29:15.886 2024] ITSR=0x20f
[Sat Aug 03 12:29:15.888 2024] IRP=0x90dca62a
[Sat Aug 03 12:29:15.888 2024] SSR=0x0
[Sat Aug 03 12:29:15.888 2024] AMR=0x0
[Sat Aug 03 12:29:15.891 2024] RILC=0x0
[Sat Aug 03 12:29:15.891 2024] ILC=0x0

2. Crash log 2

Sun Jul 28 15:28:21.387 2024] (A15_0)%Exception occured in DSP1:
[Sun Jul 28 15:31:49.310 2024] Cores Uptime in seconds
[Sun Jul 28 15:31:49.310 2024] :: A15 :827 Secs DSP1 :827 DSP2 :827
[Sun Jul 28 15:31:49.310 2024] :: M4_0 :827 Secs M4_1 :827 EVE_0 :827 EVE_2 : 0
[Sun Jul 28 15:31:49.310 2024] ------------------------------------------------------------------------
[Sun Jul 28 15:31:49.310 2024] efr=0x2
[Sun Jul 28 15:31:49.310 2024] nrp=0x90d6e4d0
[Sun Jul 28 15:31:49.310 2024] ntsr=0x1820f
[Sun Jul 28 15:31:49.310 2024] ierr=0x0
[Sun Jul 28 15:31:49.310 2024] excContext=0x928ab6b8
[Sun Jul 28 15:31:49.310 2024] A0=0x2 A1=0x0
[Sun Jul 28 15:31:49.310 2024] A2=0x1 A3=0x35
[Sun Jul 28 15:31:49.310 2024] A4=0xc32067b0 A5=0x72d3
[Sun Jul 28 15:31:49.310 2024] A6=0x927ab7c0 A7=0x0
[Sun Jul 28 15:31:49.310 2024] A8=0x10a A9=0x2
[Sun Jul 28 15:31:49.310 2024] A10=0x92307850 A11=0x90dc55fc
[Sun Jul 28 15:31:49.310 2024] A12=0x0 A13=0x92307850
[Sun Jul 28 15:31:49.310 2024] A14=0x0 A15=0x100
[Sun Jul 28 15:31:49.310 2024] A16=0xc320276c A17=0x0
[Sun Jul 28 15:31:49.310 2024] A18=0xc320273c A19=0x20
[Sun Jul 28 15:31:49.310 2024] A20=0x3c A21=0x40
[Sun Jul 28 15:31:49.310 2024] A22=0x44 A23=0x48
[Sun Jul 28 15:31:49.310 2024] A24=0x4c A25=0x50
[Sun Jul 28 15:31:49.310 2024] A26=0x54 A27=0x9292a7b8
[Sun Jul 28 15:31:49.310 2024] A28=0x9292a7a8 A29=0xc314e4b8
[Sun Jul 28 15:31:49.310 2024] A30=0xffffffff A31=0xc320ad98
[Sun Jul 28 15:31:49.310 2024] B0=0xc3202810 B1=0x1
[Sun Jul 28 15:31:49.310 2024] B2=0x0 B3=0x90d6e6c4
[Sun Jul 28 15:31:49.310 2024] B4=0xc313ba5c B5=0x15000103
[Sun Jul 28 15:31:49.310 2024] B6=0xc3208734 B7=0x927a2974
[Sun Jul 28 15:31:49.310 2024] B8=0x927aa770 B9=0xbf
[Sun Jul 28 15:31:49.310 2024] B10=0x92912348 B11=0x64
[Sun Jul 28 15:31:49.310 2024] B12=0x92306be0 B13=0x92306ae0
[Sun Jul 28 15:31:49.310 2024] B14=0x92a39b60 B15=0xc3208798
[Sun Jul 28 15:31:49.310 2024] B16=0x24000000 B17=0xf4
[Sun Jul 28 15:31:49.310 2024] B18=0x0 B19=0x80
[Sun Jul 28 15:31:49.310 2024] B20=0x42 B21=0x46
[Sun Jul 28 15:31:49.310 2024] B22=0x4a B23=0x4e
[Sun Jul 28 15:31:49.310 2024] B24=0x52 B25=0x2
[Sun Jul 28 15:31:49.310 2024] B26=0xc31cf3e8 B27=0xc31cf3b0
[Sun Jul 28 15:31:49.310 2024] B28=0xa0274ec8 B29=0xc314e4c8
[Sun Jul 28 15:31:49.320 2024] B30=0x0 B31=0x0
[Sun Jul 28 15:31:49.320 2024] NTSR=0x1820f
[Sun Jul 28 15:31:49.320 2024] ITSR=0x20f
[Sun Jul 28 15:31:49.320 2024] IRP=0x90d6e4c0
[Sun Jul 28 15:31:49.320 2024] SSR=0x0
[Sun Jul 28 15:31:49.320 2024] AMR=0x0
[Sun Jul 28 15:31:49.320 2024] RILC=0x0
[Sun Jul 28 15:31:49.320 2024] ILC=0x0
[Sun Jul 28 15:31:49.320 2024]
[Sun Jul 28 15:31:49.320 2024] <<< sysErrHook errorRaisedHookDsp1 Cores Uptime in seconds
[Sun Jul 28 15:31:49.320 2024] :: A15 :827 Secs DSP1 :827 DSP2 :827
[Sun Jul 28 15:31:49.320 2024] :: M4_0 :827 Secs M4_1 :827 EVE_0 :827 EVE_2 : 0
[Sun Jul 28 15:31:49.320 2024] --------------------------------------------------------------

  • Hello Satish,

    Please see the following document: https://www.ti.com/lit/ug/sprugh7/sprugh7.pdf#page=42

    You can see what all these lines stand for, as well as the following documents to help view the memory using CCS:

    https://www.tij.co.jp/jp/lit/an/spra640a/spra640a.pdf

    https://www.ti.com/lit/an/sprac17b/sprac17b.pdf

        >>6.2 C66x DSP PC Trace

    -Josue

  • Hello Josue,

    Thanks for the documents , from the references the IRP we can see that the current execution when the crash happens it was pointing to the BIOS object

    at (.text:ti_sysbios_knl_Swi_Instance_finalize__E) please provide what can lead to crash from this bios module.

    IRP

    Interrupt return pointer register

    It contains the return pointer that directs the CPU to the proper location to continue program execution after processing a maskable interrupt.

    0x90dca62a -        : BIOS.obj (.text:ti_sysbios_knl_Swi_Instance_finalize__E)

  • Hello Satish,

    Due to bandwidth, it will take me a day or two to get back to you.

    Thank you for your patience.

    -Josue

  • Satish,

    Do you have the information from the sysErrHook? like module and file it is pointing to? What assert did it trigger?

    Please review the following documentation: https://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/6_46_04_53/exports/bios_6_46_04_53/docs/cdoc/index.html

    Read the "Details" for the module and constraints in particular for the "Instance Deletion" , it seems most likely related to 

    ti_sysbios_knl_Swi_Instance_finalize__E

    Best,

    -Josue

  • Hi Josue, 
    we need the information on which set of registers we need to look at from the exception dump register details .
    So that we can trace the function from where the exception has been raised .
     
    [2024-09-14 02:19:24.305] Exception occured in DSP1:
    [2024-09-14 02:19:24.305] Cores Uptime in seconds
    [2024-09-14 02:19:24.305] :: A15  :37366 Secs DSP1 :37366 DSP2 :37366
    [2024-09-14 02:19:24.321] :: M4_0  :37366 Secs M4_1 :37366 EVE_0 :37366  EVE_2 :  0
    [2024-09-14 02:19:24.321] ------------------------------------------------------------------------
    [2024-09-14 02:19:24.321]   efr=0x2
    [2024-09-14 02:19:24.321]   nrp=0x90b38b44
    [2024-09-14 02:19:24.337]   ntsr=0x1020f
    [2024-09-14 02:19:24.337]   ier#r##=0x0
    [2024-09-14 02:19:24.337]   D eSPx1cC_oDntext=0x928abad8
    [2024-09-14 02:19:24.337] A0=0xE0LA AY1=0x0
    [2024-09-14 02:19:24.337] A2=
    [2024-09-14 02:19:24.337] 0x0 A3=0xc31eaa94
    [2024-09-14 02:19:24.337] A4=0x40 A5=0x0
    [2024-09-14 02:19:24.337] A6=0x1 A7=0x1c80
    [2024-09-14 02:19:24.337] A8=0x21c A9=0x0
    [2024-09-14 02:19:24.337] A10=0x2 A11=0xc31ea9a4
    [2024-09-14 02:19:24.353] A12=0x40 A13=0x805400
    [2024-09-14 02:19:24.353] A14=0x803208 A15=0x811400
    [2024-09-14 02:19:24.353] A16=0x805408 A17=0x10
    [2024-09-14 02:19:24.353] A18=0x805400 A19=0x0
    [2024-09-14 02:19:24.353] A20=0x3b A21=0x3d
    [2024-09-14 02:19:24.353] A22=0x0 A23=0x0
    [2024-09-14 02:19:24.353] A24=0x0 A25=0xc32174e8
    [2024-09-14 02:19:24.353] A26=0x261 A27=0x3f3
    [2024-09-14 02:19:24.368] A28=0x151 A29=0x4c000
    [2024-09-14 02:19:24.368] A30=0x1 A31=0xc0
    [2024-09-14 02:19:24.368] B0=0x1 B1=0x1
    [2024-09-14 02:19:24.368] B2=0x0 B3=0x90b38b2c
    [2024-09-14 02:19:24.368] B4=0x40 B5=0xc
    [2024-09-14 02:19:24.368] B6=0x803208 B7=0x1
    [2024-09-14 02:19:24.368] B8=0x811400 B9=0x202
    [2024-09-14 02:19:24.368] B10=0x800000 B11=0x21c
    [2024-09-14 02:19:24.368] B12=0x40 B13=0x2
    [2024-09-14 02:19:24.384] B14=0x92a3bb00 B15=0xc314e108
    [2024-09-14 02:19:24.384] B16=0x102 B17=0x201
    [2024-09-14 02:19:24.384] B18=0x101 B19=0x18
    [2024-09-14 02:19:24.384] B20=0x100 B21=0x0
    [2024-09-14 02:19:24.384] B22=0x4 B23=0xff
    [2024-09-14 02:19:24.384] B24=0x80 B25=0x80
    [2024-09-14 02:19:24.384] B26=0xfc B27=0xc31ea9bc
    [2024-09-14 02:19:24.384] B28=0xff B29=0xff
    [2024-09-14 02:19:24.384] B30=0x18 B31=0x1
    [2024-09-14 02:19:24.401] NTSR=0x1020f
    [2024-09-14 02:19:24.401] ITSR=0x20f
    [2024-09-14 02:19:24.401] IRP=0x90d22928
    [2024-09-14 02:19:24.401] SSR=0x0
    [2024-09-14 02:19:24.401] AMR=0x0
    [2024-09-14 02:19:24.401] RILC=0x0
    [2024-09-14 02:19:24.401] ILC=0x0
  • Satish,

    C66 Register Dump analysis:

    [2024-09-14 02:19:24.321]   efr=0x2 ------------------------------------ Exception Flag Register (EFR) =0010 Internal exception has been detected.
    [2024-09-14 02:19:24.321]   nrp=0x90b38b44-------------------------- Nonmaskable Interrupt (NMI) Return Pointer Register (NRP) contains the return pointer that directs the CPU to the proper location to continue program execution after NMI processing
    [2024-09-14 02:19:24.337]   ntsr=0x1020f ------------------------------ NMI/Exception Task State Register (NTSR) is used to store the contents of the task state register (TSR) and the conditions under which an exception occurred in the event of a nonmaskable interrupt (NMI) or an exception.
    [2024-09-14 02:19:24.337]   ierB##=0x0--------------------------------- Internal Exception Report Register (IERR) contains flags that indicate the cause of the internal exception.  
    [2024-09-14 02:19:24.337]   D eSPx1cC_oDntext=0x928abad8 ------- execution context? 
    [2024-09-14 02:19:24.337] A0=0xE0LA AY1=0x0 ----------------------- A register file A0-A31 Data Path
    [2024-09-14 02:19:24.337] A2=
    [2024-09-14 02:19:24.337] 0x0 A3=0xc31eaa94
    [2024-09-14 02:19:24.337] A4=0x40 A5=0x0
    [2024-09-14 02:19:24.337] A6=0x1 A7=0x1c80
    [2024-09-14 02:19:24.337] A8=0x21c A9=0x0
    [2024-09-14 02:19:24.337] A10=0x2 A11=0xc31ea9a4
    [2024-09-14 02:19:24.353] A12=0x40 A13=0x805400
    [2024-09-14 02:19:24.353] A14=0x803208 A15=0x811400
    [2024-09-14 02:19:24.353] A16=0x805408 A17=0x10
    [2024-09-14 02:19:24.353] A18=0x805400 A19=0x0
    [2024-09-14 02:19:24.353] A20=0x3b A21=0x3d
    [2024-09-14 02:19:24.353] A22=0x0 A23=0x0
    [2024-09-14 02:19:24.353] A24=0x0 A25=0xc32174e8
    [2024-09-14 02:19:24.353] A26=0x261 A27=0x3f3
    [2024-09-14 02:19:24.368] A28=0x151 A29=0x4c000
    [2024-09-14 02:19:24.368] A30=0x1 A31=0xc0
    [2024-09-14 02:19:24.368] B0=0x1 B1=0x1 ----------------------------- B register file B0-B31 Data Path
    [2024-09-14 02:19:24.368] B2=0x0 B3=0x90b38b2c
    [2024-09-14 02:19:24.368] B4=0x40 B5=0xc
    [2024-09-14 02:19:24.368] B6=0x803208 B7=0x1
    [2024-09-14 02:19:24.368] B8=0x811400 B9=0x202
    [2024-09-14 02:19:24.368] B10=0x800000 B11=0x21c
    [2024-09-14 02:19:24.368] B12=0x40 B13=0x2
    [2024-09-14 02:19:24.384] B14=0x92a3bb00 B15=0xc314e108
    [2024-09-14 02:19:24.384] B16=0x102 B17=0x201
    [2024-09-14 02:19:24.384] B18=0x101 B19=0x18
    [2024-09-14 02:19:24.384] B20=0x100 B21=0x0
    [2024-09-14 02:19:24.384] B22=0x4 B23=0xff
    [2024-09-14 02:19:24.384] B24=0x80 B25=0x80
    [2024-09-14 02:19:24.384] B26=0xfc B27=0xc31ea9bc
    [2024-09-14 02:19:24.384] B28=0xff B29=0xff
    [2024-09-14 02:19:24.384] B30=0x18 B31=0x1
    [2024-09-14 02:19:24.401] NTSR=0x1020f ------------------------------ NMI/Exception Task State Register (NTSR) is used to store the contents of the task state register (TSR) and the conditions under which an exception occurred in the event of a nonmaskable interrupt (NMI) or an exception.
    [2024-09-14 02:19:24.401] ITSR=0x20f ---------------------------------- Interrupt Task State Register (ITSR) ) is used to store the contents of the task state register (TSR) in the event of an interrupt
    [2024-09-14 02:19:24.401] IRP=0x90d22928 ---------------------------- Interrupt Return Pointer Register (IRP) contains the return pointer that directs the CPU to the proper location to continue program execution after processing a maskable interrupt
    [2024-09-14 02:19:24.401] SSR=0x0 ------------------------------------- Saturation Status Register (SSR) provides saturation flags for each functional unit, making it possible for the program to distinguish between saturations caused by different instructions in the same execute packet
    [2024-09-14 02:19:24.401] AMR=0x0 ------------------------------------ Addressing Mode Register (AMR) For each of the eight registers (A4-A7, B4-B7) that can perform linear or circular addressing, the addressing mode register (AMR) specifies the addressing mode
    [2024-09-14 02:19:24.401] RILC=0x0 ------------------------------------- SPLOOP Reload Inner Loop Count Register (RILC) See link
    [2024-09-14 02:19:24.401] ILC=0x0 --------------------------------------- SPLOOP Inner Loop Count Register (ILC) The SPLOOP or SPLOOPD instructions use the SPLOOP inner loop count register

    I do not have much experience with C66 exception handling but the analysis above should help you perhaps gain some more insight. I am consulting internally for additional help.
    Looks like some of the registers of interest would be NRP and IRP perhaps. IERR I believe would be helpful except it is 0 in this case.

    Best

    Josue

  • Hi Josue, 

    Thanks for the clarification, but we are looking more for the program counter (PC) when the exception happened, can we extract the PC information from any of the registers provided in the exception data ?

  • Satish,

    Please see the original response: https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1401366/tda2p-acd-details-on-the-register-dump/5366786#5366786

    Unfortunately PC cannot be deduced from this crash report as far as I know. The way to find this information is in the document I already share using the CCS tool:

    6.2 C66x DSP PC Trace

    The fellow engineer that helped me also recommended watching the following video that uses the newest CCS version:
    How to Debug an Application Crash Using Core Trace in CCS Theia (youtube.com)

    A
    nd there's also  this one as well done by the team that used to support TI RTOS/SYSBIOS and is no longer with TI:

    -Josue

  • Hi Josue , 

    On A15 core   we have a exception  where we are noticing the stack pointer and program counter  address to be same , What are reasons for this behavior, 

    Does the TI OS  have any protection to handle these cases ? 

  • Adding to the above question on the A15 Exception ,  DFSR = 0x00000221 ,  DFAR = 0x4a3d70dd

    could also provide information of this what exception can lead to these faults 

  • Hello Satish,

    I believe that this a ARM core Data abort.

    The SP and PC being the same I believe are expected behavior from the exception Handler:

    See https://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/bios/sysbios/6_46_04_53/exports/bios_6_46_04_53/docs/cdoc/index.html#ti/sysbios/heaps/HeapMem.html

    The core is put in an infinite loop in order to stop the execution at the point the exception happened, or as close as possible.

    To confirm, do you have the following entries in the .cfg file?

    var Exception = xdc.useModule ("ti.sysbios.family.arm.exc.Exception");
    Exception.enableDecode = true;

    From the logs you shared the exception type is 18


    And in reviewing the source code for the module: PROCESSOR_SDK_VISION_03_02_00_00/ti_components/os_tools/bios_6_46_04_53/packages/ti/sysbios/family/arm/exc/Exception.xdc

    The core is trying to access (read or write) an invalid Memory Access.

    Here is a useful FAQ for anylizing this kind of exception.
    https://e2e.ti.com/support/processors-group/processors/f/processors-forum/854484/faq-how-do-i-trace-backward-to-the-code-that-caused-an-exception-in-my-ti-rtos-app

    -Josue