SDK Development flow

Processor SDK Linux for Edge AI comprises of 3 parts,

  • Edge AI Applications

  • Processor SDK - Linux

  • Processor SDK - RTOS

If you wish to work with just the Edge AI Applications, you can edit-build-run directly on the target by flashing the etcher image as specified in Preparing SD card image. No need to build the RTOS binaries as described below!

If you are modifying any RTOS components such as vision_apps, tiovx, tidl, tiadalg etc. you will need to rebuilt the RTOS binaries and update the SD card filesystem with the latest. This requires the Processor SDK RTOS source package and Processor SDK Linux filesystem packages.


You can download the latest Processor SDK Linux and Processor SDK RTOS for TDA4VM from the below links

The Processor SDK RTOS source package:

The Processor SDK Linux filesystem and BOOT partition files:

Building the SDK from source

Untar the ti-processor-sdk-rtos-j721e-evm-08_00_01_xx.tar.gz to some location on PC and copy the tisdk-default-image-j7-evm.tar.xz and boot-j7-evm.tar.gz into the RTOS SDK folder. Execute the script from below folder. This will untar the linux filesystem, download GCC cross compile toolchain and dependencies all in preparation to build the SDK

#Run the setup script as shown
<PSDK-RTOS path>#./psdk_rtos/scripts/

Ensure that you are building only for the target and the profile is set to release mode. In the file <PSDK-RTOS path>/tiovx/build_flags.mak check for,

# Build for SoC
# Build for x86 PC
# valid values: release debug all

Navigate to vision_apps folder and build the RTOS components

<PSDK-RTOS path>/vision_apps#BUILD_EDGEAI=yes make sdk -j8

Once the build is complete with no errors install the Linux filesystem to an SD card. A minimum of 16GB is highly recommended. Insert an SD card and unmount its partitions. If you had previously installed using the same SD card, you might have to unmount the BOOT and rootfs partitions


/dev/sda1 and /dev/sda2 are just examples here, and the SD card might be mounted differently on your system. Ensure that you are unmounting the correct partitions before reformatting the SD card!

umount /dev/sda1
umount /dev/sda2

Use the script to create required partitions and filesystem format. This will create two partitions namely BOOT and rootfs

<PSDK-RTOS path>#sudo ./psdk_rtos/scripts/ /dev/sda


Follow the interactive menu (mostly press Y and Y) to correctly format the SD card for Linux boot. Once successfully complete, PLEASE EJECT THE SD CARD AND INSERT AGAIN. This ensures that files are not installed under root permissions and the follwing steps do not require sudo permissions

Use another script to install the filesystem to the rootfs partition

<PSDK-RTOS path>#./psdk_rtos/scripts/

Next transfer the RTOS component libraries, header files and remote core binaries to the SD card.

<PSDK-RTOS path>/vision_apps# BUILD_EDGEAI=yes make linux_fs_install_sd
  • Installs the library under /usr/lib

  • Copies the vision_apps headers under /usr/include/processor_sdk folder

  • Copies the RTOS binaries under /usr/lib/firmware

** This completes the PSDK Linux and RTOS setup **

Applications setup

At this point the SD card is ready with Linux image and RTOS components. Next we need to clone the target side components under SD card /opt If the provided steps are not executing you might have to provide permissions for the scripts to make directory under SD card /opt.


You need to change permissions on SD card /opt folder NOT your Linux PC /opt folder. Change permissions of SD card /opt directory /media/<user-name>/rootfs# sudo chmod -R ugo+w opt

First clone the edge_ai_apps repo into the SD card under /opt

/media/<user-name>/rootfs/opt#git clone --single-branch --branch master git://

Once edge_ai_apps is cloned, on the PC itself run the This will clone and install DL dependencies, clone the edgeai-gst-plugins and edgeai-tiovx-modules repo on the SD card /opt. It will also build the edgeai-tiovx-modules, edgeai-gst-plugins and apps_cpp demos.


Also download the recommended set of models or any model that you would like to test by running the script.


** This completes the setup required on PC side **


Before ejecting the SD card issue a ‘sync’ on the terminal to commit all changes.

Target side steps

Boot the SK or EVM with the prepared SD card. Make sure you have connected the camera and display. After boot, login as ‘root’ with no password. If you have flashed the SD card using Balena etcher tool, then upon login you will notice the wallpaper displayed on the screen disappears and you will notice “Please wait…” message. The prompt will also change to /opt/edge_ai_apps#. This is done by automatically calling the

If you are building from scratch, upon login you will notice that the wallpaper is still displayed on the screen. The is not automatically called during login. You will have to manually navigate to edge_ai_apps repo and execute every time it boots or call it under .profile


Only for first time, you will have run the once again. This time it will not download the dependencies but compile and install the edgeai-gst-plugins, edgeai-tiovx-modules and apps_cpp demos

Now you are ready to run the Python and C++ demos!


IMPORTANT: Due to differences in GLIB version between Yocto and Docker you will have to rebuild the GST plugins and C++ apps when you make the switch. So always call the to rebuild the plugins for Yocto/Docker while switching. Clean build the C++ apps as well.