Skip to content

4Kp60 Multi-Sensor HDR Camera Solution System Example Design for Agilex™ 5 Devices - SOF Modular Design Toolkit (MDT) Flow

Pre-requisites

Software Requirements to build

  • Linux OS installed.
  • 72 GB free storage (~2GB for Quartus® Build and ~70GB for YOCTO/KAS build).
  • Python/PIP/KAS for Yocto Build (or a suitable container) see KAS.
  • Altera® Quartus® Prime Pro Edition version 25.1 Linux.
    • Altera® Quartus® Agilex™ 5 Support.
  • FPGA NiosV Open-Source Tools 25.1 (installed with Quartus® Prime).


License Requirements to build

  • OpenCore Plus (OCP) IP evaluation license.
  • Free licenses (must be downloaded and installed):


Hardware Requirements


Agx5-MDK

Agilex™ 5 FPGA E-Series 065B Modular Development Kit



Software Requirements to run

  • Host PC with:
    • 8 GB of RAM (less if not rebuilding binaries).
    • Linux/Windows OS installed.
    • Serial terminal (such as GtkTerm or Minicom on Linux, and TeraTerm or PuTTY on Windows).
      • FTDI FT232R USB UART drivers (for a Windows host).
    • Tool to write images for removable USB drives or microSD cards such as Win32DiskImager on Windows or "dd" command on Linux.
    • Altera® Quartus® Prime Pro Edition version 25.1 Programmer and Tools.
    • Ethernet connection (either direct from Host PC to development board, or via a switch or router).
      • Note, you may need to disconnected/disabled VPN if it is installed on the Host PC.
    • Web browser.


Getting Started - build and run SOF, and microSD Card Image

Follow the instructions provided in this section to build the 4K Multi-Sensor HDR Camera Solution System Example Design on the Agilex™ 5 FPGA E-Series 065B Modular Development Kit. You will build a SOF file using the Modular Development Toolkit, and a microSD Card image using KAS and Yocto (suitable for use with the OpenCore License).

Reference pre-built Binaries

You can use the pre-built binaries for reference:

Boot Source Link
Pre-built microSD Card Image for SOF MDT Flow fpga-first-vvp-isp-demo-image-agilex5_mk_a5e065bb32aes1.wic.gz
Pre-built FPGA First .sof file fsbl_agilex5_modkit_vvpisp_time_limited.sof

HW Compilation

Use the SOF Modular Design Toolkit (MDT) Flow to create and build the FPGA Design.

SW Compilation

Use the Create microSD card image (.wic.gz) using YOCTO/KAS flow to create the microSD card image.

Note

use KAS_MACHINE=agilex5_mk_a5e065bb32aes1 and kas/agilex_camera_ff.yml configuration

Programming

Setting Up your Modular Development Board

Warning

Handle ESD-sensitive equipment (boards, microSD Cards, Camera sensors, etc.) only when properly grounded and at an ESD-safe workstation

  • Configure the board switches as shown:


board-1

Modular Development Board - Default Switch Positions


Main switch configurations used by the Camera Solution System Example Design

JTAG Mode: SOM S4=OFF:OFF, or
ASx4 (QSPI) Mode: SOM S4=ON:ON


  • Connect micro USB cable between the carrier board (J35) and the Host PC. This will be used for JTAG communication. Look at what ports are enumerated on your Host computer. There should be a series of four.
  • Connect micro USB cable between the SOM board (J2, HSP_UART) and the Host PC. This will be used for HPS UART communication. Look at what ports are enumerated on your Host computer. There should be a series of four. Use the 3rd one in the list as the HPS serial port.
  • Connect an RJ45 cable between the ethernet port on the SOM board (J6, ETH 1G HPS) and make sure it is on the same network as your Host PC. You can check the eth0 IP address after boot using the Linux ip a command.


Agx-MDK-Conn

Board Connections


Burn the microSD Card Image

  • Either use your own or download the pre-built <name>.wic.gz image.
  • Extract <name>.wic image from the zip file

    • On Linux, use the dd utility:
    tar -xzf `<name>.wic.gz`
    
    • On Windows, use the 7-Zip program (or similar):
      • Right click <name>.wic.gz file, and select "Extract All..."
  • Write the <name>.wic image to the microSD card using a USB writer:

    • On Linux, use the dd utility:
    # Determine the device associated with the SD card on the host computer.
    cat /proc/partitions
    # This will return for example /dev/sd<x>
    # Use dd to write the image in the corresponding device
    sudo dd if=<name>.wic of=/dev/sd<x> bs=1M
    # Flush the changes to the microSD card
    sync
    
    • On Windows, use the Win32DiskImager program (or similar):

      • Click browse icon and select "*.*" filter:

      disk-imager-browse

      Navigate to your download and select <name>.wic in the "Disk Imager" tool


      • Write the image (note your Device may be different to that shown):

      disk-imager

      Write the microSD Card using the "Disk Imager" tool

  • Turn off the board and insert the microSD card in the microSD card slot located on the SOM board.


Running

Board and Host PC Setup

Warning

Handle ESD-sensitive equipment (boards, microSD Cards, Camera sensors, etc.) only when properly grounded and at an ESD-safe workstation

Make the required connections between the Host PC and the Modular Development board as shown in the following diagram:


ed-conn

Development Kit and Host PC Connection diagram


  • Connect the Framos cable(s) between the Framos Camera Module(s) and the Modular Development board taking care to align the cable(s) correctly with the connectors (pin 1 to pin 1). For a single camera module, either MIPI connector can be used.

board-mipi

Board MIPI connections


mipi-ribbon

Board MIPI and Ribbon Cable


camera-ribbon

Camera and Ribbon Cable


full-system

Board with Connections


  • Connect the Modular Development carrier board DisplayPort Tx connector to the Monitor using a suitable cable (and dongle if you are using HDMI).

Program the FPGA SOF

  • To program the FPGA using SOF with first stage bootloader (fsbl):

    • Power down the board. Set MSEL=JTAG by setting the S4 dip switch on the SOM to OFF-OFF.
      • This prevents the starting of any bootloader and FPGA configuration after power up and until the SOF is programmed over JTAG.
    • Power up the board.
    • Either use your own or download the pre-built fsbl SOF image, and program the FPGA with either the command:

      quartus_pgm -c 1 -m jtag -o "p;fsbl_agilex5_modkit_vvpisp_time_limited.sof"
      
    • or, optionally use the Quartus® Programmer GUI:

      • Launch the Quartus® Programmer and Configure the "Hardware Setup..." settings as follows:


hw-setup-set

Programmer GUI Hardware Settings


  • Click "Auto Detect", select the device A5EC065BB32AR0 and press "Change File.."

programmer-agx5

Programmer after "Auto Detect"


Select your fsbl_agilex5_modkit_vvpisp_time_limited.sof file. Check the "Program/Configure" box and press the "Start" button (see below). Wait until the programming has been completed.


programmer-agx5-3

Programming the FPGA with SOF file


Connect Browser to UI

  • Power up the board (if not already powered) and set up the serial terminal emulator (minicom, teraterm, putty, etc.):
    • Select the correct COMx port. (The Modular Development board presents 4 serial COM ports over a single connection and the Linux system uses the 3rd port in order). Set the port configuration as follows:
      • 115200 baud rate, 8 Data bits, 1 Stop bit, CRC and Hardware flow control disabled.
  • The Linux OS will boot and the 4K Multi-Sensor HDR Camera Solution System Example Design Application should run automatically.
  • A few seconds after Linux boots, the application will detect the attached Monitor and the ISP processed output will be displayed using the best supported format.
  • Take note of the board's IP address.

    • The board's IP address can also be found using the terminal by logging in as root (no password required) and querying the Ethernet controller:

      root
      ifconfig
      
    • eth0 provides the IPv4 or IPv6 address to connect to.

ed-conn

Example ifconfig output for if network provides DHCP


ed-conn

Example ifconfig output for if no DHCP support, or direct connection


  • Connect your web browser to the boards IP address so you can interact with the 4K Multi-Sensor HDR Camera Solution System Example Design using the GUI.
    • To connect using IPv6 for the examples above you would use http://[fe80::a8bb:ccff:fe55:6688] (note the square brackets)
    • To connect using IPv4 for the DHCP example above you would use http://192.168.0.1


ed-conn

Example web browser URL for IPv6 address


ed-conn

Example web browser URL for IPv4 address


  • During connection, you will see the Altera® splash screen, after which you will be presented with the Web GUI:


ed-conn

Example Camera Solution GUI



Back



Last update: December 10, 2025
Created: October 6, 2025
Ask in the Forum