Technical Application Note (TAN2012001): Getting Started with FlyCapture 2 and ARM
With the release of version 2.3 of the FlyCapture SDK, users can program and operate FLIR USB 2.0 or USB 3.1 machine vision cameras on an ARM device in a Linux environment. This Application Note explains the components and steps that are necessary to get started with FlyCapture 2.3 and ARM as well as the limitations of using FlyCapture2 on an ARM device.
Testing is ongoing. Wherever possible, limitations have been noted; however, as more testing is completed this information may change. All possible configurations of ARM and cameras may not experience the same results.
Before installing FlyCapture, you must have the following prerequisites:
For information specific to USB 3.1 cameras, please see Streaming USB 3.1 Cameras on Embedded Systems.
For FlyCapture2 to run on a Linux Ubuntu system, the following dependencies must be installed:
user$: sudo apt-get install libraw1394-11 libavcodec57 libavformat57 \
libswscale4 libswresample2 libavutil55 libgtkmm-2.4-1v5 \
libglademm-2.4-1v5 libgtkglextmm-x11-1.2-0v5 libgtkmm-2.4-dev \
libglademm-2.4-dev libgtkglextmm-x11-1.2-dev libusb-1.0-0
user$: sudo apt-get install libraw1394-11 libavcodec-ffmpeg56 \
libavformat-ffmpeg56 libswscale-ffmpeg3 libswresample-ffmpeg1 \
libavutil-ffmpeg54 libgtkmm-2.4-dev libglademm-2.4-dev \
user$: sudo apt-get install libraw1394-11 libgtkmm-2.4-1c2a libglademm-2.4-1c2a libusb-1.0-0
user$: sudo apt-get install libraw1394-11 libgtk2.0-0 libgtkmm-2.4-dev libglademm-2.4-dev libusb-1.0-0
The raw1394 module that is installed with the libraw1394-8 package may not load after a reboot, causing a FlyCapture bus event error and failure to start an application. To fix, add raw1394 to the /etc/modules file. If problems persist, add video1394 as well.
To install the FlyCapture2 SDK:
tar xvfz flycapture-<version>_arm.tar.gz
sudo cp libflycapture* /usr/lib
sudo cp C/libflycapture* /usr/lib
sudo sh flycap2-conf
The FlyCapture SDK includes a number of example applications to help get you started in programming common API tasks. Example files are installed under flycapture-<version>_arm/bin (where you extracted the package).
We suggest copying the extracted folder and sub-folders to a location with write access.
To compile the examples, install the GNU C++ (g++) compiler that is included with the build-essential package:
user$ sudo apt-get install build-essential
To compile a specific example, run the makefile located in the example directory. Binaries are copied to the bin directory, and libraries are copied to the lib directory. For example:
user$ cd <extraction folder>/FlyCapture-<version>-arm/src/FlyCapture2Test
You can also use a cross compiler to build examples for the target architecture. A cross compiler that works well is CodeSourcery.
Alternatively, you can set up an ARM emulator using QEmu, install Ubuntu on it, and build your software on the virtual machine.
Linux users do not have access to Microsoft Windows-only technologies such as:
FlyCapture2 on an ARM device does not support:
Additional ARM device limitations:
We suggest the following tools for image and video viewing. FLIR does not officially endorse these tools.
For image viewing:
For video viewing:
For working with Glade files:
Uninstall by manually removing the FlyCapture files, as in the following example:
user$: sudo rm /usr/lib/libflycapture*
Delete any extracted files or newly compiled files on your system.