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.

EVM DM6446 Linux Project Problem

Hello

 i'm new on DaVinci DSP-based Linux systems. We buy a EVM DM6446 evaluation board and we have some problems with the basics operation of the sprue6 that comes with the board. First of all i want to explain the version of the software installed on the board. The board has the Montavista demo linux 4. The software included in the box is old becouse for example there is not the DVDSK 2.00 but the DVEVM 1. For the host station i use Ubuntu 10.04. I read the sprue66b of the board and i tried to recompile the demos but i have got some errors during the make. So i serched on web and i found new versions of the software for the board. I get the following packets

mvl_5_0_0801921_demo_sys_setuplinux.bin

mvl_5_0_0_demo_lsp_setuplinux_02_00_00_140.bin

dvsdk_setuplinux_2_00_00_22.bin

xdctools_setuplinux_3_20_08_88.bin

bios_setuplinux_5_41_10_36.bin

ti_cgt_c6000_7.2.2_setup_linux_x86.bin

I found also the sprue66f and i tried to do the steps indicated in the documentation. When i tried to use NFS from the board, the linux kernel on the board send an error because the version of montavista pro installed on the host. So i tried to rebuid the kernel (step 4.5 of the sprue66f) but in the poit 5 i had the error

*
* Hardware crypto devices
*
*
* Library routines
*
CRC-CCITT functions (CRC_CCITT) [M/y/?] m
CRC16 functions (CRC16) [N/m/y/?] n
CRC32 functions (CRC32) [Y/?] y
CRC32c (Castagnoli, et al) Cyclic Redundancy-Check (LIBCRC32C) [M/y/?] m
#
# configuration written to .config
#
python /home/videosystems/workdir/lsp/ti-davinci/linux-2.6.18_pro500/scripts/kconfig/checksetflags -z -v --config-file .config --flag-file /home/videosystems/workdir/lsp/ti-davinci/linux-2.6.18_pro500/scripts/kconfig/baseconfig
python: error while loading shared libraries: libstdc++.so.5: cannot open shared object file: No such file or directory
make[1]: *** [checksetconfig] Error 127
make: *** [checksetconfig] Error 2

So i skip the point 5 and 6 and i compile the image in the point 7 of the step 4.5 of sprue66f. Then i tried to boot the board via tftp server linked to the image generated and the NFS filesystem. In this way a have the same linux kernel loaded on the board of the demos compiled on the host. The system seems that don't work because i can not enter with the root via telnet.

U-Boot 1.1.3 (Dec  4 2006 - 12:05:38)

U-Boot code: 81080000 -> 81097628  BSS: -> 810A0018
RAM Configuration:
Bank #0: 80000000 256 MB
Flash: 16 MB
In:    serial
Out:   serial
Err:   serial
ARM Clock :- 297MHz
DDR Clock :- 162MHz
Hit any key to stop autoboot:  0
BOOTP broadcast 1
DHCP client bound to address 10.0.0.155
TFTP from server 10.0.0.140; our IP address is 10.0.0.155
Filename 'uImage'.
Load address: 0x80700000
Loading: #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #################################################################
         #####
done
Bytes transferred = 2017320 (1ec828 hex)
## Booting image at 80700000 ...
   Image Name:   Linux-2.6.18_pro500-davinci_evm-
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    2017256 Bytes =  1.9 MB
   Load Address: 80008000
   Entry Point:  80008000
   Verifying Checksum ... OK
OK

Starting kernel ...

Uncompressing Linux.............................................................
........................................................................ done, b
ooting the kernel.
Linux version 2.6.18_pro500-davinci_evm-arm_v5t_le (videosystems@ubuntu) (gcc ve
rsion 4.2.0 (MontaVista 4.2.0-16.0.32.0801914 2008-08-30)) #1 PREEMPT Mon Mar 28
 08:49:08 PDT 2011
CPU: ARM926EJ-S [41069265] revision 5 (ARMv5TEJ), cr=00053177
Machine: DaVinci EVM
Memory policy: ECC disabled, Data cache writeback
DaVinci DM6443 variant 0x1
CPU0: D VIVT write-back cache
CPU0: I cache: 16384 bytes, associativity 4, 32 byte lines, 128 sets
CPU0: D cache: 8192 bytes, associativity 4, 32 byte lines, 64 sets
Built 1 zonelists.  Total pages: 30720
Kernel command line: console=ttyS0,115200n8 noinitrd rw ip=dhcp root=/dev/nfs nf
sroot=10.0.0.140:/home/videosystems/workdir/filesys,nolock mem=120M
PID hash table entries: 512 (order: 9, 2048 bytes)
Clock event device timer0_0 configured with caps set: 03
Console: colour dummy device 80x30
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 120MB = 120MB total
Memory: 117376KB available (3457K code, 689K data, 172K init)
Security Framework v1.0.0 initialized
Capability LSM initialized
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
NET: Registered protocol family 16
DaVinci: 71 gpio irqs
WARNING: both IDE and NOR flash are enabled, but share pins.
        Disable IDE for NOR support.
ch0 default output "COMPOSITE", mode "NTSC"
MUX: initialized LOEEN
MUX: initialized LFLDEN
VPBE Encoder Initialized
LogicPD encoder initialized
SCSI subsystem initialized
usbcore: registered new driver usbfs
usbcore: registered new driver hub
NET: Registered protocol family 2
IP route cache hash table entries: 1024 (order: 0, 4096 bytes)
TCP established hash table entries: 4096 (order: 2, 16384 bytes)
TCP bind hash table entries: 2048 (order: 1, 8192 bytes)
TCP: Hash tables configured (established 4096 bind 2048)
TCP reno registered
davinci_spi_board_init: NO spi support
VFS: Disk quotas dquot_6.5.1
Dquot-cache hash table entries: 1024 (order 0, 4096 bytes)
squashfs: version 3.1 (2006/08/19) Phillip Lougher
JFFS2 version 2.2. (NAND) (C) 2001-2006 Red Hat, Inc.
yaffs Mar 28 2011 08:42:31 Installing.
SGI XFS with no debug enabled
Initializing Cryptographic API
io scheduler noop registered
io scheduler anticipatory registered (default)
LTT : ltt-facilities init
LTT : ltt-facility-core init in kernel
davincifb davincifb: dm_osd0_fb: 720x480x16@0,0 with framebuffer size 675KB
davincifb davincifb: dm_vid0_fb: 0x0x16@0,0 with framebuffer size 1020KB
davincifb davincifb: dm_osd1_fb: 720x480x4@0,0 with framebuffer size 675KB
davincifb davincifb: dm_vid1_fb: 0x0x16@0,0 with framebuffer size 1020KB
davincifb davincifb.0: dm_osd0_fb: Failed to obtain ownership of OSD window.
DAVINCI-WDT: DaVinci Watchdog Timer: heartbeat 60 sec
Serial: 8250/16550 driver $Revision: 1.90 $ 2 ports, IRQ sharing disabled
serial8250.0: ttyS0 at MMIO map 0x1c20000 mem 0xfec20000 (irq = 40) is a 16550A
RAMDISK driver initialized: 1 RAM disks of 32768K size 1024 blocksize
netconsole: not configured, aborting
TI DaVinci EMAC: MAC address is 00:0e:99:02:5f:fa
TI DaVinci EMAC Linux version updated 4.0
TI DaVinci EMAC: Installed 1 instances.
Linux video capture interface: v2.00
vpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loaded
Trying to register davinci display video device.
layer=c748d600,layer->video_dev=c748d760
Trying to register davinci display video device.
layer=c748d400,layer->video_dev=c748d560
davinci_init:DaVinci V4L2 Display Driver V1.0 loaded

 Davici AEW Driver cannot be loaded
 VIDEO PORT is not enabledData Flow path from CCDC is disabled

 Davinci AF driver cannot be loaded
 VIDEO PORT is not enabled
 CCDC needs to be configured<6>i2c /dev entries driver
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 50MHz system bus speed for PIO modes; override with idebus=xx
MUX: initialized HDIREN
MUX: initialized ATAEN
    ide0: MMIO-DMA , BIOS settings: hda:pio, hdb:pio
hda: TOSHIBA MK4032GAX, ATA DISK drive
ide0 at 0xfec661f0-0xfec661f7,0xfec663f6 on irq 22
hda: max request size: 512KiB
hda: 78140160 sectors (40007 MB), CHS=16383/255/63, UDMA(66)
hda: cache flushes supported
 hda: hda1 hda2
Initializing USB Mass Storage driver...
usbcore: registered new driver usb-storage
USB Mass Storage support registered.
usbcore: registered new driver usbhid
drivers/usb/input/hid-core.c: v2.6:USB HID core driver
musb_hdrc: version 6.0, cppi-dma, host, debug=0
musb_hdrc musb_hdrc: No DMA interrupt line
musb_hdrc: USB Host mode controller at c805e000 using DMA, IRQ 12
musb_hdrc musb_hdrc: MUSB HDRC host driver
musb_hdrc musb_hdrc: new USB bus registered, assigned bus number 1
usb usb1: configuration #1 chosen from 1 choice
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
davinci_interrupt 352: VBUS error workaround (delay coming)
mice: PS/2 mouse device common for all mice
rtc_davinci_evm rtc_davinci_evm: rtc intf: proc
rtc_davinci_evm rtc_davinci_evm: rtc intf: dev (254:0)
rtc_davinci_evm rtc_davinci_evm: rtc core: registered rtc_davinci_evm as rtc0
rtc0: hours 12-23 are misreported as duplicate hours 00-11
davinci-mmc davinci-mmc.0: Supporting 4-bit mode
davinci-mmc davinci-mmc.0: Using DMA mode
Advanced Linux Sound Architecture Driver Version 1.0.12rc1 (Thu Jun 22 13:55:50
2006 UTC).
ASoC version 0.13.1
MUX: initialized MCBSP
AIC3X Audio Codec 0.1
asoc: aic3x <-> davinci-i2s mapping ok
ALSA device list:
  #0: DaVinci EVM (aic3x)
IPv4 over IPv4 tunneling driver
TCP bic registered
NET: Registered protocol family 1
NET: Registered protocol family 17
Time: timer0_1 clocksource has been installed.
Clock event device timer0_0 configured with caps set: 08
Switched to high resolution mode on CPU 0
rtc_davinci_evm rtc_davinci_evm: setting the system clock to 2004-02-10 02:56:59
 (1076381819)
Sending DHCP requests .., OK
IP-Config: Got DHCP answer from 0.0.0.0, my address is 10.0.0.155
IP-Config: Complete:
      device=eth0, addr=10.0.0.155, mask=255.255.255.0, gw=10.0.0.19,
     host=10.0.0.155, domain=videosystem.local, nis-domain=(none),
     bootserver=0.0.0.0, rootserver=10.0.0.140, rootpath=
Looking up port of RPC 100003/2 on 10.0.0.140
Looking up port of RPC 100005/1 on 10.0.0.140
VFS: Mounted root (nfs filesystem).
Freeing init memory: 172K
INIT: version 2.86 booting
Starting the hotplug events dispatcher: udevd.
Synthesizing the initial hotplug events...done.
Waiting for /dev to be fully populated...done.
usb 1-1: new low speed USB device using musb_hdrc and address 2
usb 1-1: configuration #1 chosen from 1 choice
input: Microsoft Microsoft 3-Button Mouse with IntelliEye(TM) as /class/input/in
put0
input: USB HID v1.10 Mouse [Microsoft Microsoft 3-Button Mouse with IntelliEye(T
M)] on usb-musb_hdrc-1
Activating swap...done.
Remounting root filesystem...done.
Calculating module dependencies
Loading modules:
Checking all file systems: fsck
fsck 1.40 (29-Jun-2007)
Mounting local filesystems: mount nothing was mounted
umount.nfs: /dev/root: not found or not mounted
Setting up networking ....
/etc/network/options is deprecated.
Setting up IP spoofing protection: rp_filter done.
Disabling IPv4 packet forwarding: done.
Disabling TCP/IP Explicit Congestion Notification: done.
Starting network interfaces: done.
Starting hotplug subsystem:
   pci
   pci      [success]
   usb
   usb      [success]
   isapnp
   isapnp   [success]
   ide
   ide      [success]
   input
   input    [success]
   scsi
   scsi     [success]
done.
Starting portmap daemon....
Cleaning: /tmp /var/lock /var/run done.
Updating /etc/motd...done.
INIT: Entering runlevel: 3
Starting system log daemon: syslogdNET: Registered protocol family 10
6WIND/LSIIT IPv6 multicast forwarding 0.1 plus PIM-SM/SSM with *BSD API
lo: Disabled Privacy Extensions
IPv6 over IPv4 tunneling driver
Mobile IPv6
 klogd.
Starting NFS common utilities: statd.
Starting internet superserver: inetd.
Starting OpenBSD Secure Shell server: sshd/var/empty/sshd must be owned by root
and not group or world-writable.
 failed (255: ).

MontaVista(R) Linux(R) Professional Edition 5.0.0 (0801921)

10.0.0.155 login: root

Login incorrect
10.0.0.155 login:

 

What can the problem be? What can i do to fix this bug? Can the Linux of  the host be the problem?

 

  • Your bootup log looks like it connected to the NFS server. These lines are good to see:

    Looking up port of RPC 100003/2 on 10.0.0.140
    Looking up port of RPC 100005/1 on 10.0.0.140
    VFS: Mounted root (nfs filesystem).

    RPC 100003/2 is nfs and 100005/1 is mountd.

    Did you install the root file system as root? Something like:

    su
    tar -xvf rootfs.tar -C /home/videosystems/workdir/filesys
    exit


    You may also have to disable "root squash" on your NFS server. Can't remember how to do that. Google around.

    Check your "/etc/exports" file to see that you NFS client is allowed rw and sync to your NFS directory. Something like:

    /home/videosystems/workdir/filesys 10.0.0.0/255.255.255.0 (rw,sync)

    You might want to move your filesys to somewhere more "root" like. The "videosystems" home directory may be a regular user and have limited access. I am assuming this is for development because setting up NFS like can be a security problem.

  • Hello

    thanks for the reply. I have set up the nfs with the strings declared at the point 5 of the step 4.3.7 of the sprue6f.

    /home/<useraccount>/workdir/filesys *(rw,no_root_squash,no_all_squash,sync)

    Can the problem be this settings? I never install the root file system like the example you posted. I want to know if the packege rootfs.tar is a package to download fron texas or if the package is in one of the directory of the mv_pro_5.0, in the linux-2.6.18 or if the package is a standard Ubuntu package.

     

    Another problem that i can see during the boot via tftp is that i have an error during the opening of the video ports. Can it be a problem related to the root?

    Linux video capture interface: v2.00
    vpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loaded
    Trying to register davinci display video device.
    layer=c748d600,layer->video_dev=c748d760
    Trying to register davinci display video device.
    layer=c748d400,layer->video_dev=c748d560
    davinci_init:DaVinci V4L2 Display Driver V1.0 loaded

     Davici AEW Driver cannot be loaded
     VIDEO PORT is not enabledData Flow path from CCDC is disabled

     Davinci AF driver cannot be loaded
     VIDEO PORT is not enabled
     CCDC needs to be configured<6>i2c /dev entries driver

     

     

     

  • I don't know if the video port errors are due to the NFS problems. Maybe. Probably. Most device drivers need a file system to work.

    Pre-built root FS are available in many forms. Usually a "tar" file is offered. The BuildRoot utility can produce tar files.

    The file system has be setup correctly. Usually a simple copy of example directory will not work. The file system directory must be built by the root user (uid=0). Some files in the file system directory have special attributes that usually the build system takes care of. The use of "tar" will replicate those special files.

    How did you generate your "filesys" directory?

  • I looked around the Montavista Pro directory. The root fs is installed here:

    /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target

    A TI Wiki article notes the same path. Note that your installation path may not be "/opt". In theory, you use the above path for your NFS root. You could save and restore the Montavista root FS. Effectively copying it. Something like this:

    su
    tar -cvpf rootfs.tar -C /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target .
    mkdir /nfsroot
    tar -xvpf rootfs.tar -C /nfsroot
    exit

    Note the "." at the end of the tar line. You then use "/nfsroot" for NFS root path. Remember to update the "/etc/exports" file as appropriate.

  • First of all thanks for the reply

    To generate the filesys i followed the sprue66f. It seems to do simply a copy of the directory target of the montavista directory in the filesys directory created.

    cp -a /opt/mv_pro_5.0/montavista/pro/devkit/arm/v5t_le/target/* .

    I tried the istruction that you posted and now the root user is enabled. But now there is another problem. I tried to recompite the demos with the commands

    make clean

    make

    make install

    in the directory of the dvsdk 2 like the sprue66f says in the 4.6 step. I tried to execute the encodedecode demo and i see this errors (10.0.0.155 is the board ip). It seems that the new target nfs filesys did not have some components.

     

    root@10.0.0.155:/# cd opt
    root@10.0.0.155:/opt# cd dvsdk/
    root@10.0.0.155:/opt/dvsdk# cd dm6446/
    root@10.0.0.155:/opt/dvsdk/dm6446# ls
    cmemk.ko    decodeCombo.x64P  encode.txt        interface           web
    data        dsplinkk.ko       encodeCombo.x64P  loadmodules.sh
    decode      dvevmdemo         encodedecode      loopbackCombo.x64P
    decode.txt  encode            encodedecode.txt  thirdpartydemos
    root@10.0.0.155:/opt/dvsdk/dm6446# ./encodedecode
    Encodedecode demo started.
    CMEM Error: init: Failed to open /dev/cmem: 'No such file or directory'
    dsplink driver open: /dev/dsplink: No such file or directory
    TraceUtil> Error: Failed to open codec engine "encodedecode"
    TraceUtil> Error: Aborting TraceUtil_start
    CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel modul
    e cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descriptor -1 (
    failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed with 'i
    nsmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel
     module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descripto
    r -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed w
    ith 'insmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK
    kernel module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file des
    criptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been insta
    lled with 'insmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure
    CMEMK kernel module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM fi
    le descriptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been
     installed with 'insmod'dsplink driver open: /dev/dsplink: No such file or direc
    tory
    Error: Failed to open codec engine encodedecode
    dsplink driver open: /dev/dsplink: No such file or directory
    Error: Failed to open codec engine encodedecode
    CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel modul
    e cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descriptor -1 (
    failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed with 'i
    nsmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK kernel
     module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file descripto
    r -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been installed w
    ith 'insmod'CMEM Error: CMEM file descriptor -1 (failed 'open()'), ensure CMEMK
    kernel module cmemk.ko has been installed with 'insmod'CMEM Error: CMEM file des
    criptor -1 (failed 'open()'), ensure CMEMK kernel module cmemk.ko has been insta
    lled with 'insmod'
    root@10.0.0.155:/opt/dvsdk/dm6446#


     

    I still see that there are the errors on the Video port during the startup

     

     

    Linux video capture interface: v2.00
    vpfe vpfe.1: DaVinci v4l2 capture driver V1.0 loaded
    Trying to register davinci display video device.
    layer=c748d600,layer->video_dev=c748d760
    Trying to register davinci display video device.
    layer=c748d400,layer->video_dev=c748d560
    davinci_init:DaVinci V4L2 Display Driver V1.0 loaded

     Davici AEW Driver cannot be loaded
     VIDEO PORT is not enabledData Flow path from CCDC is disabled

     Davinci AF driver cannot be loaded
     VIDEO PORT is not enabled
     CCDC needs to be configured<6>i2c /dev entries driver

     

    There are also the errors:

     

    Sending DHCP and RARP requests .., OK
    IP-Config: Got DHCP answer from 0.0.0.0, my address is 10.0.0.155
    IP-Config: Complete:
          device=eth0, addr=10.0.0.155, mask=255.255.255.0, gw=10.0.0.19,
         host=10.0.0.155, domain=videosystem.local, nis-domain=(none),
         bootserver=0.0.0.0, rootserver=10.0.0.140, rootpath=
    Looking up port of RPC 100003/2 on 10.0.0.140
    Looking up port of RPC 100005/1 on 10.0.0.140
    VFS: Mounted root (nfs filesystem).
    Freeing init memory: 172K
    INIT: version 2.86 booting
    Starting the hotplug events dispatcher: udevd.
    Synthesizing the initial hotplug events...done.
    Waiting for /dev to be fully populated...done.
    Activating swap...done.
    Remounting root filesystem...done.
    Calculating module dependencies
    WARNING: Couldn't open directory /lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_
    le: No such file or directory
    FATAL: Could not open /lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_le/modules.
    dep.temp for writing: No such file or directory

    Loading modules:
    Checking all file systems: fsck
    fsck 1.40 (29-Jun-2007)
    Mounting local filesystems: mount nothing was mounted
    umount.nfs: /dev/root: not found or not mounted

  • Looks like you've got several unrelated problems. I can comment on a few.

    1) The Montevista root FS contains much more than most file systems for embedded systems. It has compiler. It appears that you compiling code on the target. I usually cross-compile on the host. At this point, I think your root FS is good enough. Well almost. The boot message regarding this path:

    /lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_le

    is due to missing modules from the kernel build. If you using the pre-build ones in the DVSDK, the paths are:

    images/kernel/<YOUR_DEVICE>/uImage

    images/kernel/<YOUR_DEVICE>/modules/lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_le

    You should be able to copy over the module directory to your NFS root on the server side at:

    /nfsroot/lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_le

    Assumes that your NFS root is at "/nfsroot". Make sure that you are the root user when you do the copy. The modules are only required is something you are using is dependent upon them. Most custom device development is usually stand-alone and you can ignore the annoying boot message. The only other side effect of not having the modules installed is that you must use "insmod" instead of "modprobe".

    If you are building your own kernel, then you use the make call:

    make modules modules_install INSTALL_MOD_PATH=/nfsroot/lib/modules/2.6.18_pro500-davinci_evm-arm_v5t_le

    to put the modules onto your root FS.

    2) The video port boot messages imply that the kernel was built without all the required bits. That is a bit odd, as TI's pre-built kernels usually are consistent. Unless you aren't using a pre-built kernel.

    3) With your encodedecode demo, you appear to compiling on the target. That should be okay. I am guessing the output is "encode", "decode", "encodedecode", "cmemk.ko", "dsplinkk.ko", and probably other stuff. The ".ko" files are loadable modules. I suspect that the "loadmodules.sh " is used to load those modules before your can execute "encodedecode". I believe there are other forum threads dealing with this demo.