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.

prebuilt sanity test failing on DM6446

Other Parts Discussed in Thread: ASH

Hi,

   I have a DM6646 camera system ( not an EVM board)  which has MVL 4.0.1.  I am trying to run the sample dvsdk and codec engine examples. I telnet'ed into the target and in the busybox 1.2.1  ash shell  I mounted the nfs host directory. I ran the prebuilt codec engine sanity test example from DVSDK 1.30 with MVL Pro 4.0.1 ( as given in the build intruction page, dvsdk_1_30_01_41/codec_engine_2_00_01/examples/apps ). Here is the ouput

 

# sh loadmodules.sh
insmod: cannot insert `cmemk.ko': File exists (-1): File exists
insmod: cannot insert `dsplinkk.ko': File exists (-1): File exists
# ./app.out
App-> Application started.
CMEM Error: getVersion: Failed to retrieve version from driver: -1.
CMEM Error: init: version mismatch between interface and driver.
CMEM Error:     needs driver version 0x2000000, got 0xffffffff
@0x0002934b:[T:0x4003a6e8] OM - Memory_init> ERROR: Failed to initialize CMEM
@0x0002ccf1:[T:0x40945b60] OP - Process_create_d> Loading and starting DSP server 'video_copy.x64P' FAILED, status=[0x80008000] (look for error code 'DSP_EBASE + 0x0' in dsplink*/packages/dsplink/gpp/inc/errbase.h)
@0x0002d2af:[T:0x40945b60] OP - Process_delete_d> Closing remote transport FAILED, status=0x80008000.
@0x0002d7b2:[T:0x40945b60] OP - Process_delete_d> Stopping DSP FAILED, status=0x80008000
@0x0002dbd7:[T:0x40945b60] OP - Process_delete_d> Closing pool FAILED, status=0x8000800b
@0x0002e468:[T:0x40945b60] OP - Process_delete_d> Detaching from DSP FAILED, status=0x80008008
@0x0002e8fe:[T:0x40945b60] OP - Process_delete_d> Destroying DSP FAILED, status=0x80008002
@0x0002edbf:[T:0x4003a6e8] CE - rserverOpen: can't start 'video_copy.x64P'; Process_create failed
CEapp-> ERROR: can't open engine video_copy
App-> Application FAILED.

the linux version on the DM6446 target is

# uname -a
Linux IPC01 2.6.10_mvl401-davinci_evm #3 Fri Aug 24 16:44:08 EDT 2007 armv5tejl unknown

 

Looks like a board startup script inserts cmemk.ko and dsplinkk.ko .  I am not sure about the CMEM error's, any idea as to what may be going wrong ?

 

Thanks

 

 

 

  • This sounds like whatever version of CMEM and DSPLink are loaded into the kernel do not match what your application is expecting.

    There are a couple ways around this, the typical way would be to boot the kernel and file system over TFTP/NFS as discussed in the getting started guide so that you are getting the current versions that the DVSDK is expecting. As an alternative you could try doing an rmmod on the two modules, and then insert them with the loadmodules.sh script off of your NFS mount on the host, the problem with this is that if the kernel version does not match the modules, they may not be able to load, in which case you are back to having to TFTP your current kernel at a minimum, if not just go for the full TFTP/NFS boot.

    I would also like to note that DVSDK 1.30 is a bit old, if you are just getting started you may want to try out a 2.x release for DM6446, assuming your camera system board allows for it. Also note that the codec engine examples may be expecting particular driver apis that might not exist outside of the EVM, though this would likely manifest itself later in the execution process.

  • Hi,

      I will updgrade to DVSDK 2.x , hopefully not all codec engine / dvsdk examples rely on driver api's particular to the EVM. I am trying to get familiar with the linux toolchain.

    I was considering booting the kernel and file system over TFTP /NFS. As this setup does not have a serial port, I think I will have to modify the  /etc/init.d/rcS startup script with the bootargs given in DM6446 GSG

    bootcmd=0x2050000
    nfshost=<ip address of nfs host>
    rootpath=<directory to mount*>
    bootargs='video=davincifb:vid0=720x576x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=$(videostd) console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nfsroot=$(nfshost):$(rootpath),nolock mem=120M'

    Is this the right approach? Where can I find information regarding the various fields of davinci_enc_mngr and possible values they can be assigned.

     

    Thanks