Project

General

Profile

ARM SW Architecture and Demo App

ARM Software Architecture

There are three primary components to the software required to run the Camera Example:
  • demo_app - The user space application that ties everything together and, based on user input, executes demo code.
  • libmitycambconadapter - The Pylon adapter layer that connects the Pylon API to necessary hardware interfaces.
  • libfpga - A library containing drivers for interacting with Altera VIP blocks, etc.

libfpga

The source for this library can be found at /home/root/sw/libfpga on the demo unit.

Files worthy of mentioning:
  • BCONInput - Provides interface to FPGA deserializer bcon_input
  • frame_buffer_manager - Provide abstracted access to VIP Frame Buffer II cores, allowing access to individual Reader Only or Writing Only halves, or the ability to chain a Writer Only to Reader Only via software for FPGA passthrough of frame data.

libmitycambconadapter

The source for this library can be found at /home/root/sw/bconadapter on the demo unit.

Files worthy of mentioning:
  • cam.ini.README - Details the ini configuration file format, which is used to provide configuration details to adapter layer (i.e. i2c source details, streaming source details)
    • Critical link has created ini files for each of the supported cameras
      • /home/root/da1280-54bm_cam1.ini
      • /home/root/da1280-54bm_cam2.ini
      • /home/root/cat daA2500-14bc.ini
  • MityCAMBconAdapterVipFbStream - Uses libfpga to provide a link between and control of the FPGA components bcon_input - BCON Deserializer and VIP Frame Buffer II (Writer Only) - Frame Data In so that captured frames can be properly provided to Pylon.

demo_app

The source for this application can be found at /home/root/sw/demo_app on the demo unit.

Files worthy of mentioning:
  • Environment setup files
    • /home/root/setup.sh
    • /home/root/setup_dual.sh
  • main - Entry point for user space application that streams data from BCON camera to HDMI.
    • Data can either be passed entirely through FPGA or passed through Pylon layer based on use of input argument flag --no-pylon-stream
    • Basler and Critical Link overlay can be disabled or re-enabled at run time via 'o' command.
      h2. Modifying the demo_app

This section details the steps necessary to modify and rebuild the demo_app via the source included on the demo unit.

  1. Power the baseboard and log in
    1. login is root
    2. No password is required
  2. Change directory to the demo_app source
    1. root@mitysom-5csx-vdk:~# cd sw/demo_app/
  3. Initialize autotools
    1. root@mitysom-5csx-vdk:~/sw/demo_app# autoreconf --install
  4. Configure autotools
    1. root@mitysom-5csx-vdk:~/sw/demo_app# ./configure
  5. Modify the code.
    1. For example you can use vi (a simple text editor) to modify src/main.cpp with the following command:
      1. root@mitysom-5csx-vdk:~/sw/demo_app# vi src/main.cpp
    2. If you have never used vi before it is recommended to look for a beginners guide that will explain the basics of how the editor functions.
  6. Build the code.
    1. root@mitysom-5csx-vdk:~/sw/demo_app# make
  7. Test run the modified application
    1. The compiled executable will be in /home/root/sw/demo_app/src and can be run directly from there.
      1. root@mitysom-5csx-vdk:~/sw/demo_app# ./src/demo_app
  8. Install the application
    1. If you wish to update the application that is run when "demo_app" is executed overwrite /usr/bin/demo_app
      1. root@mitysom-5csx-vdk:~/sw/demo_app# cp src/demo_app /usr/bin/demo_app

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