Hi TI team,
We are facing a problem running Preview Engine for long time. We developed a video phone with H264 codec. This H264 codec comes with TI DVSDK2.0.
The DM6446 device hangs(There is no response in UART terminal, no response to external ping to DM6446) after running for a while. Sometime the process goes to D-state and it never recovers. The only solution is to reboot the device at that point.
We have discovered a quick way to reproduce this problem. This bug is 100% reproducible.
How to reproduce
1. Keep running preview engine with a input and output buffer continuously on DM6446
2. Keep sending UDP packet from any PC to that DM6446 board as fast as possible.
3. The DM6446 board will hang after a while. The duration to get frozen may takes less than 10 minutes.
Linux kernel code we took from http://software-dl.ti.com/dsps/dsps_public_sw/sdo_sb/targetcontent/dvsdk/DVSDK_2_00/latest//exports/mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin
And the kernel config file is uploaded at http://www.4shared.com/file/KlccP9Qt/config.html
The only change we did in kernel code of davinci_previewer_hw.c file is following because we are feeding input and output buffer from DDR RAM and running is single shot mode.
/* Set previewer source to DDRAM */
SETBIT(pcr, PREV_SOURCE_BIT);
// RESETBIT(pcr, PREV_SOURCE_BIT);
/* Set one shot mode */
SETBIT(pcr, PREV_ONESHOT_BIT);
// RESETBIT(pcr, PREV_ONESHOT_BIT);
Our preview application test code is uploaded in the following link in case if you are interested.
Preview application code: http://www.4shared.com/file/HfVRh8f7/preview_example.html
After downloading the file it needs to be extracted with following command.
tar zxvf preview_example.tgz
Also the code for sending UDP from PC to DM6446 is uploaded at http://www.4shared.com/file/MTX_rBQT/udp_send.html in case if you are interested.
After downloading the file it needs to be extracted with following command.
tar zxvf udp_send.tgz
Let me know if you need any other information to narrow down this bug.
Thank you
--Manjur