Project

General

Profile

MityCAM Software Development

This page provides basic build instructions and developer's notes for building the MityCAM embedded ARM linux application and FPGA image for the MityCAM family of cameras.

Host Development Requirements

In order to develop ARM applications for the MityCAM camera, you need to setup and configure a linux development host and install the Altera Embedded Design software developer's kit. Currently, the ARM software is build using the kit from version TBD. In addition, you will need the following additional software packages:

Ubuntu Packages Required

subversion git build-essential autoconf

Contents of MityCAM repository area

Once you have been granted access to the software, you will need to use subversion to check out the software to your linux development platform. You must have a valid user name and password to access the data.

A list of the key software directories that should be contained in the checkout is shown below.

+---build
+---hw
|   +---fpga                 <-- fpga VHDL code and projects for all MityCAM variants
|       +---ip                        
|       +---CIS1910
|       +---CIS2521
|       +---CMV8000_CL
+---sw
    +---3rdparty             <-- 3rd party software libraries used by ARM software
    +---ARM                  <-- ARM software and scripts
    |   +---camera_software  <-- main project directory for camera_application ARM program
    |   |   +---src
    |   |       +---CommandHandlers
    |   |       +---CommandInterface
    |   |       +---IOChannel
    |   |       +---Sensors
    |   |       +---StatusReporter
    |   |       +---Utility
    |   +---common           <-- Common software files
    |   +---etc              <-- scripts to install on embedded linux /etc folder
    |   +---libdaq           <-- library for I2C based ADCs and LED controllers
    |   +---libfpga          <-- common library for FPGA control code
    |   +---pages            <-- python and html pages to be installed on /www/pages on embedded linux
    +---configurations
    +---docs
    +---PC
    |   +---camlink_panel    <-- Source code for Camera Link control panel
    +---scripts              <-- Misc scripts for startup, etc.

Building the Images

Building the ARM application (camera_application)

The ARM application builds using the GNU autoconfigure packages. Use the MityCAM-Yocto toolchain. Change directories to the sw/ARM/camera_software folder.

toolchain from /shared/projects/MityCAM-jenkins/intermediates/MityCAM-Yocto/latest:

cd sw/ARM/camera_software
source /opt/poky/2.4.3/environment-setup-cortexa9hf-neon-poky-linux-gnueabi
./configure --host=arm-poky-linux-gnueabi
make
make DESTDIR=$PWD/ARM install

Using Qt Creator as editor

Note: Need to run ./configure and make atleast once
Note: Need to launch qtcreator from shell that has sourced toolchain

  • Enable AutotoolsProjectManager
    • Help -> About Plugins
    • Check "AutotoolsProjectManager"
    • Restart QtCreator
  • File -> Open File or Project
  • Select Makefile.am in sw/ARM/camera_software
Fix clang warnings:
  • Launch qtcreator so we can edit clang options https://wiki.qt.io/Qt_Creator_Clang_Code_Model#Internal_command_line
    QTC_CLANG_NO_DIAGNOSTIC_CHECK=1 qtcreator
    
  • Update clang options
    • Goto Projects on left side
    • Select "Clang Code Model"
    • Change Global to Custom
    • Select "Clang-only checks for almost everything" and hit Copy...
    • Add system include path to cross compiler into clang options
      -isystem /opt/poky/2.4.3/sysroots/cortexa9hf-neon-poky-linux-gnueabi/usr/include
      
    • OK
    • Set "Diagnostic Configuration" to new copy

Building the FPGA

In order to build the FPGA, in addition to the Altera Embedded Design Suite, you will need to install the Altera Quartus development software. You should be able to build the FPGA using web-pack licenses.

Building the complete filesystem (TBC)

Building the kernel / kernel modules

Go to top
Add picture from clipboard (Maximum size: 1 GB)