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.

512MB DDR,omx demo can't running

Hello,

I have a dm8148 board with 512MB DDR3,and I modify the files mentioned in the EZSDK_memory_map,then rebuilt all,

But when the board boot up,I running the omx demos ,it come to nothing.

# /etc/init.d/matrix-gui-e stop
# /etc/init.d/pvr-init stop

root@dm814x-evm:/usr/share/ti/ti-omx# ./decode_display_a8host_debug.xv5T -i test
.h264 -w 1920 -h 1080 -f 60 -g 0 -d 0 -c h264
input file: test.h264
width: 1920
height: 1080
frame_rate: 60
gfx: fbdev disable
codec: h264
display_id: 0
 Decoder-Display example
===============================
 OMX_Init completed
 UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
UIAClient is ready to send a UIA configuration command
UIAClient received UIA_CONFIGURE_ACK
UIAClient is done sending requests
 opening file
 decoder compoenent is created
PADX: 32 PADY: 24
 level set is 12
 scalar compoenent is created
set input port params (width = 1920, height = 1080)
set output port params (width = 1920, height = 1080)
set number of channels
set input resolution
set output resolution
enable scalar input port
got eventEnable/Disable Event
enable scalar output port
got eventEnable/Disable Event
found handle 0x13c068 for component OMX.TI.VPSSM3.VFDC
 got display handle
found handle 0x140070 for component OMX.TI.VPSSM3.CTRL.DC
Buffer Size computed: 4147200
set input port params (width = 1920, height = 1080)
setting input and output memory type to default
enable input port
got eventEnable/Disable Event
 connect call for decoder-scalar
  connect call for scalar-display
  decoder inport buffers allocated
  decoder outport buffers allocated
 got eventState changed to: OMX_StateIdle
 decoder state IDLE
  Scalar input port use buffer done
  scalar outport buffers allocated
 got eventState changed to: OMX_StateIdle
 scalar state IDLE
 got eventState changed to: OMX_StateIdle
 ctrl-dc state IDLE
 got eventState changed to: OMX_StateIdle
 display state IDLE
 got eventState changed to: OMX_StateExecuting
 display control state execute
 got eventState changed to: OMX_StateExecuting
 display state execute
 got eventState changed to: OMX_StateExecuting
 scalar state execute
 got eventState changed to: OMX_StateExecuting
 decoder state execute
  file read thread created
  decoder connect thread created
  scalar connect thread created
  display connect thread created
  executing the appliaction now!!!
 No data available for Read
got eventOMX_EventBufferFlag
got EOS event
got eventOMX_EventBufferFlag
got EOS event
got eventOMX_EventBufferFlag
got EOS event
 tearing down the decode-display example
 exiting thread
 exiting thread
 exiting thread
 got eventState changed to: OMX_StateIdle
 decoder state idle
 got eventState changed to: OMX_StateIdle
 Scalar state idle
 got eventState changed to: OMX_StateIdle
 display state idle
 got eventState changed to: OMX_StateIdle
 display control state idle
 got eventState changed to: OMX_StateLoaded
 decoder state loaded
 got eventState changed to: OMX_StateLoaded
 Scalar state loaded
 got eventState changed to: OMX_StateLoaded
 display state loaded
 got eventState changed to: OMX_StateLoaded
 ctrl-dc state loaded
  decoder free handle
 scalar free handle
 display free handle
 ctrl-dc free handle
IL Client deinitialized
 example exit

why it say "no data for read"? And the HDMI screen have no reaction,no data input.

Anywhere should I to modify?

Best regards,

Enson

 

  • Hello,

    You could run ./loggerSMDump.out 0x9e400000 0x100000 all

    It is available at /usr/share/ti/ti-uia folder in filesystem.

    Best Regards,

    Margarita

  • Dear Margarita,

    I have try what you have telled me,

    and it seems have some error,See the following,

    root@dm814x-evm:~# cd /usr/share/ti/ti-uia/
    root@dm814x-evm:/usr/share/ti/ti-uia# ./loggerSMDump.out 0x9e400000 0x100000 all

    Opened loggerSM.bin to store encoded records
    N:Video P:1 #:00000 T:0000000001fc2923 M:xdc.runtime.Main S:Enabling Status Logger
    N:VPSS  P:2 #:00000 T:00000000194fe8fb M:xdc.runtime.Main S:Enabling Status Logger
    N:Video P:1 #:00001 T:0000000001fc89e1 M:xdc.runtime.Main S:Enabling User1 Logs
    N:VPSS  P:2 #:00001 T:0000000019504bdb M:xdc.runtime.Main S:Enabling User1 Logs
    N:Video P:1 #:00002 T:0000000001fcf643 M:xdc.runtime.Main S:Disabling User1 Logs
    N:VPSS  P:2 #:00002 T:000000001950bc9d M:xdc.runtime.Main S:Disabling User1 Logs
    N:Video P:1 #:00003 T:0000000001fd5a05 M:xdc.runtime.Main S:Disabling User1 Logs
    N:VPSS  P:2 #:00003 T:000000001951225d M:xdc.runtime.Main S:Disabling User1 Logs
    N:Video P:1 #:00004 T:0000000001fdb9eb M:xdc.runtime.Main S:Disabling User1 Logs
    N:VPSS  P:2 #:00004 T:000000001951818d M:xdc.runtime.Main S:Disabling User1 Logs
    N:Video P:1 #:00005 T:0000000001fe1bc1 M:xdc.runtime.Main S:Disabling User1 Logs
    N:VPSS  P:2 #:00005 T:000000001951e2e3 M:xdc.runtime.Main S:Disabling User1 Logs
    N:Video P:1 #:00006 T:0000000001fe7fe5 M:xdc.runtime.Main S:Enabling Analysis Logs
    N:VPSS  P:2 #:00006 T:000000001952474f M:xdc.runtime.Main S:Enabling Analysis Logs
    N:Video P:1 #:00007 T:00000000020168a1 M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procAttach> @line<151>
    N:VPSS  P:2 #:00007 T:00000000195885b5 M:xdc.runtime.Main S:edma3init() Passed
    N:Video P:1 #:00008 T:0000000002596379 M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<177> msg<Before Ipc_attach>
    N:VPSS  P:2 #:00008 T:000000001b54d70b M:xdc.runtime.Main S:isI2cInitReq is 1
    N:Video P:1 #:00009 T:0000000004c9a19b M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<184> msg<After Ipc_attach>
    N:VPSS  P:2 #:00009 T:000000001e7897cf M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procAttach> @line<151>
    N:Video P:1 #:00010 T:0000000004ca3aa9 M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<186> msg<Ipc_attach successful>
    N:VPSS  P:2 #:00010 T:000000001ecde2c9 M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<191> msg<Before Ipc_attach>
    N:Video P:1 #:00011 T:0000000004cab161 M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procAttach> @line<233> with error<0:ErrorNone>
    N:VPSS  P:2 #:00011 T:0000000023ac23af M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<198> msg<After Ipc_attach>
    N:Video P:1 #:00012 T:0000000004cfbe7f M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procInit> @line<250>
    N:VPSS  P:2 #:00012 T:0000000023acc0eb M:xdc.runtime.Main S:Module<ti.omx> @<DomxCore_procAttach> @line<200> msg<Ipc_attach successful>
    N:Video P:1 #:00013 T:0000000004d033bb M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procMsgQInit> @line<115>
    N:VPSS  P:2 #:00013 T:0000000023ad38a5 M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procAttach> @line<233> with error<0:ErrorNone>
    N:Video P:1 #:00014 T:0000000004d0fc25 M:xdc.runtime.Main S:Module<ti.omx> @<OmxRpc_moduleRegisterMsgqHeap> @line<927> msg<Before MessageQ_registerHeap>
    N:VPSS  P:2 #:00014 T:0000000023b27d35 M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procInit> @line<250>
    N:Video P:1 #:00015 T:0000000004d1865f M:xdc.runtime.Main S:Module<ti.omx> @<OmxRpc_moduleRegisterMsgqHeap> @line<932> msg<After MessageQ_registerHeap>
    N:VPSS  P:2 #:00015 T:0000000023b304b3 M:xdc.runtime.Main S:Module<ti.omx> Entering<DomxCore_procMsgQInit> @line<115>
    N:Video P:1 #:00016 T:0000000004d20487 M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procMsgQInit> @line<142> with error<0:ErrorNone>
    N:VPSS  P:2 #:00016 T:0000000023b3d3ad M:xdc.runtime.Main S:Module<ti.omx> @<OmxRpc_moduleRegisterMsgqHeap> @line<927> msg<Before MessageQ_registerHeap>
    N:Video P:1 #:00017 T:0000000004d2797b M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procInit> @line<346> with error<0:ErrorNone>
    N:VPSS  P:2 #:00017 T:0000000023b45b23 M:xdc.runtime.Main S:Module<ti.omx> @<OmxRpc_moduleRegisterMsgqHeap> @line<932> msg<After MessageQ_registerHeap>
    N:Video P:1 #:00018 T:0000000004d31445 M:xdc.runtime.Main S:@ omxrpc_rcm_server_create: rcmServerName OmxRpcRcmServer_1, priority 8
    N:VPSS  P:2 #:00018 T:0000000023b4de89 M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procMsgQInit> @line<142> with error<0:ErrorNone>
    N:Video P:1 #:00019 T:0000000004d384cf M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<225> msg<Before RcmServer_Params_init>
    N:VPSS  P:2 #:00019 T:0000000023b55773 M:xdc.runtime.Main S:Module<ti.omx> Leaving<DomxCore_procInit> @line<346> with error<0:ErrorNone>
    N:Video P:1 #:00020 T:0000000004d402ff M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<229> msg<After RcmServer_Params_init>
    N:VPSS  P:2 #:00020 T:0000000023b5f395 M:xdc.runtime.Main S:@ omxrpc_rcm_server_create: rcmServerName OmxRpcRcmServer_2, priority 8
    N:Video P:1 #:00021 T:0000000004d47d19 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<232> msg<Before RcmServer_create>
    N:VPSS  P:2 #:00021 T:0000000023b66c3d M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<225> msg<Before RcmServer_Params_init>
    N:Video P:1 #:00022 T:0000000004da324d M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<240> msg<After RcmServer_create>
    N:VPSS  P:2 #:00022 T:0000000023b6ef87 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<229> msg<After RcmServer_Params_init>
    N:Video P:1 #:00023 T:0000000004dabfdb M:xdc.runtime.Main S:@ omxrpc_rcm_server_remote_fxn_register regFxnCategory 0
    N:VPSS  P:2 #:00023 T:0000000023b76ad7 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<232> msg<Before RcmServer_create>
    N:Video P:1 #:00024 T:0000000004db2ad9 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcGetHandle)
    N:VPSS  P:2 #:00024 T:0000000023bd4b99 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_create> @line<240> msg<After RcmServer_create>
    N:Video P:1 #:00025 T:0000000004dbdba7 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcFreeHandle)
    N:VPSS  P:2 #:00025 T:0000000023bde1a9 M:xdc.runtime.Main S:@ omxrpc_rcm_server_remote_fxn_register regFxnCategory 0
    N:Video P:1 #:00026 T:0000000004dc5453 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcCreateProxyLite)
    N:VPSS  P:2 #:00026 T:0000000023be67f1 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcGetHandle)
    N:Video P:1 #:00027 T:0000000004dccb69 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcGetHeapMemStats)
    N:VPSS  P:2 #:00027 T:0000000023bf0931 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcFreeHandle)
    N:Video P:1 #:00028 T:0000000004dd42d9 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcDeleteProxyLite)
    N:VPSS  P:2 #:00028 T:0000000023bf86a7 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcCreateProxyLite)
    N:Video P:1 #:00029 T:0000000004ddba6b M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_start> @line<256> msg<Before RcmServer_start>
    N:VPSS  P:2 #:00029 T:0000000023c003c5 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcGetHeapMemStats)
    N:Video P:1 #:00030 T:0000000004de41f3 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_start> @line<258> msg<After RcmServer_start>
    N:VPSS  P:2 #:00030 T:0000000023c07a97 M:xdc.runtime.Main S:Calling RcmServer_addSymbol(OmxRpcDeleteProxyLite)
    N:VPSS  P:2 #:00031 T:0000000023c0f843 M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_start> @line<256> msg<Before RcmServer_start>
    N:VPSS  P:2 #:00032 T:0000000023c17cfb M:xdc.runtime.Main S:Module<ti.omx> @<omxrpc_rcm_server_start> @line<258> msg<After RcmServer_start>

    I hope you can give a detailed guidance,thank you.

    Best Regards,

    Enson

  • Hello,

    I do not see errors.

    Could you double check the memory map ?

    Follow:

    http://processors.wiki.ti.com/index.php/EZSDK_Memory_Map#Changing_Memory_Map_For_512MB_DM814x_Board

    Best Regards,

    Margarita

  • Margarita,

    I have checked the memory map,I had do what the setps refer to the memory_map gudie.

    (1) There is one thing that I don't understand,int the guiide it metioned "dsp for omx"

    =============================================

    1. It uses the same memory segment definition file $(EZSDK_INSTALL_DIR)/component-sources/omx_05_02_00_09/packages/ti/omx/build/MemSegmentDefinition.xs.
    2. DSP build also uses Shared Region information from file $(EZSDK_INSTALL_DIR)/component-sources/omx_05_02_00_09/packages/ti/omx/memcfg/memtbl_cfg.h through below defines, Ensure that these information matches the mem cfg defined in mm_host_util. This dependency will be removed in the patch release .
      1. MEMCFG_SRBASE1
      2. MEMCFG_SRSIZE1
      3. MEMCFG_SRBASE2
      4. MEMCFG_SRSIZE2
    3. Rebuild DSP side OMX library & application.

    =====================================================================================

    In MemSegmentDefinition.xs($(EZSDK_INSTALL_DIR)/component-sources/omx_05_02_00_09/packages/ti/omx/build/MemSegmentDefinition.xs)

    it was the following:

    ****************************************************************

    function getMemSegmentDefinition(platFormMem)
    {
      var memory = new Array();

      memory[0] = ["VIDEO_M3_VECTOR",
      {
              name: "VIDEO_M3_VECTOR",
              base: 0x0,
              len:  0x400,
              space: "code"
      }];

      memory[1] = ["VPSS_M3_VECTOR",
      {
              name: "VPSS_M3_VECTOR",
              base: 0x400,
              len:  0x600,
              space: "code"
      }];

      memory[2] = ["DSP",
      {
              name: "DSP",
              base: 0x99500000,
              len:  0x00C00000,
              space: "code/data"
      }];

      memory[3] = ["VIDEO_M3_EVENT_BUFFER",
      {
              name: "VIDEO_M3_EVENT_BUFFER",
              base: 0x9E500000,
              len:  0x00010000,
              space: "data"
      }];
     
      memory[4] = ["VIDEO_M3_DATA0",
      {
              name: "VIDEO_M3_DATA0",
              base: 0x9E510000,
              len:  0x000F0000,
              space: "data"
      }];

      memory[5] = ["VIDEO_M3_DATA",
      {
              name: "VIDEO_M3_DATA",
              base: 0x9DD00000,
              len:  0x00630000,
              space: "data"
      }];

      memory[6] = ["VIDEO_M3_CODE",
      {
              name: "VIDEO_M3_CODE",
              base: 0x9E330000,
              len:  0x000d0000,
              space: "code"
      }];

      memory[7] = ["LOGGER_SM",
      {
              name: "LOGGER_SM",
              base: 0x9E400000,
              len:  0x00100000,
              space: "data"
      }];

      memory[8] = ["VPSS_M3_EVENT_BUFFER",
      {
              name: "VPSS_M3_EVENT_BUFFER",
              base: 0x9E600000,
              len:  0x00100000,
              space: "data"
      }];

      memory[9] = ["VPSS_M3_DATA",
      {
              name: "VPSS_M3_DATA",
              base: 0x9E700000,
              len:  0x00E90000,
              space: "data"
      }];

      memory[10] = ["VPSS_M3_CODE",
      {
              name: "VPSS_M3_CODE",
              base: 0x9F590000,
              len:  0x00170000,
              space: "code"
      }];


      memory[11] = ["IPC_SR_COMMON",
      {
              name: "IPC_SR_COMMON",
              base: 0x9F700000,
              len:  0x00200000,
              space: "data"
      }];

      memory[12] = ["HDVPSS_NOTIFY_MEM",
      {
              name: "HDVPSS_NOTIFY_MEM",
              base: 0xBF900000,
              len:  0x00200000,
              space: "data"
      }];

      memory[13] = ["HDVPSS_V4L2_FBDEF_MEM",
      {
              name: "HDVPSS_V4L2_FBDEF_MEM",
              base: 0xBFB00000,
              len:  0x00200000,
              space: "data"
      }];

      memory[14] = ["HDVPSS_DESC",
      {
              name: "HDVPSS_DESC",
              base: 0xBFD00000,
              len:  0x00200000,
              space: "data"
      }];

      memory[15] = ["MEMCFG_SPACE",
      {
              name: "MEMCFG_SPACE",
              base: 0xBFF00000,
              len:  0x000FF000,
              space: "data"
      }];
     
      memory[16] = ["VIDEO_M3_LOAD_TABLE",
      {
              name: "VIDEO_M3_LOAD_TABLE",
              base: 0xBFFFF000,
              len:  0x00000800,
              space: "data"
      }];

      memory[17] = ["VPSS_M3_LOAD_TABLE",
      {
              name: "VPSS_M3_LOAD_TABLE",
              base: 0xBFFFF800,
              len:  0x00000800,
              space: "data"
      }];

      return (memory);
    }

    *****************************************************************

    But in the memory map guide it was

     

    Best Regards,

    Enson

  • There are a lot of difference between them ,should I modify it?

    (2) when I run the demo decode_display_a8host_debug.xv5T

    ./decode_display_a8host_debug.xv5T -i /usr/share/ti/data/videos/dm816x_1080p_demo.264 -w 1920 -h 1080 -f 60 -g 0 -d 0  -c h264

    I just see the video played 1 sec,and then it comes to nothing.And This situation only happened once,the rest I see nothing,the screen

    showed "no data input"

    When I run display_a8host_debug.xv5T

    ./display_a8host_debug.xv5T -d 0

    The picture appeared by random. In the first few minutes, there is no output,but suddenly it show the Ribbon style picture,Disappear after a few seconds, after a period of time again.

    (3) When I try to change the display mode It didn't work. 

    #./change_display.sh hdmi

    #reboot

    But nothing changed it still load the bufferclass_ti.ko  omaplfb.ko  pvrsrvkm.ko.

    Looking forward to your answer,thank you.

    Best Regards,

    Enson

     

  • Margarita,

    The  problem still exists.Do you have some ideas,I need your help really.



    Best Regards,

    Enson

  • Hello,

    From the console I see that the application is executed. You see

    enson Steven said:
     No data available for Read
    when the video stream is over.
    enson Steven said:
    And the HDMI screen have no reaction,no data input.
    When you start the board are you seeing anything on display at all?

    Best Regards,

    Margarita

  • Dear Margarita,

    When I boot the board I can see the u-boot logo on screen with HDMI,

    when It boot up I run the omx demo,It was not stable,now appearing,now disappearing.

    my bootargs is :

    'console=ttyO0,115200n8 notifyk.vpssm3_sva=0xBF900000 root=/dev/nfs nfsroot=192.168.1.213:/home/enson/targetfs/,nolock rw mem=176M vram=50M vmalloc=256M ip=dhcp cmemk.phys_start=0x96C00000 cmemk.phys_end=0x98000000 cmemk.allowOverlap=1 earlyprintk debug'

    Best Regards

    Enson

  • #supplement

    The evm use 8bit DDR,and my board use the 16bit DDR3,Is't  has an impact?

     

    Best Regards,

    Enson