Update SDK or Add New DMP Packages - DigitalMediaProfessionals/dv-sdk GitHub Wiki

If the AI FPGA module is connected to the internet, one can update SDK or add new DMP packages from internet easily.

Update SDK

The entire SDK is open source on GitHub. To update the SDK source, run the following commands: (Please take backup of modification to the sub-repositories.)

$ cd dv-sdk
$ git submodule foreach --recursive git reset --hard HEAD
$ git checkout master --recurse-submodules
$ git pull --recurse-submodules

Update sub-repositories

If you want to utilize SDK of newer version than ones the dv-sdk repository designates, please update sub-repositories by the following command: (Please take backup of modification to the sub-repositories.)

$ cd dv-sdk
$ git submodule foreach --recursive git reset --hard HEAD
$ git submodule foreach --recursive git checkout master
$ git submodule foreach --recursive git pull

For retrieve the dv-sdk's version, run the next command:

$ cd dv-sdk
$ git submodule update --recursive

Update or Add new DMP packages

DMP has setup APT repository for packages provided by DMP. The updated driver, FPGA firmware and other new packages like kernel source can be installed using the Ubuntu APT utility. But first one needs to config the APT to use DMP APT repository.

Follow are the steps to config the APT to use DMP APT repository:

  1. Create APT configuration file with login info:

    $ sudo touch /etc/apt/auth.conf
    $ sudo chmod 0600 /etc/apt/auth.conf
    $ echo 'machine zia-download.dmprof.com login <user> password <password>' | sudo tee -a /etc/apt/auth.conf

    One needs to use your username and password for zia-download@dmprof.com to fill the authentication info in the above command.

  2. Add DMP APT repository to the source list:

    $ echo 'deb https://zia-download.dmprof.com/apt/ubu1804/ /' | sudo tee -a /etc/apt/sources.list.d/dmp.list
  3. Update APT package list

    $ sudo apt update
  4. Upgrade or Install packages

    $ sudo apt install <package>  # install
    $ sudo apt upgrade  # update all the package
  5. Check if the required packages are installed. The installation succesed if the package name and its version are shown.

    $ dpkg -l | grep zia

DMP provided packages:

For changelog, see this page.

  • NOTE: Multiple zia-firmware-* packages cannot be used simultaneously. Installing the package uninstalled zia-firmware-* that is already installed. This is not applied to dummy packages.
  • NOTE: Installing zia-firmware-* installs other required packages.

ZIA C2

Package Description
zia-driver-c2 Driver package
zia-firmware-c2-sd-90mhz Firmware package
zia-kernel-source-c2 Kernel source package

ZIA C3

Package Description
zia-driver-c3 Driver package
zia-driver-c3-userspace Driver package for Docker. Only contains user space driver libraries of the above package.
zia-firmware-c3-emmc Firmware package for boot from eMMC
zia-firmware-c3-sd Firmware package for boot from SD card
linux-image-zia-c3 Linux image and device tree
zia-kernel-source-c3 Kernel source package
zia-firmware-c3-emmc-100mhz Firmware package for boot from eMMC. Old version of zia-firmware-c3-emmc. Dynamic change of frequency is not available. This package of version 7.1.20190410 or newer is a dummy package and upgrading this package installs zia-firmware-c3-emmc of the same version.
zia-firmware-c3-sd-100mhz Firmware package for boot from SD card. Old version of zia-firmware-c3-emmc. Dynamic change of frequency is not available. This package of version 7.1.20190410 or newer is a dummy package and upgrading this package installs zia-firmware-c3-sd of the same version.
zia-libtensorflow C-API TensorFlow library
zia-python3-tensorflow Python TensorFlow package

Versions among packages

The below table shows correspondences of the packages. SDK works by using versions on the same row. Please use the latest version as much as possible.

Row is ordered by release date (upper row, recent release). The two table is independent so you can use version in different row over the tables.

zia-driver-c3 zia-firmware-c3-emmc zia-firmware-c3-sd linux-image-zia-c3 zia-kernel-source-c3
7.21.20201106 7.21.20191213 7.21.20191213 4.14.0.20191021 4.14.0.20191213
7.21.20200826 7.21.20191213 7.21.20191213 4.14.0.20191021 4.14.0.20191213
7.21.20191223 7.21.20191213 7.21.20191213 4.14.0.20191021 4.14.0.20191213
7.21.20191021 7.21.20191213 7.21.20191213 4.14.0.20191021 4.14.0.20191213
7.21.20191021 7.21.20190729 7.21.20190729 4.14.0.20191021 4.14.0.20190308
7.21.20190904 7.21.20190729 7.21.20190729 4.14.0.20190328 4.14.0.20190308
7.21.20190729 7.21.20190729 7.21.20190729 4.14.0.20190328 4.14.0.20190308
7.2.20190621 7.2.20190621 7.2.20190621 4.14.0.20190328 4.14.0.20190308
7.1.20190410 7.1.20190410 7.1.20190410 4.14.0.20190328 4.14.0.20190308
zia-driver-c3 zia-firmware-c3-emmc zia-firmware-c3-sd
7.0.20190328 7.0.20190328 7.0.20190328
7.0.20190215 7.0.20190215 7.0.20190215
7.0.20190111 7.0.20190111 7.0.20190111
Factory-Configured Factory-Configured
linux-image-zia-c3 zia-kernel-source-c3
4.14.0.20191021 4.14.0.20190308
4.14.0.20190328 4.14.0.20190308
4.14.0.20190308 4.14.0.20190308
Factory-Configured 4.14.0.20181010


Update the FPGA Firmware Manually

Here describes how to update the FPGA firmware manually. If you do not need, do use not this but APT.

  1. Prepare the FPGA firmware files(BOOT.BIN and uboot.env in ZIA C3, soc_system.rbf in ZIA C2).

  2. Mount a region for firmware files to /media/card/. You skip this operation when your AI FPGA module has default configuration.

    $ sudo mount <partition> /media/card

Please select <partition> from the below according to your system.

  • ZIA C3 boot from eMMC : /dev/mmcblk0p1
  • ZIA C3 boot from SD : /dev/mmcblk1p1
  • ZIA C2 : /dev/mmcblk0p1
  1. Copy the firmware files to /media/card/. Please create a backup of it in the case.

  2. Do sudo sync.

⚠️ **GitHub.com Fallback** ⚠️