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.

Cannot run DVRRDK4.0 VDEC + VDIS demo on custom DM8168 board

Hi,

   We have designed a custom DM8168 board.  The filesystem and kernel can be booted sucessfully.  We also tried to run OMX demo (decode and display) in EZSDK5.05 and everything goes well.

   I manage to test whether the board works well with DVRRDK4.0.   After loading the kernel, successfully mounting the DVRRDK_4_00 filesystem, I tried to run a VDEC + VDIS demo on the custom DM8168 board.  Although I could init the system and load the module(images) by using the init.sh and load.sh, the VDEC + VDIS demo unexpectedly hung:

.......

 [FBDEV] grpx_fb_draw ...
 [FBDEV] grpx_fb_draw ... Done !!!
 [FBDEV] FB: Start DONE !!!
 [FBDEV]
 [m3vpss ] Unhandled Exception:
 [m3vpss ] Exception occurred in ThreadType_SWI
 [m3vpss ] handle: 0x3ecb2bcc.
 [m3vpss ] stack base: 0x9dc5ada4.
 [m3vpss ] stack size: 0x4000.
 [m3vpss ] R0 = 0x00cb3800  R8  = 0x9da3411c
 [m3vpss ] R1 = 0x00000000  R9  = 0x9da34114
 [m3vpss ] R2 = 0x9dc5abb8  R10 = 0x9da3461c
 [m3vpss ] R3 = 0x3ecb3704  R11 = 0x9da346c4
 [m3vpss ] R4 = 0x00cb3800  R12 = 0x00000000
 [m3vpss ] R5 = 0x00000000  SP(R13) = 0x9dc5ec58
 [m3vpss ] R6 = 0x3ecb36a8  LR(R14) = 0x9da11fdb
 [m3vpss ] R7 = 0x9dc56d50  PC(R15) = 0x9da12016
 [m3vpss ] PSR = 0x01000000
 [m3vpss ] ICSR = 0x00400803
 [m3vpss ] MMFSR = 0x00
 [m3vpss ] BFSR = 0x82
 [m3vpss ] UFSR = 0x0000
 [m3vpss ] HFSR = 0x40000000
 [m3vpss ] DFSR = 0x00000000
 [m3vpss ] MMAR = 0x00cb3840
 [m3vpss ] BFAR = 0x00cb3840
 [m3vpss ] AFSR = 0x00000000
 [m3vpss ] Terminating Execution...
====【System hangs】======

   Then, I retried, restarting the system and trying to run the demo with identical steps as before.  Unfortunately, I could not get the HDMI displayed.  Instead, I have got some pieces of different error information which was casted on the terminal:

Case 1:

.......

 [m3vpss ]  26314: Assertion @ Line: 1333 in links_m3vpss/avsync/avsync_m3vpss.c: queObj->playerTime->state == AVSYNC_PLAYERTIME_STATE_INIT : failed !!!

====【System hangs】======


Case 2:

......

[m3vpss ]  206740: Assertion @ Line: 1327 in links_m3vpss/avsync/avsync_m3vpss.c: queObj->cfg->chNum == cp->chNum : failed !!!

====【System hangs】======

  I was confused since these errors occured haphazardly.  The linux kernel and filesystem in our custom board are the same as the EVM8168's.

  I have no idea with these issues.  Could you give me a hand?

Naroah

Sep/11/2013

  • It looks like DDR is unstable on your board.

    Check your DMM LISA setting is correct . If you are using 2GB DVR RDK build, try with 1GB build and check if there is change in behavior.

    ENsure you have done DDR byte wise s/w leveling on your board. as indicated in the DDR3_Init_Procedure guideline.

    Ensure you use uboot/uImage and tool chain that is part of DVR RDK 4.0 release and you are not using ezSDK versions.

    Ensure you are building with the correct DVR board type. (EVM/DVR board) depending on which conifugration matches your board.

  • Barid,

        Thank you for your reply!

        1. Our DMM LISA setttings are the same as settings of EVM8168.

        2. The u-boot/uImage and tool chain are DVRRDK40 versions (or, in DVRRDK40 packages).

        3. The DVR board type was set correctly.

        However, we have not tried to tune the DDRIII phy yet.  I would like to follow the steps in http://processors.wiki.ti.com/index.php/DM816x_C6A816x_AM389x_DDR3_Init and have a try.

        I would like to report my progress in this post all the same.

    Naroah

    Sep/12/2013

  • Hi Badri,

        I have succeffully installed the CCSv5.4 and connected our custom board with the JTAG emulator, XDS100v2, which is in our EVM Kit Box.

       When I tried to load the "TI816x_ddr3.gel" and executed the "DDR3_400MHz_doall", terminal in CCSv5.4 cast some error info as below:

    CortexA8: GEL Output:
    Connecting Target...
    CortexA8: GEL Output: Connecting Target... Done.

    CortexA8: Trouble Writing Memory Block at 0x481815c4 on Page 0 of Length 0x4: (Error -1065 @ 0x481815C4) Unable to access device memory. Verify that the memory address is in valid memory. If error persists, confirm configuration, power-cycle board, and/or try more reliable JTAG settings (e.g. lower TCLK). (Emulation package 5.1.73.0)
    DDR3_400MHZ_doall() cannot be evaluated.
    target access failed
        at *((unsigned int *) 0x481815C4)=(unsigned int) 0x2 [TI816x_DDR3.gel:229]
        at DDR3_400MHZ_doall()

       How can I solve this problem?  Could you give me some tips?

       I am sincerely looking forward to your reply.

    Sep/12/2013

    Naroah

  • Hi Badri,

        I have followed your tips -- setting the DDR byte wise s/w leveling in uboot -- and finally successfully gotten the u-boot rebuilt.

       I'd like to tell you that the system become much more stable than before.  I immediately tried to run the VDEC + VDIS demo.  Although it seems well at first glance, the demo soon collapsed and cast some info as below:


    ......

    Enter Choice:  [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[0],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[0],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[1],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[1],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[2],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[2],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[3],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[3],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[4],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[4],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[5],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[5],FirstPTS[0]
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3video] Unhandled Exception:
     [m3video] Exception occurred in ThreadType_SWI
     [m3video] handle: 0x9cba0f68.
     [m3video] stack base: 0x3d89ed84.
     [m3video] stack size: 0x4000.
     [m3video] R0 = 0x00000000  R8  = 0x9cb2cce8
     [m3video] R1 = 0x00000000  R9  = 0x9cb2cce0
     [m3video] R2 = 0x9cb60795  R10 = 0x9cb2cce4
     [m3video] R3 = 0x00000001  R11 = 0x9cb2cf58
     [m3video] R4 = 0x9cba0f68  R12 = 0x00000000
     [m3video] R5 = 0x9cb2c87c  SP(R13) = 0x3d8a2c88
     [m3video] R6 = 0x9cba09ec  LR(R14) = 0x9cb5d9bb
     [m3video] R7 = 0x00000000  PC(R15) = 0x9cb60798
     [m3video] PSR = 0x61000200
     [m3video] ICSR = 0x00420803
     [m3video] MMFSR = 0x00
     [m3video] BFSR = 0x00
     [m3video] UFSR = 0x0001
     [m3video] HFSR = 0x40000000
     [m3video] DFSR = 0x00000000
     [m3video] MMAR = 0xe000ed34
     [m3video] BFAR = 0xe000ed38
     [m3video] AFSR = 0x00000000
     [m3video] Terminating Execution...

    [=============System Hangs ============]

    This time, it seems that m3video gets in some SWI trouble...  How can I trace this error and get them solved?

    I'm sincerely looking forward to your reply.

    Naroah

    Sep/12/2013

  • This still indicates DDR is not stable. Did you populates the DQS values based on running the s/w level search algorithm on your board ? Try reducing the DDR frequency to check if stability improves.

  • Hi Badri,

       I am going to reduce the DDR3 freq and rebuild the u-boot.  One more question by the way, I find there are not any functions(formula for calculating data) for "RD DQS" in the "Ratio_seed.xls" sheet.  Shall I set these parameter manally?  How can I get these parameters?

       I manage to set the RD_DQS to the default "0x40".  Is it OK?

    Naroah

    Sep/13/2013

  • hi,

    I meet the same problem .

    Hope to solve this issue.

  • 赵光辉同志:

        你好,其实我就是想拿中文在TI的E文论坛里讨论一次。

        这个问题基本最后就只能去改板压DDR3的电源纹波了,电容什么的不要吝啬了,多上点。还有就是换DDR3的颗粒,之前我们在中发买到一批拆机片子,我都不想说什么了……

        你要是觉得看到中文比较感动的话就点一下下面的绿色Verify Answer吧,算是给我加加分。都是做8168的,苦痛你知我知大家知。

    130913

    李浩然

  • Hi Badri,

          I have followed your suggestion and reduced the DDR3 freq to 400MHz.  The VDEC + VDIS demo runs stably without any error for 2 hours.

          After changing the DDR3 clock frequency to 531MHz.  The same demo cast some Internal Error.  Yet the system is not collapsing until the "Unhandled Exception" occurs a few minutes later.

    [=========Info of VDEC + VDIS demo DDR3@531MHz ===============]

     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
    [DECODER ERROR] 22977: DECODE CH <5> ERROR: XDM_APPLIEDCONCEALMENT : 9,
    [DECODER ERROR] 22977: DECODE CH <5> ERROR: XDM_CORRUPTEDDATA : 11,
    [DECODER ERROR] 22977: DECODE CH <5> ERROR: IH264VDEC_ERR_MISSINGSLICE : 25,
     [m3video] 44377:DECLINK::links_m3video/iva_dec/decLink_h264.c:[379]::INTERNAL ERROR:-1
     [m3video] ALGPROCESS FAILED:STATUS
     [m3video] outArgs->viddec3OutArgs.extendedError for channel 5 Error: 0x2000a00
     [m3video] Sequence called number 662
     [m3video] 52909:DECLINK::links_m3video/iva_dec/decLink_h264.c:[379]::INTERNAL ERROR:-1
     [m3video] ALGPROCESS FAILED:STATUS
     [m3video] outArgs->viddec3OutArgs.extendedError for channel 5 Error: 0xa10
     [m3video] Sequence called number 920
    [DECODER ERROR] 53550: DECODE CH <0> ERROR: XDM_APPLIEDCONCEALMENT : 9,
    [DECODER ERROR] 53550: DECODE CH <0> ERROR: XDM_CORRUPTEDDATA : 11,
    [DECODER ERROR] 53550: DECODE CH <0> ERROR: IH264VDEC_ERR_MISSINGSLICE : 25,
     [m3video] 74950:DECLINK::links_m3video/iva_dec/decLink_h264.c:[379]::INTERNAL ERROR:-1
     [m3video] ALGPROCESS FAILED:STATUS
     [m3video] outArgs->viddec3OutArgs.extendedError for channel 0 Error: 0x2000a00
     [m3video] Sequence called number 1588
     [m3vpss ] Unhandled Exception:
     [m3vpss ] Exception occurred in ThreadType_HWI
     [m3vpss ] handle: 0x3ecb31d0.
     [m3vpss ] stack base: 0x9dc5ada4.
     [m3vpss ] stack size: 0x4000.
     [m3vpss ] R0 = 0x00000001  R8  = 0x00000000
     [m3vpss ] R1 = 0x00000094  R9  = 0x20000002
     [m3vpss ] R2 = 0x0000000f  R10 = 0x0000000f
     [m3vpss ] R3 = 0x9cb69715  R11 = 0x9da34350
     [m3vpss ] R4 = 0x9e056d34  R12 = 0x9da2322d
     [m3vpss ] R5 = 0x0000001b  SP(R13) = 0x9dc5ec28
     [m3vpss ] R6 = 0x9da0961d  LR(R14) = 0x9da101b9
     [m3vpss ] R7 = 0x00000001  PC(R15) = 0x9e056bb8
     [m3vpss ] PSR = 0x01000013
     [m3vpss ] ICSR = 0x0440f003
     [m3vpss ] MMFSR = 0x00
     [m3vpss ] BFSR = 0x04
     [m3vpss ] UFSR = 0x0100
     [m3vpss ] HFSR = 0x40000000
     [m3vpss ] DFSR = 0x00000000
     [m3vpss ] MMAR = 0xe000ed34
     [m3vpss ] BFAR = 0xe000ed38
     [m3vpss ] AFSR = 0x00000000
     [m3vpss ] Terminating Execution...

    [========System Hangs ============]

      Then, I changed the freq into 675MHz.  The demo collapsed immediately when I try to run it as the DDR@796MHz:

    [[=========Info of VDEC + VDIS demo DDR3@675MHz ===============]]

     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[0],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[0],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[1],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[1],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[2],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[2],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[3],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[3],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[4],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[4],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[0],ChID[5],FirstPTS[0]
     [m3vpss ] AVSYNC:AVSYNC_LINK_CMD_SET_FIRST_VIDPTS successConfig:DisplayID[1],ChID[5],FirstPTS[0]
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3vpss ] AVSYNC:Media Time Base:0,FirstVidPTS:0,FirstAudPTS:-1
     [m3video] Unhandled Exception:
     [m3video] Exception occurred in ThreadType_Task
     [m3video] handle: 0x3ce20898.
     [m3video] stack base: 0x3d836f80.
     [m3video] stack size: 0x8000.
     [m3video] R0 = 0x00000000  R8  = 0x9cb2c8d0
     [m3video] R1 = 0x00000000  R9  = 0x3d7e7834
     [m3video] R2 = 0x00000000  R10 = 0x9cba2e0c
     [m3video] R3 = 0x0ef50010  R11 = 0x3d83ed90
     [m3video] R4 = 0x00000090  R12 = 0x9cb6953d
     [m3video] R5 = 0x00000090  SP(R13) = 0x3d83ed30
     [m3video] R6 = 0x10e20708  LR(R14) = 0x0032ce4b
     [m3video] R7 = 0x9cb2ce9c  PC(R15) = 0x0032fb56
     [m3video] PSR = 0x61000000
     [m3video] ICSR = 0x00420803
     [m3video] MMFSR = 0x00
     [m3video] BFSR = 0x82
     [m3video] UFSR = 0x0000
     [m3video] HFSR = 0x40000000
     [m3video] DFSR = 0x00000000
     [m3video] MMAR = 0x10e20730
     [m3video] BFAR = 0x10e20730
     [m3video] AFSR = 0x00000000
     [m3video] Terminating Execution...
    [=============System Hangs ===========]

        Is there any possibility to improve the stability of the system by changing some config in the firmware instead of designing and fabricating another PCB board?  ╮(╯_╰)╭  

        I find your suggestion very helpful, and I have verified all your replies.  Thanks for your generous help and effective advices!

    Naroah

    130913