Getting Started

Under Construction

This page is currently under construction. Please revisit at a later date for the finalized version.

The page will guide you through getting started with the Camera Reference Design.

Resources

  • Source files are available on GitHub at Camera.
  • Pre-built binaries are attached as GitHub releases and can be found at GitHub Releases.

Windows Platforms

Running the Pre-built Application

  1. Install FrontPanel SDK
  2. 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)
  3. Unzip to a common location, i.e. C:\wxWidgets-3.2.0
  4. 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)
  5. Prepare the bitfiles:
    • Download all the pre-built bitfiles included in the Camera-ExampleDesign-vX.Y GitHub Releases.
    • Create a Bitfiles directory at the same directory level as index.html.
    • Place all the downloaded bitfiles into this Bitfiles directory. The application will look for the FPGA bitfiles in this directory.
  6. Run the application.

Building the C++ Source

  1. Install FrontPanel SDK
  2. 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)
  3. Unzip to a common location, i.e. c:\wxWidgets-3.2.0
  4. Set WXWIN environment variable to c:\wxWidgets-3.2.0
  5. set okFP_SDK environment variable to the location of the SDK’s API folder, i.e. C:\Program Files\Opal Kelly\FrontPanelUSB\API
  6. 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.

Note

Camera.sln uses Visual Studio 2019 toolset by default, but should also be usable with both older and newer versions. See the Visual Studio documentation and communities for additional information.

Linux Platforms

Install wxWidgets

The latest camera example design includes pre-built applications that were built using Ubuntu 20.04 and wxWidgets 3.2. To install wxWidgets 3.2, execute the following sequence of commands:

  1. sudo apt install ca-certificates
  2. sudo apt-key adv --fetch-keys https://repos.codelite.org/CodeLite.asc
  3. sudo apt-add-repository 'deb https://repos.codelite.org/wx3.2.0/ubuntu/ focal universe'
  4. sudo apt update
  5. sudo apt install libudev-dev libwxgtk3.2unofficial-dev

Running the Pre-built Application (Ubuntu 20.04)

  1. Install wxWidgets (see above)
  2. Install FrontPanel SDK
  3. Prepare the bitfiles:
    • Download all the pre-built bitfiles included in the Camera-ExampleDesign-vX.Y GitHub Releases.
    • Create a Bitfiles directory at the same directory level as index.html.
    • Place all the downloaded bitfiles into this Bitfiles directory. The application will look for the FPGA bitfiles in this directory.
  4. Run the application.

Building the C++ Source 

  1. Install wxWidgets (see above).
  2. Install FrontPanel SDK
  3. Run the provided makefile.
    1. cd Software
    2. make 
    3. 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.

  1. Open Vivado GUI and use the TCL console to cd to the HDL folder for your target integration configuration:
    cd <Camera Reference Design Installation Directory>/HDL/XEM8320/SZG-Camera
  2. 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
  3. 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
  4. 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.

Alloy Application (Alpha)

Running the Pre-built Alloy Application

Requirements

Steps

  1. Open FrontPanel 6.0.0 or later.
  2. Click the Download FPGA Configuration button.
  3. Select the appropriate bitfile for your hardware setup from Camera-ExampleDesign-vX.Y-bitfiles.zip.
  4. Click the Load FrontPanel Profile button.
  5. Select the index.html file contained in the Camera-ExampleDesign-v2.4-AlloyApplication.zip and click the open button.

Building the Alloy Application

Requirements

Steps

  1. Extract the sample’s release’s Source Code (zip or tar.gz).
  2. cd to the Alloy folder:
    cd C:/pathToDownload/design-resources-Camera-ExampleDesign-vX.Y/ExampleProjects/Camera/Software/Alloy
  3. Install the dependencies:
    npm install
  4. Build the application:
    npm run build