Dm6446 codec engine problem summary and Solution

Source: Internet
Author: User
Tags what file system
Dm6446 codec engine problems Question 1:

The following error occurs in the encodedecode example of running demos in davinci_evm dm6446:

Encodedecode Debug: pal selected
Encode-Decode demo started!

Encodedecode Debug: codec engine initialized!

Traceutil> error: failed to open codec engine "encodedecode"

This problem occurs because the running program is not in the same folder as the binary DSP file, and the program cannot find the corresponding encodedecode engine. It is OK to move it to the same folder.

What file system does loadmodule run? (running loadmodule. Sh can load cmem. Ko and dsplink. KO)

Question 2

Root@172.18.216.227:/home/dvevm #./loadmodules. Sh
<6> cmem initialized 4 pools between 0x87800000 and 0x88000000
Ddr_start 0x8fa00000 ddr_size 0x400000
Root@172.18.216.227:/home/dvevm #./image_sharpen
Encodedecode demo started.
Vidioc_querystd failed on/dev/video0.video input connected?

Total I-frames: 0, P-frames: 0, B-frames: 0, IDR-frames: 0 rejected: 0
Unable to handle kernel paging request at virtual address bf055030
PGD = c58e8000
[Bf055030] * PGD = 85e0c011, * PTE = 00000000, * PPTE = 00000000
Internal error: Oops: 7 [#2]
Modules linked in: dsplinkk cmemk
CPU: 0
PC is at pmgr_msgq_close + 0x18/0x84 [dsplinkk]
LR is at drv_ioctl + 0x2a4/0x34c [dsplinkk]
PC: [<bf005840>] LR: [<bf005468>] tainted: pf
SP: c5e61f00 IP: c5e61f20 FP: c5e61f1c
R10: 00900036 R9: c5e60000 R8: c002a154
R7: bf015430 R6: 1276f04 R5: 00008000 R4: 0000ff00
R3: ff000000 R2: Listen 6c11 r1: Listen 6f04 R0: 0002ff00
Flags: nzcv irqs on fiqs on mode svc_32 segment user
Control: 5317f table: 858e8000 DAC: 00000015
Process image_sharpen (PID: 1214, stack Limit = 0xc5e601a0)
STACK: (0xc5e61f00 to 0xc5e62000)
1f00: 44065570 00008000 running 6f04 44065570 c5e61f34 c5e61f20 bf005468 bf005838
1f20: c67a3720 ffffffe7 c5e61f54 c5e61f38 c0091bac bf0051d4 c67a3720 44065570
1f40: 00000008 00000000 c5e61f7c c5e61f58 c0091eb4 c0091b40 c004940c c0217a48
1f60: c67a3720 fffffff7 20176f04 00000036 c5e61fa4 c5e61f80 c0091f14 c0091bd0
1f80: 000006f0 00000001 running 00a2 0002c6e0 00030140 0000070c 00000000 c5e61fa8
1fa0: c00299c0 c0091ee4 0002c6e0 00030140 00000008 00006f04 44065570 0002f740
Fc10: 0002c6e0 00030140 0000070c 000006ec 0002c54c 000006fc 0002c114 4506556c
1fe0: 0002c1d0 44065518 0001698c 401a0344 80000010 00000008 00000000
Backtrace:
[<Bf005828>] (pmgr_msgq_close + 0x0/0x84 [dsplinkk]) from [<bf005468>] (drv_ioctl + 0x2a4/0x34c [dsplinkk])
R7 = 44065570 R6 = 4156f04 R5 = 00008000 r4 = 44065570
[<Bf0051c4>] (drv_ioctl + 0x0/0x34c [dsplinkk]) from [<c0091bac>] (do_ioctl + 0x7c/0x90)
R5 = ffffffe7 r4 = c67a3720
[<C0091b30>] (do_ioctl + 0x0/0x90) from [<c0091eb4>] (vfs_ioctl + 0x2f4/0x314)
R7 = 00000000 R6 = 00000008 R5 = 44065570 r4 = c67a3720
[<C0091bc0>] (vfs_ioctl + 0x0/0x314) from [<c0091f14>] (sys_ioctl + 0x40/0x64)
R7 = 00000036 R6 = 4156f04 R5 = fffffff7 r4 = c67a3720
[<C0091ed4>] (sys_ioctl + 0x0/0x64) from [<c00299c0>] (ret_fast_syscall + 0x0/0x2c)
R6 = 0000070c R5 = 00030140 r4 = 0002c6e0
Code: e24cb004 e59f7064 e1a03800 e1a04823 (e7973104)

Solution: cmem. ko is the memory space that can be shared between the arm and DSP, and the size of the pool can be set, depending on the specific situation; dsplink. ko is a key bridge between ARM and DSP. It is required by the codec engine method. If the Board Memory is changed, re-compile the dsplink or the kernel and dsplinkk. if the version of Ko does not match, find the corresponding dsplinkk. ko or kernel. I encountered this problem today because of dsplinkk. ko is okay, but the kernel I just started to burn cannot match the number, and the kernel doesn't know a series of codec engine stuff, so it's okay to find the corresponding kernel. because there is a uimage256 In the TFTP folder of the virtual machine, but this kernel is not used in my Development Board, I used to default this kernel, then, find the kernel of the board and install it.

Attached are other people's errors and solutions.

Root@172.16.5.238:/demos-dm6446/encodedecode/debug #./encodedecoded Cr 720x480 C
B 2400000 CK CT 20
Encodedecode Debug: pal selected
Encodedecode demo started.
Encodedecode Debug: codec engine initialized
Traceutil> error: failin kernel: davincifb_pan_display 1
In kernel: davincifb_pan_display 2
In kernel: davincifb_pan_display 3
Ed to open codec engine "encodedecode"
Traceutil> error: Aborting traceutil_start
Encodedecode Debug: logging initialized
Encodedecode Debug: Pause object opened
Encodedecode Debug: init rendezvous opened for 4 threads
Encodedecode Debug: cleanup rendezvous opened for 4 threads
Encodedecode Debug: priming rendezvous opened for 2 threads
Encodedecode Debug: Display Buffer 0 mapped to 0x41acb000 has physical address 0
X86000000
Encodedecode Debug: Display Buffer 1 mapped to 0x41b95800 has physical address 0
X860ca800
Encodedecode Debug: Display Buffer 2 mapped to 0x41c60000 has physicin kernel: d
Avincifb_pan_display 1
In kernel: davincifb_pan_display 2
In kernel: davincifb_pan_display 3
Al address 0x861in kernel: davincifb_pan_display 1
In kernel: davincifb_pan_display 2
In kernel: davincifb_pan_display 3
95000
Encodedecin kernel: davincifb_pan_display 1
In kernel: davincifb_pan_display 2
In kernel: davincifb_pan_display 3
Ode Debug: Video Display Device initialized.
Encodedecode Debug: capturewidth = 720, captureheight = 576
Encodedecode Debug: capture thread created
Encodedecode Debug: Set the capture input to ID 0
Encodedecode error: failed to open codec engine encodedecode
Encodedecode Debug: OSD successfully initialized
Encodedecode Debug: Entering display main loop.
Encodedecode Debug: checking video standard
Encodedecode Debug: OSD transparency initialized
Encodedecode error: failed to open codec engine encodedecode
Encodedecode Debug: pal camera Detected
Encodedecode Debug: Setting capture cropping (720x576)
Capturing 720x576 video (cropped to 720x576)
Encodedecode Debug: 3 capture buffers were successfully allocated.
Encodedecode Debug: capture driver Buin kernel: davincifb_pan_display 1
In kernel: davincifb_pan_display 2
In kernel: davincifb_pan_display 3
Ffer 0 at physical address 1122762752 mapped to virtual address 0x80d00000
Encodedecode Debug: capture Driver Buffer 1 at physical address 1123647488 mappe
D to virtual address 0x80e00000
Encodedecode Debug: capture Driver Buffer 2 at physical address 1124532224 mappe
D to virtual address 0x80f00000
Encodedecode Debug: Video Capture initialized and started
Smooth Debug: creating smooth job of size 720x576
Encodedecode Debug: Entering capture main loop.
Traceutil is a codec engine module used to collect track information about running events. When the Tracking Unit is activated,
GPP trace, DSP trace, and bios logs information will be tracked and recorded. The tracking function is disabled when the default parameter of dvtb is used. If necessary, activate it first:
About traceutil in http://processors.wiki.ti.com/index.php? Title = traceutil
 Each video program has three folders. codecs is an algorithm package, servers generates DSP-side executable programs, and video_app generates arm-side executable programs.
Among them, the. TCF file in servers is very important, and it is allocated to memory. The above mentioned M and M boards are different in the allocation of this file,
If you accidentally make a mistake, you must check the settings in this file to see which board is suitable. Otherwise, the error traceutil-> can't not open codec engine will appear!
Another method is to load memk. ko and dsplinkk. ko file loadmodules. SH: the files on different boards are also different. If you use an incorrect file, there will be a lot of errors. In fact, this file has been selected incorrectly!

As long as the two files mentioned above are okay, the program will be able to pass!

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.