Getting Started
The page will guide you through getting started with the Camera Reference Design. Source files are available on our downloads page. Binary releases are available for both Windows and Linux operating systems.
Camera Reference Design Developer’s Release
- Pre-built okCameraApp and okSnapApp binaries
- Pre-built CameraApp-JS web application
- Pre-built bitfiles for camera and device pairings listed in Release Notes
- okCameraApp C++ source code
- okSnapApp C++ source code
- CameraApp-JS source code
- FPGA HDL source code for image capture processor for camera and device pairings listed in Release Notes
- FreeMat sample source code
- CPLD source code
Windows Platforms
Running the Prebuild Application
- Install FrontPanel SDK
- Obtain the following from wxWidgets 3.2.0 release Github:
wxMSW-3.2.0_vc14x_ReleaseDLL.7z
(For x32)wxMSW-3.2.0_vc14x_x64_ReleaseDLL.7z
(For x64)
- Unzip to a common location, i.e.
C:\wxWidgets-3.2.0
- Add paths to
PATH
environment variable:C:\wxWidgets-3.2.0\lib\vc14x_x64_dll
(For x64)C:\Program Files\Opal Kelly\FrontPanelUSB\API\lib\x64
(For x64. Use location of your FrontPanel SDK install directory)C:\wxWidgets-3.2.0\lib\vc14x_dll
(For x32)C:\Program Files\Opal Kelly\FrontPanelUSB\API\lib\Win32
(For x32. Use location of your FrontPanel SDK install directory)
- Run the application.
Building the C++ Source
- Install FrontPanel SDK
- Obtain the following from wxWidgets 3.2.0 release Github:
wxWidgets-3.2.0-headers.7z
wxMSW-3.2.0_vc14x_Dev.7z
(For x32)wxMSW-3.2.0_vc14x_x64_Dev.7z
(For x64)
- Unzip to a common location, i.e.
c:\wxWidgets-3.2.0
- Set
WXWIN
environment variable toc:\wxWidgets-3.2.0
- set
okFP_SDK
environment variable to the location of the SDK’sAPI
folder, i.e.C:\Program Files\Opal Kelly\FrontPanelUSB\API
- Open
Software\Camera.sln
file in Visual Studio and build it.- Building in
Release
configuration is recommended for best performance. - Building in
Debug
configuration is recommended for troubleshooting. See “Debug” section below.
- Building in
Linux Platforms
Install wxWidgets
The latest camera reference design (v2.3.1) includes prebuilt applications that were built using Ubuntu 20.04 and wxWidgets 3.2. To install wxWidgets 3.2, execute the following sequence of commands:
sudo apt install ca-certificates
sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc
sudo apt-add-repository 'deb https://repos.codelite.org/wx3.2.0/ubuntu/ focal universe'
sudo apt update
sudo apt install libudev-dev libwxgtk3.2unofficial-dev
Running the Prebuild Application (Ubuntu 20.04)
- Install wxWidgets (see above)
- Install FrontPanel SDK
- Run the application.
Building the C++ Source
- Install wxWidgets (see above).
- Install FrontPanel SDK
- Run the provided makefile.
cd Software
make
DEBUG=1
on make command line is recommended for troubleshooting. See “Debug” section below.
Building the Gateware
All 7-Series and UltraScale devices provide a TCL script build method to generate the required IPs and import the required source files for the Vivado project mode work flow. These brief instructions presume you already have familiarity with the FrontPanel SDK and Vivado.
- Open Vivado GUI and use the TCL console to
cd
to theHDL
folder for your target integration configuration:cd <Camera Reference Design Installation Directory>/HDL/XEM8320/SZG-Camera
- Run the provide TCL script. If the product is offered in multiple device densities then use the TCL script with the correct suffix that applies for your product:
source project.tcl
- Import FrontPanel HDL for your product into the project. These sources are located within the FrontPanel SDK installation. Files are located at the following:
<FrontPanel Installation Directory>/FrontPanelUSB/FrontPanelHDL/XEM8320-AU25P/Vivado-2021
- Generate Bitstream.
Debug
When building okCameraApp for debugging, the program needs to find the resource.xrc
file during execution. If it is not found in the default location, okCAMERA_RESOURCES_DIR
environment variable can be used to specify its directory, e.g.
okCAMERA_RESOURCES_DIR=`pwd`/okCameraApp ./bin/okCameraApp
Note that in release/production builds, the resource file is embedded directly into the application executable (or application bundle under macOS) and this environment variable is not used.