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.

DM355 and CMEMK insert



HI everyone.

 I just started using the DM355EVM and I have some problem to load the cmemk module.

I want to start the TI demo and so I recompile the kernel (2.6.10) and cmemk module. I don't have error but a strange end terminal output :

HOST # make ARCH=arm CROSS_COMPILE=arm_v5t_le- INSTALL_MOD_PATH=/home/roche/workdir/filesys modules_install

  INSTALL drivers/input/evdev.ko
  INSTALL drivers/net/ppp_async.ko
  INSTALL drivers/net/ppp_deflate.ko
  INSTALL drivers/net/ppp_generic.ko
  INSTALL drivers/net/ppp_synctty.ko
  INSTALL drivers/net/slhc.ko
  INSTALL drivers/net/tun.ko
  INSTALL fs/autofs4/autofs4.ko
  INSTALL fs/exportfs/exportfs.ko
  INSTALL fs/nfsd/nfsd.ko
  INSTALL fs/nls/nls_ascii.ko
  INSTALL fs/nls/nls_utf8.ko
  INSTALL fs/smbfs/smbfs.ko
  INSTALL fs/xfs/xfs.ko
  INSTALL lib/crc-ccitt.ko
if [ "arm_v5t_le-" = "" ]; then \
    if [ -r System.map ]; then \
        "/sbin/"depmod -ae -F System.map -b /home/roche/workdir/filesys -r 2.6.10_mvl401;fi;fi

 

And went I try to start "./loadmodules.sh", I have a version error.

# ./loadmodules.sh
insmod: cannot insert `cmemk.ko': File exists (-1): File exists
dm350mmap: disagrees about version of symbol davinci_request_dma
dm350mmap: Unknown symbol davinci_request_dma
insmod: cannot insert `dm350mmap.ko': Unknown symbol in module (-1): No such file or directory

I don't understand, I use dvsdk_1_30_01_41 ; dm355_codecs_1_13_000 ; codec_engine_2_00_01 ; cmem_2_00_01 and mvl_4_0_1_demo_lsp_setuplinux_01_20_00_014

File cmemk.ko and dm350mmap.ko are in same directory than loadmodules.sh

I've been checking the forum and google, but haven't find solution. I hope that someone can help me.

Excuse me for my bad english and thanks you for responce

Guillaume

  • Two things stand out from your e-mail.

    1) Although cmemk.ko is a loadable kernel module, unlike other kernel modules, it is not installed via

       HOST # make ARCH=arm CROSS_COMPILE=arm_v5t_le- INSTALL_MOD_PATH=/home/roche/workdir/filesys modules_install

    This is because it It has its own directory build structure outside of linux kernel.  It is typically installed when use does a 'make', followed by a 'make install' on the root DVSDK directory (a step in Getting Started Guide).

    2) Describing error messages

        insmod: cannot insert `cmemk.ko': File exists (-1): File exists   : this error means cmemk.ko has already been inserted, perhaps by a startup script or by user.  I would suggest you look at the bootup log and confirm is cmem is being inserted as part of boot script.

       dm350mmap: disagrees about version of symbol davinci_request_dma  : messages such as "disagrees about version of symbol " normally mean that the module you are installing (dm350mmap.ko in this case), is not compariable with the current kernel version.  First thing that comes to mind is that maybe older kernel is being loaded from flash and mixed with newer file system via NFS (this mistake happens often).  Since kernel and file-system can reside in multiple places, you need to ensure that they have been properly updated to the locations where you are loading these from.  Personally, I typically use kernel via TFTP and file system via NFS; this way I ensure they both come from my host and reflect my latest install.  From time to time, old u-boot may also cause this problem, so it is a good idea to upgrade all software components at a time when upgrading to a new DVSDK.

     

  • Hi, first of all, thanks for your quick response.

    Indeed cmemk module is load by a startup script, thanks.

     

    I think I boot kernel image from TFTP :

    DHCP client bound to address 192.168.61.254
    TFTP from server 192.168.61.200; our IP address is 192.168.61.254
    Filename 'uImage'.
    Load address: 0x80700000
    Loading: #[…]#
    done
    Bytes transferred = 1578840 (181758 hex)
    ## Booting image at 80700000 ...
    Image Name: Linux-2.6.10_mvl401
    Image Type: ARM Linux Kernel Image (uncompressed)
    Data Size: 1578776 Bytes = 1.5 MB
    Load Address: 80008000
    Entry Point: 80008000
    Verifying Checksum ... OK
    OK
    Starting kernel ...

     

    and when I check kernel version, I have :

    Linux 2.6.10_mvl401 Thu Apr 16 10:47:56 CEST 2009

     

    I think so I have some problems to charge file system via NFS because the tree on dm355 is different of my NFS tree (for example /opt/dvsdk/dm355/ doesn't exist on dm355 target). However, before load new kernel by TFTP, the NFS file system works (I run the simple programm (Start Guide 4.4.1) correctly)

    Why tree had change ?

     

    I don't if you need printenv for help me but :

    dnsip=216.34.94.184
    autoload=yes
    bootfile=uImage
    serverip=192.168.61.200
    rootpath=/home/roche/workdir/filesys
    nfshost=192.168.61.200
    bootargs=console=ttyS0,115200n8 rw noinitrd ip=dhcp root=/dev/mtdblock3 rootfstype=yaffs2 mem=116M
    video=davincifb:vid0=720x576x16,2500K:vid1=720x576x16,2500K:osd0=720x576x16,2025K
    davinci_enc_mngr.ch0_output=COMPOSITE davinci_enc_mngr.ch0_mode=ntsc
    bootcmd=dhcp;bootm

    Thanks you very much for your help

  • Not sure I understand 100%.

    We have had a few DVSDK releases for DM355, your NAND flash likely has software components based on older DVSDK.  From time to time we will release a new DVSDK which means you will need to upgrade your software (if you wish to of course) again.

    Are you having prolems with your NFS mount?  make sure your /etc/exports matches your bootargs. (see GSG)

     

  • Excuse me for my bad english.

    Thanks you very much for your help, I find and fixe my problem. In fact, I load NAND file system and not NFS. Thanks