MATRIX VISION - mvBlueLYNX-M7 Technical Documentation
System software

Introduction

Since mvBlueCOUGAR-Pis a processor based camera system, it is running an operating system (OS). As a matter of fact Linux is an optimum solution for embedded systems regarding not only

  • size,
  • flexibility and
  • maintainability but also
  • no cost (freeware) and
  • high reliability.

The system is built using several core components stored in non-volatile flash memory:

  • Bootloader U-Boot.
  • FPGA binary for device specific hard real-time jobs and image acquisition.
  • Recent 2.6 Linux kernel (actually 2.6.27).
  • Root file system built on BusyBox and libc-2.6 as well as MV device drivers.
  • mvIMPACT Acquire / mvIMPACT libs and user applications based on IPKG packages located in /flash.

Optional or custom software can be installed in non-volatile NAND flash mounted on /flash. The chips actually has 512MBit (=64MByte) density and is driven by a writable filesystem called JFFS2.

System start can be customized by pre-defining network setup (DHCP /static ip or LLA) and introducing custom autostart code (see /flash/autostart). This gives maximum flexibility to the user. There are lots of handy system functions including shell scripting capabilities available to experienced Linux users making this device suitable for a variety of tasks.

Overall stability is overseen by a hardware watchdog - if any vital functionality fails the system will reboot into a well defined state.

Installing IPK packages via VMware

With the preconfigured development environment "mvSDK for intelligent cameras", which is available on DVD, you can use the Virtual Machine (VMware) to install IPK packages. This could be useful, if your development environment has no connection to the Internet.

The IPK packages are located here:

/var/www/ppc_603e # for mvBlueLYNX IPK packages
/var/www/ppc_6xx # for mvBlueLYNX-M7 and mvBlueCOUGAR-P IPK packages

The Apache webserver of the Virtual Machine (VMware) makes them available and by using a browser you can navigate through the directories. The only thing you have to know is the IP address of the Virtual Machine (VMware).

The path to the directory can be entered in the ipk.conf of device (/var/www/ppc_603e for mvBlueLYNX IPK packages; /var/www/ppc_6xx for mvBlueLYNX-M7 and mvBlueCOUGAR-P IPK packages).

Now, you can use the Virtual Machine (VMware) as the IPK feed.

How to handle IPK packages

To install a package file called mvstest.ipk:

mvBL-M7:/# ipkg install mvstest.ipk

To install this package from a URL (this URL does not really exist!):

mvBL-M7:/# ipkg install http://feed.mvsensor.org/mvstest.ipk

To upgrade this package to a newer version:

mvBL-M7:/# ipkg upgrade mvstest

To remove this package:

mvBL-M7:/# ipkg remove mvstest

To list installed packages:

mvBL-M7:/# ipkg list

etc.

Kernel modules

With so-called loadable Kernel modules, it is possible to add device drivers or file system drivers to the Linux Kernel while it is running. The Kernel isolates certain functions, including these, especially well so they don't have to be intricately wired into the rest of the Kernel.

List of modules

The mvBlueLYNX-M7 offers several interfaces. If you want to use them you have to load the corresponding Kernel modules:

Device Kernel module
USB ehci-hcd.ko
SD-/SDHC-Card mmc_sdi.ko

Loading modules

To load the needed Kernel module, you have to use the command insmod.

Activating USB

The USB interface supports hot-plugging. So it is possible to load the Kernel module before you connect the USB device:

mvBL-M7> insmod /modules/ehci-hcd.ko

Afterwards, you can connect the USB device and mount it:

mvBL-M7> mount -t /dev/usb1 /mnt/usb/

To list the content of the USB, you can use following command:

mvBL-M7> ls /mnt/usb/

Activating SD-/SDHC-Card

In contrast to the USB ports, the SD-/SDHC-Card port does not support hot-plugging. Therefore, you first have to connect the SD-/SDHC-Card, then you have to load the Kernel module as follows:

mvBL-M7> insmod /modules/mmc_sdi.ko



mvtools

Introduction

The mvtools are some useful tools for the mvBlueCOUGAR-P / mvBlueLYNX-M7, needed especially for the mvIMPACT library. The tools are installed by default if you received the device with mvIMPACT licenses. On the CD the mvtools IPK package is placed in the IPK feed folder. The tools are specified below.

Tools overview

img_path

This bash script helps you to set the image path system variable VL_FILE_DIR needed for the mvIMPACT SDK samples and demos.

ldpathset

This bash script helps you to set the library path system variable LD_LIBRARY_PATH. It can be used for the mvIMPACT libraries if this are not installed on the mvBlueLYNX but they are placed in a mounted folder.

lic_install

To install the mvIMPACT SDK library licenses on the mvBlueCOUGAR-P / mvBlueLYNX-M7 you need this tool. The main installation tool is the bash script lic_install.

shwfree

This bash script can be used to show the used and available memory. The standard free tool is called in a loop each 5 seconds. The script can be exit with [ CTRL ]+[ C ]. It is useful to detect memory leaks in the application.

genlogs (since version 1.9.0)

As the name suggests, the genlogs tool generates some log files and saves them as a tar file under /tmp . The log files are:

  • ppcboot_env.log , entries of /proc/ppcboot_env
  • dmesg.log , dmesg outputs (Kernel messages)
  • ipkgstatus.log , software state on the mvBlueLYNX
  • lics.log , state of mvIMPACT licenses (since version 1.11.2)
  • ps.log , list of all running processes (since version 1.11.3)
  • logread.log , local logger (since version 1.11.3)

The prefix of the log files is the serial number of the mvBlueLYNX. To ease possible support, please send this tar file to the support.

Installing the mvtools

To install the mvtools package file you have to make the following entry:

mvBC-P> ipkg install mvtools_1.0.0.5_ppc_6xx.ipk

The name of the file contains:

the package name : mvtools
the package version : 1.0.0.5
the package target : ppc_6xx