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