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.

Exception in Evm 6670

Other Parts Discussed in Thread: SYSBIOS

Hi

I got this exception while running my code via JTGA on EVM6670.Please check

regards

Soumya

[C66XX_0] A0=0x0 A1=0x1

[C66XX_0] A2=0x0 A3=0x83cf68b0

[C66XX_0] A4=0x0 A5=0x0

[C66XX_0] A6=0x8 A7=0x0

[C66XX_0] A8=0x14ff0000 A9=0x2

[C66XX_0] A10=0x83cf68b0 A11=0x0

[C66XX_0] A12=0x0 A13=0x0

[C66XX_0] A14=0x0 A15=0x0

[C66XX_0] A16=0x83c51cd4 A17=0x0

[C66XX_0] A18=0x83c51ca4 A19=0x20

[C66XX_0] A20=0x0 A21=0x0

[C66XX_0] A22=0x88a3509c A23=0x88a34e54

[C66XX_0] A24=0x88a34e54 A25=0x0

[C66XX_0] A26=0x5bf500 A27=0x63

[C66XX_0] A28=0x3d57e4 A29=0x63

[C66XX_0] A30=0x83c53e90 A31=0x83d95488

[C66XX_0] B0=0x1 B1=0x66a0010

[C66XX_0] B2=0x0 B3=0x88c9b590

[C66XX_0] B4=0x0 B5=0x0

[C66XX_0] B6=0x83cf68b0 B7=0x83cf6740

[C66XX_0] B8=0x80002928 B9=0x15000102

[C66XX_0] B10=0x83cf68a8 B11=0x0

[C66XX_0] B12=0x0 B13=0x0

[C66XX_0] B14=0x88d34ca8 B15=0x83cf6880

[C66XX_0] B16=0x88a24a6c B17=0x0

[C66XX_0] B18=0x0 B19=0x3ff00000

[C66XX_0] B20=0x0 B21=0x801182c8

[C66XX_0] B22=0xf B23=0x0

[C66XX_0] B24=0x40008000 B25=0xa

[C66XX_0] B26=0x3fd678 B27=0x88a34f88

[C66XX_0] B28=0x88824b74 B29=0x0

[C66XX_0] B30=0x1 B31=0x83c51e8c

[C66XX_0] NTSR=0x1020f

[C66XX_0] ITSR=0xf

[C66XX_0] IRP=0x88cda294

[C66XX_0] SSR=0x0

[C66XX_0] AMR=0x0

[C66XX_0] RILC=0x0

[C66XX_0] ILC=0x0

[C66XX_0] Exception at 0x0

[C66XX_0] EFR=0x2 NRP=0x0

[C66XX_0] Internal exception: IERR=0x1

[C66XX_0] Instruction fetch exception

[C66XX_0] ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x88cda294, sp = 0x83cf6880.

[C66XX_0] To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'

[C66XX_0] xdc.runtime.Error.raise: terminating execution

  • Soumya,

    As you probably know, this is a hardware exception from the controller and the message is spawned by SYSBIOS exception controller.

    This exception is generated when an attempt to fetch an instruction from memory fails (check chapter 7 of SPRUGH7).

    As the error message suggests, you can check the ROV to try to obtain further details about its root cause. Also, the error shows the PC is located in external memory (pc=0x88cda294), therefore it is possible that something misconfigured the external EMIF peripheral during execution.

    Since this issue is very tied to the hardware, we at the CCS forum will not be able to help you much further. I will then move this thread to the device forum so the experts there will be able to give a more precise assessment and possible causes, ok?

    Best regards,

    Rafael

  • Hello Rafael,

    Thanks for your response.

    Unfortunately I cant use ROV to debug this as the binary is built in command line linux env and the loaded onto EVM6670 as external program.

    So i need to find ways to debug this problem without any GUI method. I will definitely wait for the HW team to response while I dig into more details of this exception dump.

    Also I have enabled exception print and will be posting it soon.

    regards

    Soumya

  • Soumya,

    Can you hook up an emulator open a dissassembly window to the location listed by the PC register in the dump and provide a screenshot of the window (grab at least 8 instructions before and 12 instructions after if you can.)

    A few other questions:

    How is DDR3 being configured?

    How are you loading code?

    Are you verifying that the code load was correct?

    Usually something like this is going to be do to corrupt data at the location, in this case in the DDR3 memory, and often the mistake is that the DDR didn't get configured, or was configured incorrectly.

    Best Regards,

    Chad

  • Hi Chad,

    Please find below the exception and the disassembly output.

    To answer your questions: I am generating the binary using linux command line build with CCS library and loading it as external program in CCS GUI.

    Once loaded properly, I get the play/run option in the debug window. Regarding DDR3 your doubt can be true that its not properly configured. Actually all most all sections of the executables I have kept in DDR. Please check below cfg file.

    Also to add, this happened once I added  (Timer->HWI->SWI->App code) support in my code.Looks to me it happened during timeout.

    894da3bc:   E0300000            .fphead       p, l, W, BU, nobr, nosat, 0000001b

              $C$L479:

    894da3c0:   050403E2            MVC.S2        CSR,B10

    894da3c4:   02282FDA            OR.L2         1,B10,B4

    894da3c8:   009003A2            MVC.S2        B4,CSR

    894da3cc:   01E01228            MVK.S1        0xffffc024,A3

    894da3d0:   01C4A968            MVKH.S1       0x89520000,A3

    894da3d4:   020C0264            LDW.D1T1      *+A3[0],A4

    894da3d8:   058C8058            ADD.L1        4,A3,A11

    894da3dc:   00004000            NOP           3

    894da3e0:   1226                CMPLT.L1      0,A4,A0

    894da3e2:   883A         [!A0]  BNOP.S1       $C$DW$L$ti_sysbios_knl_Idle_loop__E$4$E (PC+64 = 0x894da420),4

    894da3e4:   C58C1FDB ||  [ A0]  MV.L2X        A3,B11

    894da3e8:   C1AC0265 ||  [ A0]  LDW.D1T1      *+A11[0],A3

    894da3ec:   C500A358 ||  [ A0]  MVK.L1        0,A10

    894da3f0:   C18D4A64     [ A0]  LDW.D1T1      *+A3[A10],A3

              $C$DW$L$ti_sysbios_knl_Idle_loop__E$2$E, $C$DW$L$ti_sysbios_knl_Idle_loop__E$3$B:

    894da3f4:   00006000            NOP           4

    894da3f8:   000C1362            B.S2X         A3

    894da3fc:   E0208002            .fphead       n, l, W, BU, br, nosat, 0000001b

    894da400:   01818162            ADDKPC.S2     $C$RL365 (PC+4 = 0x894da404),B3,4

              $C$DW$L$ti_sysbios_knl_Idle_loop__E$3$E, $C$RL365:

    894da404:   022C02E6            LDW.D2T2      *+B11[0],B4

    894da408:   05282058            ADD.L1        1,A10,A10

    894da40c:   00004000            NOP           3

    894da410:   002898FA            CMPGT.L2X     B4,A10,B0

    894da414:   2FFD8121     [ B0]  BNOP.S1       $C$DW$L$ti_sysbios_knl_Idle_loop__E$3$B (PC-12 = 0x894da3f4),4

    894da418:   21AC0264 ||  [ B0]  LDW.D1T1      *+A11[0],A3

    894da41c:   218D4A64     [ B0]  LDW.D1T1      *+A3[A10],A3

              $C$DW$L$ti_sysbios_knl_Idle_loop__E$4$E, $C$L481:

    894da420:   00A803A2            MVC.S2        B10,CSR

    894da424:   003C4286            LDHU.D2T2     *+B15[2],B0

    894da428:   00006000            NOP           4

    894da42c:   2FD0A120     [ B0]  BNOP.S1       $C$L479 (PC-96 = 0x894da3c0),5

              $C$DW$L$ti_sysbios_knl_Idle_loop__E$5$E:

    894da430:   01BCD2E6            LDW.D2T2      *++B15[6],B3

    894da434:   0C6E                NOP           1

    894da436:   D577                LDDW.D2T2     *++B15[1],B11:B10

    894da438:   6577                LDW.D2T1      *++B15[2],A10

    894da43a:   65F7                LDW.D2T1      *++B15[2],A11

    894da43c:   EC000000            .fphead       n, l, W, BU, nobr, nosat, 1100000b

    894da440:   008CA362            BNOP.S2       B3,5

    894da444:   00000000            NOP          

    894da448:   00000000            NOP          

    894da44c:   00000000            NOP          

    894da450:   00000000            NOP          

     

     

    ------ Console log: ----

     [C66XX_0] A0=0x0 A1=0x1

    [C66XX_0] A2=0x0 A3=0x83cf68b0

    [C66XX_0] A4=0x0 A5=0x0

    [C66XX_0] A6=0x8 A7=0x0

    [C66XX_0] A8=0x14ff0000 A9=0x2

    [C66XX_0] A10=0x83cf68b0 A11=0x0

    [C66XX_0] A12=0x0 A13=0x0

    [C66XX_0] A14=0x0 A15=0x0

    [C66XX_0] A16=0x83c51cd4 A17=0x0

    [C66XX_0] A18=0x83c51ca4 A19=0x20

    [C66XX_0] A20=0x0 A21=0x0

    [C66XX_0] A22=0x88a3509c A23=0x88a34e54

    [C66XX_0] A24=0x88a34e54 A25=0x0

    [C66XX_0] A26=0x5bf500 A27=0x63

    [C66XX_0] A28=0x3d57e4 A29=0x63

    [C66XX_0] A30=0x83c53e90 A31=0x83d937a0

    [C66XX_0] B0=0x1 B1=0x66a0010

    [C66XX_0] B2=0x0 B3=0x8949b6f0

    [C66XX_0] B4=0x0 B5=0x0

    [C66XX_0] B6=0x83cf68b0 B7=0x83cf6740

    [C66XX_0] B8=0x80002928 B9=0x15000102

    [C66XX_0] B10=0x83cf68a8 B11=0x0

    [C66XX_0] B12=0x0 B13=0x0

    [C66XX_0] B14=0x895350b8 B15=0x83cf6880

    [C66XX_0] B16=0x88a24a6c B17=0x0

    [C66XX_0] B18=0x0 B19=0x3ff00000

    [C66XX_0] B20=0x0 B21=0xc020080

    [C66XX_0] B22=0xf B23=0x0

    [C66XX_0] B24=0x54044118 B25=0x54ce2056

    [C66XX_0] B26=0x8010516 B27=0x88a34f88

    [C66XX_0] B28=0x88824b74 B29=0x0

    [C66XX_0] B30=0x1 B31=0x83c51e8c

    [C66XX_0] NTSR=0x1020f

    [C66XX_0] ITSR=0xf

    [C66XX_0] IRP=0x894da420

    [C66XX_0] SSR=0x0

    [C66XX_0] AMR=0x0

    [C66XX_0] RILC=0x0

    [C66XX_0] ILC=0x0

    [C66XX_0] Exception at 0x0

    [C66XX_0] EFR=0x2 NRP=0x0

    [C66XX_0] Internal exception: IERR=0x1

    [C66XX_0] Instruction fetch exception

    [C66XX_0] ti.sysbios.family.c64p.Exception: line 248: E_exceptionMin: pc = 0x894da420, sp = 0x83cf6880.

    [C66XX_0] To see more exception detail, use ROV or set 'ti.sysbios.family.c64p.Exception.enablePrint = true;'

    [C66XX_0] xdc.runtime.Error.raise: terminating execution

     

    ------------------- CFG file ----------------

    /*
    ** Create a Heap.
    */
    var HeapMem = xdc.useModule('ti.sysbios.heaps.HeapMem');
    var heapMemParams = new HeapMem.Params();
    heapMemParams.size = 0x8000000;
    heapMemParams.sectionName = "systemHeap";
    Program.global.heap0 = HeapMem.create(heapMemParams);

    /* Create a heap and register it with MessageQ */
    Program.global.HEAPID = 0;
    MessageQ.registerHeapMeta(Program.global.heap0, Program.global.HEAPID);

    /* System stack size (used by ISRs and Swis) */
    /* Program.stack = 0x80000; */
    Program.stack = 0xA00000; /* 10 MB */

    /* This is the default memory heap. */
    Memory.defaultHeapInstance = Program.global.heap0;
    Program.sectMap["sharedL2"] = "DDR3";
    Program.sectMap["systemHeap"] = "DDR3";
    Program.sectMap[".sysmem"] = "DDR3";
    Program.sectMap[".args"] = "DDR3";
    Program.sectMap[".cio"] = "DDR3";
    Program.sectMap[".far"] = "DDR3";
    Program.sectMap[".rodata"] = "DDR3";
    Program.sectMap[".neardata"]= "DDR3";
    Program.sectMap[".cppi"] = "DDR3";
    Program.sectMap[".init_array"] = "DDR3";
    Program.sectMap[".qmss"] = "DDR3";
    Program.sectMap[".cinit"] = "DDR3";
    Program.sectMap[".bss"] = "DDR3";
    Program.sectMap[".const"] = "DDR3";
    Program.sectMap[".text"] = "DDR3";
    Program.sectMap[".code"] = "DDR3";
    Program.sectMap[".switch"] = "DDR3";
    Program.sectMap[".data"] = "DDR3";
    Program.sectMap[".fardata"] = "DDR3";

    Program.sectMap[".args"] = "DDR3";
    Program.sectMap[".cio"] = "DDR3";
    Program.sectMap[".vecs"] = "DDR3";
    Program.sectMap["platform_lib"] = "DDR3";
    Program.sectMap[".DbgSection"] = "DDR3";
    Program.sectMap[".far:NDK_PACKETMEM"] = {loadSegment: "MSMCSRAM", loadAlign: 128};
    /* Program.sectMap[".far:taskStackSection"] = "MSMCSRAM"; */
    Program.sectMap[".stack"] = "DDR3";
    Program.sectMap[".nimu_eth_ll2"] = "L2SRAM";
    Program.sectMap[".resmgr_memregion"] = {loadSegment: "L2SRAM", loadAlign:128}; /* QMSS descriptors region */
    Program.sectMap[".resmgr_handles"] = {loadSegment: "L2SRAM", loadAlign:16}; /* CPPI/QMSS/PA Handles */
    Program.sectMap[".resmgr_pa"] = {loadSegment: "L2SRAM", loadAlign:8}; /* PA Memory */
    Program.sectMap[".far:IMAGEDATA"] = {loadSegment: "MSMCSRAM", loadAlign: 8};
    Program.sectMap[".far:NDK_OBJMEM"] = {loadSegment: "MSMCSRAM", loadAlign: 8};

    /* Required if using System_printf to output on the console */
    SysStd = xdc.useModule('xdc.runtime.SysStd');
    System.SupportProxy = SysStd;

  • Soumya,

    Thanks for the dump, but I'm going to have to ask you to do it again, and this time showing the Dissassembly around the value in the B3 register.  In the C6x architecture B3 holds the return pointer of the call.  Some call is jumping to 0x0, so that's where we should be looking (i.e. B3 holds the PC of where the failure occurred, the current PC is the Exception Handler.)

    Best Regards,
    Chad

  • Hi Chad

     

    Please find the dump below.

    B3 = 0x8949b6f0

    ......... ...

    8949b578:   0200D88E            LDHU.D2T2     *+B15[216],B4

    8949b57c:   E2200002            .fphead       n, l, W, BU, nobr, nosat, 0010001b

    8949b580:   10414713            CALLP.S2      CEntityIdentity (PC+133688 = 0x894bbfb8),B3

    8949b584:   0301B29D ||         LDBU.D2T1     *+B15[434],A6

    8949b588:   12006DFC ||         ADDAW.D1X     B15,109,A4

              $C$RL23:

    8949b58c:   10A57013            CALLP.S2      CEntityIdentity (PC+338816 = 0x894ee100),B3

    8949b590:   120068FD ||         ADDAW.D1X     B15,104,A4

    8949b594:   12006DFE ||         ADDAW.D2      B15,109,B4

              $C$RL24:

    8949b598:   02101FDB            MV.L2X        A4,B4

    8949b59c:   022E5E28 ||         MVK.S1        0x5cbc,A4

    8949b5a0:   1F885913            CALLP.S2      getEntity (PC-245048 = 0x8945f868),B3

    8949b5a4:   024451E8 ||         MVKH.S1       0x88a30000,A4

              $C$RL25:

    8949b5a8:   10414B13            CALLP.S2      ~CEntityIdentity (PC+133720 = 0x894bbff8),B3

    8949b5ac:   02006AFD ||         STW.D2T1      A4,*+B15[106]

    8949b5b0:   120068FC ||         ADDAW.D1X     B15,104,A4

              $C$RL26:

    8949b5b4:   02006AEE            LDW.D2T2      *+B15[106],B4

    8949b5b8:   02006FFE            STW.D2T2      B4,*+B15[111]

    8949b5bc:   E0100000            .fphead       p, l, W, BU, nobr, nosat, 0000000b

    8949b5c0:   0067A120            BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$11$E (PC+206 = 0x8949b68e),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$6$E, $C$L10:

    8949b5c4:   024CEAAA            MVK.S2        0xffff99d5,B4

    8949b5c8:   0244A96A            MVKH.S2       0x89520000,B4

    8949b5cc:   1060B013            CALLP.S2      RLC_TRC_DEBUG (PC+198016 = 0x894cbb40),B3

    8949b5d0:   023C22F6 ||         STW.D2T2      B4,*+B15[1]

              $C$RL27:

    8949b5d4:   00006FEE            LDW.D2T2      *+B15[111],B0

    8949b5d8:   3072A120     [!B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$13$E (PC+228 = 0x8949b6a4),5

    8949b5dc:   E0100000            .fphead       p, l, W, BU, nobr, nosat, 0000000b

              $C$DW$L$_ZN15RlcUplinkThread3runEv$8$E:

    8949b5e0:   10392813            CALLP.S2      Lock (PC+117056 = 0x894b7f20),B3

    8949b5e4:   02001FD8 ||         MV.L1X        B0,A4

              $C$RL28:

    8949b5e8:   03006FEE            LDW.D2T2      *+B15[111],B6

    8949b5ec:   02006BEE            LDW.D2T2      *+B15[107],B4

    8949b5f0:   02BD42E6            LDW.D2T2      *+B15[10],B5

    8949b5f4:   03806BEE            LDW.D2T2      *+B15[107],B7

    8949b5f8:   02006FEC            LDW.D2T1      *+B15[111],A4

    8949b5fc:   031802E6            LDW.D2T2      *+B6[0],B6

    8949b600:   6C6E                NOP           4

    8949b602:   D15D                LDW.D2T2      *B6[6],B5

    8949b604:   0310A0FA ||         SUB.L2        B5,B4,B6

    8949b608:   0FBCE07A            ADD.L2        B7,B15,B31

    8949b60c:   03FCDEC2            ADDAD.D2      B31,0x6,B7

    8949b610:   9363                EXTU.S2       B6,16,16,B4

    8949b612:   2727                MVK.L2        1,B6

    8949b614:   02EF                BNOP.S2       B5,0

    8949b616:   D3C6                MV.L1X        B7,A6

    8949b618:   01886162            ADDKPC.S2     $C$RL29 (PC+32 = 0x8949b620),B3,3

    8949b61c:   E6200002            .fphead       n, l, W, BU, nobr, nosat, 0110001b

              $C$RL29:

    8949b620:   10392313            CALLP.S2      Unlock (PC+117016 = 0x894b7f38),B3

    8949b624:   02006FEC ||         LDW.D2T1      *+B15[111],A4

              $C$RL30:

    8949b628:   0021A120            BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$13$E (PC+132 = 0x8949b6a4),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$9$E, $C$L11:

    8949b62c:   024CF12A            MVK.S2        0xffff99e2,B4

    8949b630:   0244A96A            MVKH.S2       0x89520000,B4

    8949b634:   1060A413            CALLP.S2      RLC_TRC_DEBUG (PC+197920 = 0x894cbb40),B3

    8949b638:   023C22F6 ||         STW.D2T2      B4,*+B15[1]

              $C$RL31:

    8949b63c:   00006FEE            LDW.D2T2      *+B15[111],B0

    8949b640:   00006000            NOP           4

    8949b644:   3019A120     [!B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$13$E (PC+100 = 0x8949b6a4),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$10$E:

    8949b648:   10391C13            CALLP.S2      Lock (PC+116960 = 0x894b7f20),B3

    8949b64c:   02001FD8 ||         MV.L1X        B0,A4

              $C$RL32:

    8949b650:   02006FEE            LDW.D2T2      *+B15[111],B4

    8949b654:   02806BEE            LDW.D2T2      *+B15[107],B5

    8949b658:   03BD42E6            LDW.D2T2      *+B15[10],B7

    8949b65c:   03006BEE            LDW.D2T2      *+B15[107],B6

    8949b660:   02006FEC            LDW.D2T1      *+B15[111],A4

    8949b664:   104D                LDW.D2T2      *B4[0],B4

    8949b666:   6C6E                NOP           4

    8949b668:   023CA07B            ADD.L2        B5,B15,B4

    8949b66c:   D05D     ||         LDW.D2T2      *B4[6],B5

    8949b66e:   EB61                SUB.L2        B7,B6,B6

    8949b670:   0390DEC2            ADDAD.D2      B4,0x6,B7

    8949b674:   9363                EXTU.S2       B6,16,16,B4

    8949b676:   D3C6                MV.L1X        B7,A6

    8949b678:   02EF                BNOP.S2       B5,0

    8949b67a:   6727                MVK.L2        3,B6

    8949b67c:   ED400000            .fphead       n, l, W, BU, nobr, nosat, 1101010b

    8949b680:   01816162            ADDKPC.S2     $C$RL33 (PC+4 = 0x8949b684),B3,3

              $C$RL33:

    8949b684:   10391713            CALLP.S2      Unlock (PC+116920 = 0x894b7f38),B3

    8949b688:   02006FEC ||         LDW.D2T1      *+B15[111],A4

              $C$RL34:

    8949b68c:   A48A                BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$13$E (PC+36 = 0x8949b6a4),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$11$E, $C$L12:

    8949b68e:   BD4D                LDW.D2T2      *B15[9],B4

    8949b690:   6C6E                NOP           4

    8949b692:   2227                CMPEQ.L2      1,B4,B0

    8949b694:   2FD6A120     [ B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$9$E (PC-84 = 0x8949b62c),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$12$E:

    8949b698:   0010CA5A            CMPEQ.L2      6,B4,B0

    8949b69c:   E3008000            .fphead       n, l, W, BU, br, nosat, 0011000b

    8949b6a0:   2FC9A120     [ B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$6$E (PC-220 = 0x8949b5c4),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$13$E, $C$L13:

    8949b6a4:   10412B13            CALLP.S2      ~CEntityIdentity (PC+133464 = 0x894bbff8),B3

    8949b6a8:   12006DFC ||         ADDAW.D1X     B15,109,A4

              $C$RL35:

    8949b6ac:   0F92A120            BNOP.S1       $C$L8 (PC-440 = 0x8949b4e8),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$14$E, $C$L14:

    8949b6b0:   024CF7AA            MVK.S2        0xffff99ef,B4

    8949b6b4:   0244A96A            MVKH.S2       0x89520000,B4

    8949b6b8:   1FDFE613            CALLP.S2      PAL_LOG (PC-65744 = 0x8948b5d0),B3

    8949b6bc:   023C22F7 ||         STW.D2T2      B4,*+B15[1]

    8949b6c0:   020CA358 ||         MVK.L1        3,A4

              $C$RL36:

    8949b6c4:   0F14A120            BNOP.S1       $C$L8 (PC-472 = 0x8949b4e8),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$15$E, $C$L15:

    8949b6c8:   11800CFC            ADDAW.D1X     B15,12,A3

    8949b6cc:   018068FC            STW.D2T1      A3,*+B15[104]

    8949b6d0:   91C7                MV.L2X        A3,B4

    8949b6d2:   104D                LDW.D2T2      *B4[0],B4

    8949b6d4:   81C6                MV.L1         A3,A4

    8949b6d6:   004C                LDW.D1T1      *A4[0],A4

    8949b6d8:   2C6E                NOP           2

    8949b6da:   104D                LDW.D2T2      *B4[0],B4

    8949b6dc:   EE000000            .fphead       n, l, W, BU, nobr, nosat, 1110000b

    8949b6e0:   6C6E                NOP           4

    8949b6e2:   505D                LDW.D2T2      *B4[2],B5

    8949b6e4:   020C2266            LDW.D1T2      *+A3[1],B4

    8949b6e8:   4C6E                NOP           3

    8949b6ea:   02EF                BNOP.S2       B5,0

    8949b6ec:   01848162            ADDKPC.S2     $C$RL37 (PC+16 = 0x8949b6f0),B3,4

              $C$RL37:

    8949b6f0:   0F04A120            BNOP.S1       $C$L8 (PC-504 = 0x8949b4e8),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$16$E, $C$L16:

    8949b6f4:   DCCD                LDW.D2T2      *B15[6],B4

    8949b6f6:   6C6E                NOP           4

    8949b6f8:   00102A5A            CMPEQ.L2      1,B4,B0

    8949b6fc:   E4A00000            .fphead       n, l, W, BU, nobr, nosat, 0100101b

    8949b700:   2FF2A120     [ B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$15$E (PC-56 = 0x8949b6c8),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$18$E:

    8949b704:   00104A5A            CMPEQ.L2      2,B4,B0

    8949b708:   2F84A120     [ B0]  BNOP.S1       $C$DW$L$_ZN15RlcUplinkThread3runEv$3$E (PC-496 = 0x8949b510),5

              $C$DW$L$_ZN15RlcUplinkThread3runEv$19$E:

    8949b70c:   0F7AA120            BNOP.S1       $C$L8 (PC-536 = 0x8949b4e8),5

              __sti___19_RlcUplinkThread_cpp_0b2ae32b:

    8949b710:   01BC94F6            STW.D2T2      B3,*B15--[4]

    8949b714:   022EDC2A            MVK.S2        0x5db8,B4

    8949b718:   024451EA            MVKH.S2       0x88a30000,B4

    8949b71c:   00000000            NOP          

    8949b720:   1FCECC13            CALLP.S2      Init (PC-100768 = 0x89482d80),B3

    8949b724:   02101FD8 ||         MV.L1X        B4,A4

              $C$RL38:

    8949b728:   022EDC2A            MVK.S2        0x5db8,B4

    8949b72c:   027FA029            MVK.S1        0xffffff40,A4

    8949b730:   024451EA ||         MVKH.S2       0x88a30000,B4

    8949b734:   108E2413            CALLP.S2      __TI_atexit (PC+291104 = 0x894e2840),B3

    8949b738:   0244A569            MVKH.S1       0x894a0000,A4

    8949b73c:   1300267C ||         ADDAW.D1X     B14,38,A6

              $C$RL39:

    8949b740:   022EDCA8            MVK.S1        0x5db9,A4

    8949b744:   1FDEA413            CALLP.S2      _Winit (PC-68320 = 0x8948ac60),B3

    8949b748:   024451E8 ||         MVKH.S1       0x88a30000,A4

              $C$RL40:

    8949b74c:   022EDCAA            MVK.S2        0x5db9,B4

    8949b750:   027E7029            MVK.S1        0xfffffce0,A4

    8949b754:   024451EA ||         MVKH.S2       0x88a30000,B4

    8949b758:   108E2013            CALLP.S2      __TI_atexit (PC+291072 = 0x894e2840),B3

    8949b75c:   0244A569 ||         MVKH.S1       0x894a0000,A4

    8949b760:   1300267C ||         ADDAW.D1X     B14,38,A6

              $C$RL41:

    8949b764:   01BC92E6            LDW.D2T2      *++B15[4],B3

    8949b768:   00006000            NOP           4

    8949b76c:   008CA362            BNOP.S2       B3,5

    8949b770:   00000000            NOP          

    8949b774:   00000000            NOP          

    8949b778:   00000000            NOP          

    8949b77c:   00000000            NOP          

              pppoeInputC:

    8949b780:   27F7                STW.D2T1      A15,*B15--[2]

    8949b782:   3677                STW.D2T2      B12,*B15--[2]

    8949b784:   9577                STDW.D2T2     B11:B10,*B15--[1]

    8949b786:   31F7                STW.D2T2      B3,*B15--[2]

    8949b788:   2777                STW.D2T1      A14,*B15--[2]

    8949b78a:   8677                STDW.D2T1     A13:A12,*B15--[1]

    8949b78c:   8577                STDW.D2T1     A11:A10,*B15--[1]

    8949b78e:   8CF7                SUBAW.D2      B15,0x4,B15

    8949b790:   6646                MV.L1         A4,A11

    8949b792:   024E     ||         MV.S1         A4,A0

    8949b794:   D1948121     [!A0]  BNOP.S1       $C$L95 (PC+808 = 0x8949baa8),4

    8949b798:   C1AD2265 ||  [ A0]  LDW.D1T1      *+A11[9],A3

    8949b79c:   E3E00100            .fphead       n, l, W, BU, nobr, nosat, 0011111b

    8949b7a0:   0580976E            LDW.D2T2      *+B14[151],B11

    8949b7a4:   000ECBD8            CMPLTU.L1     0x16,A3,A0

    8949b7a8:   C184A120     [ A0]  BNOP.S1       $C$L95 (PC+776 = 0x8949baa8),5

    8949b7ac:   022C6265            LDW.D1T1      *+A11[3],A4

    8949b7b0:   A586     ||         MV.L1         A11,A5

    8949b7b2:   E0DC                LDW.D1T1      *A5[7],A5

    8949b7b4:   6C6E                NOP           4

    8949b7b6:   A270                ADD.L1        A5,A4,A7

    8949b7b8:   0210A078            ADD.L1        A5,A4,A4

    8949b7bc:   E6000000            .fphead       n, l, W, BU, nobr, nosat, 0110000b

    8949b7c0:   068C80F8            SUB.L1        A4,A3,A13

    8949b7c4:   23BC                LDHU.D1T1     *A7[1],A3

    8949b7c6:   6C6E                NOP           4

    8949b7c8:   020D09A0            SHRU.S1       A3,0x8,A4

    8949b7cc:   018F1008            EXTU.S1       A3,24,16,A3

    8949b7d0:   6230                ADD.L1        A3,A4,A3

    8949b7d2:   51E2                EXTU.S1       A3,16,16,A2

    8949b7d4:   022EFD42            ADDAW.D2      B11,0x17,B4

    8949b7d8:   02100286            LDHU.D2T2     *+B4[0],B4

    8949b7dc:   E2420000            .fphead       n, l, W, HU, nobr, nosat, 0010010b

    8949b7e0:   057CA35A            MVK.L2        -1,B10

    8949b7e4:   0500A358            MVK.L1        0,A10

    8949b7e8:   00002000            NOP           2

    8949b7ec:   02900A5A            CMPEQ.L2      0,B4,B5

    8949b7f0:   02089A7A            CMPEQ.L2X     B4,A2,B4

    8949b7f4:   00148FFA            OR.L2         B4,B5,B0

    8949b7f8:   30B9A120     [!B0]  BNOP.S1       $C$RL71 (PC+740 = 0x8949bac4),5

    ......... ...

              C$$EXIT, abort:

    89519080:   00000000            NOP          

              $C$L1:

    89519084:   0001A120            BNOP.S1       $C$L1 (PC+4 = 0x89519084),5

    89519088:   00000000            NOP          

    8951908c:   00000000            NOP          

    89519090:   00000000            NOP          

    89519094:   00000000            NOP          

    89519098:   00000000            NOP          

    8951909c:   00000000            NOP          

              atexit:

    895190a0:   01BC94F7            STW.D2T2      B3,*B15--[4]

    895190a4:   1F92F413 ||         CALLP.S2      __TI_atexit (PC-223328 = 0x894e2840),B3

    895190a8:   0627     ||         MVK.L2        0,B4

    895190aa:   0726     ||         MVK.L1        0,A6

    895190ac:   01BC92E6            LDW.D2T2      *++B15[4],B3

    895190b0:   0626                MVK.L1        0,A4

    895190b2:   4C6E                NOP           3

    895190b4:   008CA362            BNOP.S2       B3,5

    895190b8:   00000000            NOP          

    895190bc:   E2800010            .fphead       n, l, W, BU, nobr, nosat, 0010100b

              cppi_list_get_head:

    895190c0:   000C0362            B.S2          B3

    895190c4:   02100264            LDW.D1T1      *+A4[0],A4

    895190c8:   00006000            NOP           4

    895190cc:   00000000            NOP          

    895190d0:   00000000            NOP          

    895190d4:   00000000            NOP          

    895190d8:   00000000            NOP          

    895190dc:   00000000            NOP          

              cppi_list_get_next:

    895190e0:   000C0362            B.S2          B3

    895190e4:   02100264            LDW.D1T1      *+A4[0],A4

    895190e8:   00006000            NOP           4

    895190ec:   00000000            NOP          

    895190f0:   00000000            NOP          

    895190f4:   00000000            NOP          

    895190f8:   00000000            NOP          

    895190fc:   00000000            NOP          

              __TI_decompress_none:

    89519100:   02906059            ADD.L1        3,A4,A5

    89519104:   0F8EF010 ||         B.S1          memcpy (PC-231552 = 0x894e0880)

    89519108:   03140264            LDW.D1T1      *+A5[0],A6

    ......... ...

  • B5 = 0x00000000

              $C$DW$L$_ZN15RlcUplinkThread3runEv$15$E, $C$L15:

    8949b6c8:   11800CFC            ADDAW.D1X     B15,12,A3

    8949b6cc:   018068FC            STW.D2T1      A3,*+B15[104]

    8949b6d0:   91C7                MV.L2X        A3,B4

    8949b6d2:   104D                LDW.D2T2      *B4[0],B4

    8949b6d4:   81C6                MV.L1         A3,A4

    8949b6d6:   004C                LDW.D1T1      *A4[0],A4

    8949b6d8:   2C6E                NOP           2

    8949b6da:   104D                LDW.D2T2      *B4[0],B4

    8949b6dc:   EE000000            .fphead       n, l, W, BU, nobr, nosat, 1110000b

    8949b6e0:   6C6E                NOP           4

    8949b6e2:   505D                LDW.D2T2      *B4[2],B5

    8949b6e4:   020C2266            LDW.D1T2      *+A3[1],B4

    8949b6e8:   4C6E                NOP           3

    8949b6ea:   02EF                BNOP.S2       B5,0

    8949b6ec:   01848162            ADDKPC.S2     $C$RL37 (PC+16 = 0x8949b6f0),B3,4

              $C$RL37:

    8949b6f0:   0F04A120            BNOP.S1       $C$L8 (PC-504 = 0x8949b4e8),5

    The instruction at 0x8949B6EA is what's causing the problem.  I'm not sure if it's not a valid generated code or that you had a corruption.  I'd load it in the simulator and take a look at that address and see if it's the same opcode loaded. 

    If you take a look at the dump B5 is 0x0, this instruction is trying to branch to B5 or 0x0, note that it's BNOP B5, 0 so there's 0 states NOP's extra executed so the branch isn't going to be taken until it's sitting at 0x8949B6F0 (when it's doing the BNOP Addres, 5 (sitting in it's delay slots for the branch.)  Also, note that before the BNOP B5, 0 there wasn't a moving of the PC value w/ offset (ADDKPC) to the B3 register, so nothing had saved a return pointer, and so the BNOP doesn't make since for that reason either.  Also, the fact that it's actual branch time is going to be during the delay slots of another branch outside of the routine, would not be generated (i.e. it would branch to the location in B5 and 3 cycles later it would have branched to 0x8949B6C8 from the other branch instruction.)

    Again, I'd check this in the simulator first to see what the instruction should actually be, but it would appear to me that you're having DDR corruption.

    The GEL file with the EVM can be used to configure the DDR - load the GEL file and use the Init_EMIF_EVM hotmenu.

    Best Regards,
    Chad