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.

关于DM6446上demo的运行



我是学生,实验室用了一块合众达的EVMDM6446,在运行自带demo如decode,encode,都解码不成功,出现雪花,超级终端有说内核污染,不知道跟这个有关系吗,如下图,求大神解答,谢谢

  • Wang Yafeng,

    能否在命令行下执行解码/编码的例子,看看具体有什么错误?

  • 串口反馈的信息如下:

  • Wang Yafeng,

    我是希望你使用command line运行demo。

    请参考http://www.ti.com.cn/cn/lit/ug/sprue66e/sprue66e.pdf

    3.4 Running the Demos from the Command Line

  • 输入命令就卡着什么信息也没有

    然后我尝试挂载NFS,在nfs上运行demos,发现错误如下:

  • 求助!! 下面是在nfs下运行DEMO时串口反馈的信息:

    root@192.168.1.127:~# cd /opt/dvevm
    root@192.168.1.127:/opt/dvevm# ls
    cmemk.ko decoded encoded loadmodules.sh
    data dsplinkk.ko encodedecoded loopbackCombo.x64P
    decodeCombo.x64P encodeCombo.x64P interfaced main.o
    root@192.168.1.127:/opt/dvevm# ./loadmodules.sh
    cmemk: module license '(c) Texas Instruments' taints kernel.
    cmem initialized 3 pools between 0x87800000 and 0x88000000
    dsplinkk: no version for "struct_module" found: kernel tainted.
    DDR_START 0x8fa00000 DDR_SIZE 0x400000
    root@192.168.1.127:/opt/dvevm# ./decoded -v data/videos/davincieffect_ntsc.m2v
    Decode demo started.
    Decode Debug: Codec Engine initialized
    Decode Debug: Video file successfully opened
    Decode Debug: NTSC selected
    Decodewin: 1, hfactor:0, vfactor: 0
    Debug: Display buffer 0 mapped to address 0x412ca000
    Decode Debug: Display buffer 1 mapped to address 0x41372c00
    Decode Debug: Display buffer 2 mapped to address 0x4141b800
    Decode Debug: Video display device initialized.
    Decode Debug: Codec Engine opened in video thread
    DecCMEMK Error: Failed to find a pool which fits 3145728
    ode Debug: Video decoder created
    CMEM Error: getPool: Failed to get a pool fitting a size 3145728
    OM T:0x412c9b60: Memory_contigAlloc> ERROR: CMEM alloc failed
    Decode Error: Failed to allocate contiguous memory block.
    Decode Debug: OSD successfully initialized
    Decode Debug: OSD transparency initialized
    [DSP] ZZ T:0x0: main> Welcome to decode server's main().
    [DSP] OM T:0x0: Memory_alloc(0x18)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0x18)
    [DSP] OM T:0x0: Memory_alloc(0xb)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0xb)
    [DSP] OM T:0x0: Memory_alloc(0x20)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0x20)
    [DSP] OM T:0x0: Memory_alloc(0x24)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0x24)
    [DSP] CV T:0x0: VISA_create(0x0, 'mpeg2dec', 0x8fe01840, 0x480, 'ti.sdo.ce.video
    .IVIDDEC')
    [DSP] CE T:0x0: Engine_open('local', 0x8b803ee8, 0x0)
    [DSP] OM T:0x0: Memory_alloc(0x2c)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0x2c)
    [DSP] OM T:0x0: Memory_alloc(0x14)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0x14)
    [DSP] OM T:0x0: Memory_alloc(0xc)
    [DSP] OM T:0x0: Memory_segAlloc(0x2, 0x0, 0xc)
    [DSP] CV T:0x0: VISA_delete(0x8fa6a2d0)
    [DSP] OM T:0x0: Memory_free(0x8fa6a2e8, 0xdc)
    [DSP] OM T:0x0: Memory_segFree(0x2, 0xc, 0x8fa6a2e8)
    [DSP] OM T:0x0: Memory_free(0x8fa6a2d0, 0x8fa3bfc4)
    [DSP] OM T:0x0: Memory_segFree(0x2, 0x14, 0x8fa6a2d0)
    [DSP] OM T:0x0: Memory_free(0x8fa6a278, 0x0)
    [DSP] OM T:0x0: Memory_segFree(0x2, 0x24, 0x8fa6a278)
    [DSP] OM T:0x0: Memory_free(0x8fa6a258, 0x24)
    [DSP] OM T:Decode Debug: Codec Engine opened in control thread
    0x0: Memory_segFree(0x2, 0x20, 0x8fa6a258)
    [DSP] OM T:0x0: Memory_free(0x8fa6a248, 0x20)
    [DSP] OM T:0x0: Memory_segFree(0x2, 0xb, 0x8fa6a248)
    [DSP] OM T:0x0: Memory_free(0x8fa6a230, 0x20)
    [DSP] OM T:0x0: Memory_segFree(0x2, 0x18, 0x8fa6a230)
    Decode Debug: MSP430 library initialized
    Decode Debug: User interface created
    Decode Debug: User interface drawn
    Decode Debug: Entering control main loop.
    root@192.168.1.127:/opt/dvevm#

  • 你好,

    你运行的代码的dsplink/CE/CMEM都是一个开发包里面的的么,看起来是不匹配。

    解码运行是cmem错误:

    DecCMEMK Error: Failed to find a pool which fits 3145728
    ode Debug: Video decoder created
    CMEM Error: getPool: Failed to get a pool fitting a size 3145728
    OM T:0x412c9b60: Memory_contigAlloc> ERROR: CMEM alloc failed
    Decode Error: Failed to allocate contiguous memory block.

  • 还是davinciDM6446的那块板子,再请教一个下面的问题,视频解码播放了两秒然后就卡着不动了,串口输出如下,请问是什么原因?

    root@192.168.1.127:~# cd /opt/dvevm
    root@192.168.1.127:/opt/dvevm# ./loadmodules.sh
    cmemk: module license '(c) Texas Instruments' taints kernel.
    cmem initialized 3 pools between 0x87800000 and 0x88000000
    dsplinkk: no version for "struct_module" found: kernel tainted.
    dsplinkk: no version for "struct_module" found: kernel tainted.
    root@192.168.1.127:/opt/dvevm# ./decode -v data/videos/davincieffect_ntsc.m2v -t
    20
    Decode demo started.
    win: 1, hfactor:0, vfactor: 0
    Unable to handle kernel NULL pointer dereference at virtual address 00000000
    pgd = c0464000
    [00000000] *pgd=812d8031, *pte=00000000, *ppte=00000000
    Internal error: Oops: 817 [#1]
    Modules linked in: dsplinkk cmemk
    CPU: 0
    PC is at SHMIPS_Send+0x114/0x130 [dsplinkk]
    LR is at SHMIPS_Send+0x10c/0x130 [dsplinkk]
    pc : [<bf00b600>] lr : [<bf00b5f8>] Tainted: PF
    sp : c0619ebc ip : cfc802d4 fp : c0619ee4
    r10: bf0140b8 r9 : c2900180 r8 : 00000000
    r7 : bf0140b8 r6 : c2900080 r5 : c2902800 r4 : 412c9264
    r3 : 8fe02800 r2 : c2064060 r1 : 00000001 r0 : 00000000
    Flags: nZCv IRQs off FIQs on Mode SVC_32 Segment user
    Control: 5317F Table: 80464000 DAC: 00000015
    Process decode (pid: 1048, stack limit = 0xc0618198)
    Stack: (0xc0619ebc to 0xc061a000)
    9ea0: 412c9264
    9ec0: 00008000 00006f0a c2902800 c0027b24 c0618000 000253c8 c0619ef4 c0619ee8
    9ee0: bf00cb4c bf00b4fc c0619f14 c0619ef8 bf0092f8 bf00cb48 412c9264 00008000
    9f00: 00006f0a 412c9264 c0619f24 c0619f18 bf00463c bf009274 c0619f3c c0619f28
    9f20: bf0041dc bf00463c c0b4e7c0 ffffffe7 c0619f5c c0619f40 c0089584 bf004080
    9f40: c0b4e7c0 412c9264 00000006 00000000 c0619f84 c0619f60 c0089890 c0089518
    9f60: 000fe15f 00000000 c0b4e7c0 fffffff7 00006f0a 00000036 c0619fa4 c0619f88
    9f80: c00898f0 c00895a8 00000001 414c7800 00000001 ffffffff 00000000 c0619fa8
    9fa0: c00279a0 c00898c0 414c7800 c0028bf4 00000006 00006f0a 412c9264 00029170
    9fc0: 414c7800 00000001 ffffffff 412c93b0 412c93a4 412c9500 000253c8 412c9260
    9fe0: 0002545c 412c920c 000160d4 401a0344 60000010 00000006 00000000 00000000
    Backtrace:
    [<bf00b4ec>] (SHMIPS_Send+0x0/0x130 [dsplinkk]) from [<bf00cb4c>] (ZCPYMQT_Put+0
    x14/0x18 [dsplinkk])
    [<bf00cb38>] (ZCPYMQT_Put+0x0/0x18 [dsplinkk]) from [<bf0092f8>] (LDRV_MSGQ_Put+
    0x94/0xa8 [dsplinkk])
    [<bf009264>] (LDRV_MSGQ_Put+0x0/0xa8 [dsplinkk]) from [<bf00463c>] (PMGR_MSGQ_Pu
    t+0x10/0x14 [dsplinkk])
    r7 = 412C9264 r6 = 00006F0A r5 = 00008000 r4 = 412C9264
    [<bf00462c>] (PMGR_MSGQ_Put+0x0/0x14 [dsplinkk]) from [<bf0041dc>] (DRV_Ioctl+0x
    16c/0x354 [dsplinkk])
    [<bf004070>] (DRV_Ioctl+0x0/0x354 [dsplinkk]) from [<c0089584>] (do_ioctl+0x7c/0
    x90)
    r5 = FFFFFFE7 r4 = C0B4E7C0
    [<c0089508>] (do_ioctl+0x0/0x90) from [<c0089890>] (vfs_ioctl+0x2f8/0x318)
    r7 = 00000000 r6 = 00000006 r5 = 412C9264 r4 = C0B4E7C0
    [<c0089598>] (vfs_ioctl+0x0/0x318) from [<c00898f0>] (sys_ioctl+0x40/0x60)
    r7 = 00000036 r6 = 00006F0A r5 = FFFFFFF7 r4 = C0B4E7C0
    [<c00898b0>] (sys_ioctl+0x0/0x60) from [<c00279a0>] (ret_fast_syscall+0x0/0x2c)
    r6 = FFFFFFFF r5 = 00000001 r4 = 414C7800
    Code: e3a03001 ebfff2bd e5963004 e3a01001 (e5803000)
    <6>note: decode[1048] exited with preempt_count 1
    BUG: scheduling while atomic: decode/0x00000001/1048
    caller is do_exit+0xd5c/0xdc0