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
- Critical link has created ini files for each of the supported cameras
- 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.
- Power the baseboard and log in
- login is root
- No password is required
- Change directory to the demo_app source
root@mitysom-5csx-vdk:~# cd sw/demo_app/
- Initialize autotools
root@mitysom-5csx-vdk:~/sw/demo_app# autoreconf --install
- Configure autotools
root@mitysom-5csx-vdk:~/sw/demo_app# ./configure
- Modify the code.
- For example you can use vi (a simple text editor) to modify src/main.cpp with the following command:
root@mitysom-5csx-vdk:~/sw/demo_app# vi src/main.cpp
- 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.
- For example you can use vi (a simple text editor) to modify src/main.cpp with the following command:
- Build the code.
root@mitysom-5csx-vdk:~/sw/demo_app# make
- Test run the modified application
- The compiled executable will be in /home/root/sw/demo_app/src and can be run directly from there.
root@mitysom-5csx-vdk:~/sw/demo_app# ./src/demo_app
- The compiled executable will be in /home/root/sw/demo_app/src and can be run directly from there.
- Install the application
- If you wish to update the application that is run when "demo_app" is executed overwrite /usr/bin/demo_app
root@mitysom-5csx-vdk:~/sw/demo_app# cp src/demo_app /usr/bin/demo_app
- If you wish to update the application that is run when "demo_app" is executed overwrite /usr/bin/demo_app
Go to top