If you missed the announcements and my recent blog, Xilinx now offers a range of production-ready system on modules (SOM) named Kria. These SOMs contain a custom UltraScale+ FPGA and are designed to enable you to hit the ground running on day one and take the same elements into production. This is one of the key benefits of using SOMs.
![](https://static.wixstatic.com/media/ad48ed_25751c86d1fe478d9a524e0aca6a1151~mv2.png/v1/fill/w_980,h_533,al_c,q_90,usm_0.66_1.00_0.01,enc_auto/ad48ed_25751c86d1fe478d9a524e0aca6a1151~mv2.png)
This is where the Kria Vision AI Starter Kit shines because it is designed to enable you start creating vision and vision-based AI applications that can then be taken forward to the production system.
The Kria Vision AI Starter Kit supports a range of interfaces that are commonly used in vision-based systems including USB, MIPI, HDMI and DisplayPort.
Getting up and running with the Kria Vision AI Starter Kit is amazingly simple. There is no need to create Vivado and PetaLinux designs. Instead, we can download the SD card image from the Kria getting started web page. Following these simple instructions will enable us to get started using designs available on the Xilinx Kria app store.
Let’s look at what we need to do to get the board up and running and using the smart camera application. To do this, we will need a display which supports HDMI or DisplayPort and an ethernet connection which connects to the internet in addition to the Kria Vision AI Starter Kit
Once we have the SD card image written and inserted into the SOM, the next step is to connect the USB and MIPI cameras, your display, and ethernet. We also need to connect a USB UART cable back to our computer. It is through this link that a terminal will be used to configure and load in applications.
![](https://static.wixstatic.com/media/ad48ed_aeeb775c4e7f4bacb9108df4715e2293~mv2.jpg/v1/fill/w_980,h_1307,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/ad48ed_aeeb775c4e7f4bacb9108df4715e2293~mv2.jpg)
Once the SOM has booted, the first thing we need to do is login. The user name is PetaLinux and the password is set when we first log in.
![](https://static.wixstatic.com/media/ad48ed_b2376c3015204f2bbf266bd679a7ba77~mv2.png/v1/fill/w_841,h_286,al_c,q_85,enc_auto/ad48ed_b2376c3015204f2bbf266bd679a7ba77~mv2.png)
Once we are logged into the SOM, the first step is to enable root privileges.
![](https://static.wixstatic.com/media/ad48ed_e043a38968eb44e095145c217d81fb19~mv2.png/v1/fill/w_394,h_186,al_c,q_85,enc_auto/ad48ed_e043a38968eb44e095145c217d81fb19~mv2.png)
Logged in and with the privileges enabled, the final step before we load an application is to ensure we are connected to the internet. The easiest way to do this is to ping 8.8.8.8 and ensure you see a response. This is the google DNS.
To get an application from the Xilinx Kria app store, we can use the xmutil utility. Running sudo xmutil getpkgs will list the three applications on the app store which are currently available free of charge.
![](https://static.wixstatic.com/media/ad48ed_737ce948de2a477694606da7bdee3841~mv2.png/v1/fill/w_980,h_127,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/ad48ed_737ce948de2a477694606da7bdee3841~mv2.png)
To get started with the SOM, we are going to use the smartcam application. This can be installed on to the card using the command sudo dnf install packagegroup-kv260-smartcam.noarch. When prompted, answer Y to install.
![](https://static.wixstatic.com/media/ad48ed_8223fa0c9e624d049efedd55b9a99645~mv2.png/v1/fill/w_980,h_279,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/ad48ed_8223fa0c9e624d049efedd55b9a99645~mv2.png)
This might take a few minutes depending on your internet speed.
Once completed, the next step is to list the applications which are currently running. Use the command sudo xmutil listapps. You will notice the default dp application is loaded.
![](https://static.wixstatic.com/media/ad48ed_c4cb8457b0094acda5773c1a5762d0d1~mv2.png/v1/fill/w_397,h_73,al_c,q_85,enc_auto/ad48ed_c4cb8457b0094acda5773c1a5762d0d1~mv2.png)
To load the smart camera applications, we first unload the running application with the command sudo xmutil unloadapp. Running the listapps command immediately afterwards to see the currently running applications will now show no running applications.
![](https://static.wixstatic.com/media/ad48ed_9ffa7e26a8634a8faa5c68011fde90e8~mv2.png/v1/fill/w_409,h_100,al_c,q_85,enc_auto/ad48ed_9ffa7e26a8634a8faa5c68011fde90e8~mv2.png)
We can load in the application by the using the command sudo xmutil loadapp kv260-smartcam. This will load the application into the SOM but not yet run it.
![](https://static.wixstatic.com/media/ad48ed_20e5e895a70745529e865df8bffae17c~mv2.png/v1/fill/w_752,h_655,al_c,q_90,enc_auto/ad48ed_20e5e895a70745529e865df8bffae17c~mv2.png)
To run the application, we need to tell the application the video source MIPI or USB and the output target e.g. DP / RTSP or File.
sudo smartcam --usb 0 -W 1920 -H 1080 -r 30 --target dp
When I ran the application using the USB camera, I got the following output on my display.
![](https://static.wixstatic.com/media/ad48ed_15865dce32144f8d8587a4db9da2d357~mv2.jpg/v1/fill/w_980,h_735,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/ad48ed_15865dce32144f8d8587a4db9da2d357~mv2.jpg)
Getting the Kria Vision AI Starter Kit up and running was remarkably simple. Now I want to take a look at how we can create our own applications and start working with custom applications.
Comments