我是学生,实验室用了一块合众达的EVMDM6446,在运行自带demo如decode,encode,都解码不成功,出现雪花,超级终端有说内核污染,不知道跟这个有关系吗,如下图,求大神解答,谢谢
Chris Meng:
Wang Yafeng,
能否在命令行下执行解码/编码的例子,看看具体有什么错误?
David5:
回复 Chris Meng:
串口反馈的信息如下:
Chris Meng:
回复 David5:
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
David5:
回复 Chris Meng:
输入命令就卡着什么信息也没有
然后我尝试挂载NFS,在nfs上运行demos,发现错误如下:
David5:
回复 Chris Meng:
求助!! 下面是在nfs下运行DEMO时串口反馈的信息:
root@192.168.1.127:~# cd /opt/dvevmroot@192.168.1.127:/opt/dvevm# lscmemk.ko decoded encoded loadmodules.shdata dsplinkk.ko encodedecoded loopbackCombo.x64PdecodeCombo.x64P encodeCombo.x64P interfaced main.oroot@192.168.1.127:/opt/dvevm# ./loadmodules.shcmemk: module license '(c) Texas Instruments' taints kernel.cmem initialized 3 pools between 0x87800000 and 0x88000000dsplinkk: no version for "struct_module" found: kernel tainted. DDR_START 0x8fa00000 DDR_SIZE 0x400000root@192.168.1.127:/opt/dvevm# ./decoded -v data/videos/davincieffect_ntsc.m2vDecode demo started.Decode Debug: Codec Engine initializedDecode Debug: Video file successfully openedDecode Debug: NTSC selectedDecodewin: 1, hfactor:0, vfactor: 0 Debug: Display buffer 0 mapped to address 0x412ca000Decode Debug: Display buffer 1 mapped to address 0x41372c00Decode Debug: Display buffer 2 mapped to address 0x4141b800Decode Debug: Video display device initialized.Decode Debug: Codec Engine opened in video threadDecCMEMK Error: Failed to find a pool which fits 3145728ode Debug: Video decoder createdCMEM Error: getPool: Failed to get a pool fitting a size 3145728OM T:0x412c9b60: Memory_contigAlloc> ERROR: CMEM alloc failedDecode Error: Failed to allocate contiguous memory block.Decode Debug: OSD successfully initializedDecode 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 thread0x0: 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 initializedDecode Debug: User interface createdDecode Debug: User interface drawnDecode Debug: Entering control main loop.root@192.168.1.127:/opt/dvevm#
Chris Meng:
回复 David5:
你好,
你运行的代码的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.
David5:
回复 Chris Meng:
还是davinciDM6446的那块板子,再请教一个下面的问题,视频解码播放了两秒然后就卡着不动了,串口输出如下,请问是什么原因?
root@192.168.1.127:~# cd /opt/dvevmroot@192.168.1.127:/opt/dvevm# ./loadmodules.shcmemk: module license '(c) Texas Instruments' taints kernel.cmem initialized 3 pools between 0x87800000 and 0x88000000dsplinkk: 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 20Decode demo started.win: 1, hfactor:0, vfactor: 0Unable to handle kernel NULL pointer dereference at virtual address 00000000pgd = c0464000[00000000] *pgd=812d8031, *pte=00000000, *ppte=00000000Internal error: Oops: 817 [#1]Modules linked in: dsplinkk cmemkCPU: 0PC is at SHMIPS_Send+0x114/0x130 [dsplinkk]LR is at SHMIPS_Send+0x10c/0x130 [dsplinkk]pc : [<bf00b600>] lr : [<bf00b5f8>] Tainted: PFsp : c0619ebc ip : cfc802d4 fp : c0619ee4r10: bf0140b8 r9 : c2900180 r8 : 00000000r7 : bf0140b8 r6 : c2900080 r5 : c2902800 r4 : 412c9264r3 : 8fe02800 r2 : c2064060 r1 : 00000001 r0 : 00000000Flags: nZCv IRQs off FIQs on Mode SVC_32 Segment userControl: 5317F Table: 80464000 DAC: 00000015Process decode (pid: 1048, stack limit = 0xc0618198)Stack: (0xc0619ebc to 0xc061a000)9ea0: 412c92649ec0: 00008000 00006f0a c2902800 c0027b24 c0618000 000253c8 c0619ef4 c0619ee89ee0: bf00cb4c bf00b4fc c0619f14 c0619ef8 bf0092f8 bf00cb48 412c9264 000080009f00: 00006f0a 412c9264 c0619f24 c0619f18 bf00463c bf009274 c0619f3c c0619f289f20: bf0041dc bf00463c c0b4e7c0 ffffffe7 c0619f5c c0619f40 c0089584 bf0040809f40: c0b4e7c0 412c9264 00000006 00000000 c0619f84 c0619f60 c0089890 c00895189f60: 000fe15f 00000000 c0b4e7c0 fffffff7 00006f0a 00000036 c0619fa4 c0619f889f80: c00898f0 c00895a8 00000001 414c7800 00000001 ffffffff 00000000 c0619fa89fa0: c00279a0 c00898c0 414c7800 c0028bf4 00000006 00006f0a 412c9264 000291709fc0: 414c7800 00000001 ffffffff 412c93b0 412c93a4 412c9500 000253c8 412c92609fe0: 0002545c 412c920c 000160d4 401a0344 60000010 00000006 00000000 00000000Backtrace:[<bf00b4ec>] (SHMIPS_Send+0x0/0x130 [dsplinkk]) from [<bf00cb4c>] (ZCPYMQT_Put+0x14/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_Put+0x10/0x14 [dsplinkk]) r7 = 412C9264 r6 = 00006F0A r5 = 00008000 r4 = 412C9264[<bf00462c>] (PMGR_MSGQ_Put+0x0/0x14 [dsplinkk]) from [<bf0041dc>] (DRV_Ioctl+0x16c/0x354 [dsplinkk])[<bf004070>] (DRV_Ioctl+0x0/0x354 [dsplinkk]) from [<c0089584>] (do_ioctl+0x7c/0x90) 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 = 414C7800Code: e3a03001 ebfff2bd e5963004 e3a01001 (e5803000) <6>note: decode[1048] exited with preempt_count 1BUG: scheduling while atomic: decode/0x00000001/1048caller is do_exit+0xd5c/0xdc0