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