Roadtest of Avnet ZUBoard 1CG Development Kit

Table of contents

RoadTest: Read the Reviews of the Avnet ZUBoard 1CG Development Kit

Author: manihatn

Creation date:

Evaluation Type: Development Boards & Tools

Did you receive all parts the manufacturer stated would be included in the package?: True

What other parts do you consider comparable to this product?: The only other product that is comparable is Ultra96-v2 (but ultra96-v2 is a bit expensive compared to the ZUBOARD-1CG). There are also a couple of UltraScale+ based SOM from Avnet but they are a different class of devices.

What were the biggest problems encountered?: One minor suggestion. There is a wealth of knowledge dispersed across web (hackster, avnet and element14 webinars) relating to the board. It will be good if the webinars are also indexed in the board specific landing page (in Avnet).

Detailed Review:

I am thankful to Randall and the entire element14 team for giving me the opportunity for my first RoadTest review on Element14. It has been a good learning experience and I have thoroughly enjoyed it and hope to take part in future events.  

Zynq UltraScale+ FPGA based SoC's are a dynamic hardware and software platform that allows you to design, test, and implement custom digital circuits for a wide range of applications from Artificial intelligence/Machine learning to Embedded Vision/processing for different market segments, In this roadtest, I will try out the Avnet ZUBoard 1CG Development kit, describe the received components, resources used for doing the roadtest, details about board architecture, running the example applications (from Getting started guide and some Edge AI application) and conclusion detailing my observation and experience using the unit.

Reasons for applying:

• Explore the AI/ML landscape and edge acceleration. Excellent material and support available via webinars, hackster and Avnet forum. 

• A good entry-level development board for prototyping and testing out Click and SYZYGY interfaces

• Explore the entire product life cycle form market research, product definition, architecture setup, detailed hardware bringup all provided through excellent blogs.

• Good training material  for Zynq Ultrascale+, nice form factor and very good documentation for the board.


Received components:

• ZUBoard 1CG Development Board
• AC/DC 45W USB-C adapter (US pin), you can use an adaptor if you not in the US. Or a EU pin based adapter is also available.
• 3A Ankler USB-C cable
• 8 GB Delkin microSD Card
• DualCam HSIO Module
• Quick-start card


Resources referred to:

As indicated in the quick-start card, the following was my first reference.

http://avnet.me/zuboard-1cg

The above link has a good reference of all the  board specific documents. There is a wealth of information in these documents. 

Based on your interests and level of expertise various documents might be handy. I mainly referred to the 

Getting Started Guide - gives a general overview of the steps involved in running the example design and verifying the board if functional.

Hardware User guide - gives more information about the interfaces, power circuitry and pins. Might be of interest to board designers, FPGA engineer or for anyone who wants to dig deep and understand the internals of the board. 

There are also schematics, mechanical drawings, BOM etc if it is of interest. 

What I really liked about the board were the set of set of blogs written by the developers on the need for such a board in the market, discussion about its system architecture, the steps involved in designing such board. 

Such knowledge and reasoning is very rarely shared, so the insights are quite useful (for me) as it shows the various design decisions and  trade-offs considered when designing the board.

(+) ZUBoard Chronicles - element14 Community

There are also some webinars from Mario Bergeron that were very useful, that I link in the following sections.


Board introduction:

The Avnet ZU-1CG board is low cost Zynq Ultrascale+ based development board that is targeted towards customers that are first time exploring or developing FPGA based applications. The board is very feature rich with a lot of interfaces as shown in the following image this offers a lot of flexibility to the users to design and develop various applications.  As a new user or hobbyist the first thing we look for is good documentation, reference design and a forum where we can ask questions if we get stuck. All of these provided by Avnet and they are of good quality as I demonstrate in the following sections.


The devices uses a Zynq Ultrascale+ SoC which has dual ARM Cortex-A53 cores, dual ARM Cortex-R5F cores and the FPGA fabric. Besides the low cost, the chip offers the best power efficiency that is ideal for edge and battery powered devices. The FPGA has around 82K logic cells, 256KB on-chip memory. There is also 1GB LPDDR4 with on-chip ECC. With respect to BOOT modes, we can either boot from the onboard 256Mb QSPI flash device or microSD card or the on-board JTAG. There is a JTAG and UART debug interface. With respect to interfacing to the external world, there are 3 SYZYGY and micro BUS click module interface. There are also two onboard sensors, a temperature and pressure sensor for STMicroelectronics that are quite handy for test basic interfaces using IIC. There are also some user RGB and monochrome LEDs, slide switch and push Button as part of the board IO that are useful for debug and testing.

 



Below is a more detailed architecture of the Zynq MPSoC and its various interfaces from the hardware user guide. 


Running example design

I tried to follow through the getting started guide which is very well written and they have tried to cover all the gotcha's . I  connected the board with the power supply as instructed and connected the JTAG cables. Since I had a relatively modern laptop, it didn't come with a RJ45 ethernet interface. So I had to use a USB interface and connect to the board using a USB to fast ethernet adapter as shown in the following image. I powered the board, and was expecting everything to work out of the box and see login to the Avnet app running on the board without any issues. But I hit my first issue.

When I tried to run the web app by logging into "192.168.2.10", I could not find any.

I tried reading the manual further and found the following section.

I then tried to disable my firewall settings and changed my network interface properties (as shown below) to match the Netmask, Gateway and Board IP and I managed to gain access to the webpage.

I was then able to run the Avnet web app for ZU-1CG board to change the colour of the led by manipulating the button states, read the status of the switches and read the temperature and pressure. Below are some of the results.  

The board corresponds to the settings of the colour in the web app and read the correct DIP switch settings. I moved along a couple of settings and it all worked as expected.

I kept the applications running for some time and then tried to see if I can change the pressure and temperature reading observed on the web app by keeping my finger over the sensors. The application suddenly hung and became unresponsive. I went back to the terminal and observed that the "Queue  was full" for some reason. I wasn't sure what triggered this. That is an investigation for a later blog when I delve deep into the hardware design. 

I tried to reset the board again and went about doing my experiments again, this time I was able to notice the changes in temperature and pressure as shown in the  putty session.


Running Accelerated edge AI apps on ZU-1CG board

I followed up with running some accelerated edge AI apps on the ZU-1CG board based on the instruction provided by Mario Bergeron in the following link

Introducing ZUBoard for Accelerated Edge AI - Hackster.io

I have also previously attended his webinars and they are excellent.

The actual test setup for the running the Accelerated edge AI is as follows 

I tried to see if there were any more recent images that I could try. Then I found the following 

(+) Vitis-AI 3.0 designs for Ultra96-V2 and ZUBoard - element14 Community

and tried the 

I set up my test setup to the similar setup as shown below and downloaded the pre-built image that is provided with a set of "accelerated apps" that can be dynamically loaded in the programmable logic.

I tried checking if my image was the same as the one provided by doing an md5 checksum and could confirm that it was the same (shown below). Then I proceeded with flashing the SD card with the image using Balena etcher tool.

The following is my test setup with the USB camera and the dual cam board.

I was able to successfully boot the pre-built image and the log is attached below for reference.

Xilinx Zynq MP First Stage Boot Loader
Release 2021.2   Oct 13 2021  -  07:15:53
NOTICE:  BL31: v2.4(release):xlnx_rebase_v2.4_2021.2
NOTICE:  BL31: Built : 07:41:24, Oct 13 2021


U-Boot 2021.01 (Oct 12 2021 - 09:28:42 +0000)

CPU:   ZynqMP
Silicon: v3
Board: Xilinx ZynqMP
DRAM:  1023 MiB
usb dr_mode not found
PMUFW:  v1.1
EL Level:       EL2
Chip ID:        unknown
NAND:  0 MiB
MMC:   mmc@ff170000: 0
Loading Environment from FAT... *** Warning - bad CRC, using default environment

In:    serial
Out:   serial
Err:   serial
Bootmode: SD_MODE1
Reset reason:   EXTERNAL
Net:
ZYNQ GEM: ff0d0000, mdio bus ff0d0000, phyaddr 7, interface rgmii-id
eth0: ethernet@ff0d0000
Hit any key to stop autoboot:  0
switch to partitions #0, OK
mmc0 is current device
Scanning mmc 0:1...
Found U-Boot script /boot.scr
2710 bytes read in 14 ms (188.5 KiB/s)
## Executing script at 20000000
Trying to load boot images from mmc0
9499424 bytes read in 696 ms (13 MiB/s)
## Loading kernel from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Trying 'kernel-1' kernel subimage
     Description:  Linux kernel
     Created:      2021-10-12   9:30:57 UTC
     Type:         Kernel Image
     Compression:  gzip compressed
     Data Start:   0x100000f4
     Data Size:    9460327 Bytes = 9 MiB
     Architecture: AArch64
     OS:           Linux
     Load Address: 0x00200000
     Entry Point:  0x00200000
     Hash algo:    sha256
     Hash value:   31b79aadf8f9f39808721b74b5f0446d0a724b709439bd65060c09df2508f45a
   Verifying Hash Integrity ... sha256+ OK
## Loading fdt from FIT Image at 10000000 ...
   Using 'conf-system-top.dtb' configuration
   Trying 'fdt-system-top.dtb' fdt subimage
     Description:  Flattened Device Tree blob
     Created:      2021-10-12   9:30:57 UTC
     Type:         Flat Device Tree
     Compression:  uncompressed
     Data Start:   0x10905c6c
     Data Size:    37194 Bytes = 36.3 KiB
     Architecture: AArch64
     Hash algo:    sha256
     Hash value:   0654b647d3ede45dc1a9966c64b2fba12b9aadf30f7d3ee69aa8712062db0faa
   Verifying Hash Integrity ... sha256+ OK
   Booting using the fdt blob at 0x10905c6c
   Uncompressing Kernel Image
   Loading Device Tree to 000000003dd06000, end 000000003dd12149 ... OK

Starting kernel ...

[    0.000000] Booting Linux on physical CPU 0x0000000000 [0x410fd034]
[    0.000000] Linux version 5.10.0-xilinx-v2021.2 (oe-user@oe-host) (aarch64-xilinx-linux-gcc (GCC) 10.2.0, GNU ld (GNU Binutils) 2.35.1) #1 SMP Tue Oct 12 09:30:57 UTC 2021
[    0.000000] Machine model: xlnx,zynqmp
[    0.000000] earlycon: cdns0 at MMIO 0x00000000ff000000 (options '115200n8')
[    0.000000] printk: bootconsole [cdns0] enabled
[    0.000000] efi: UEFI not found.
[    0.000000] cma: Reserved 512 MiB at 0x000000001dc00000
[    0.000000] Zone ranges:
[    0.000000]   DMA32    [mem 0x0000000000000000-0x000000003fefffff]
[    0.000000]   Normal   empty
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x000000003fefffff]
[    0.000000] Zeroed struct page in unavailable ranges: 256 pages
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x000000003fefffff]
[    0.000000] psci: probing for conduit method from DT.
[    0.000000] psci: PSCIv1.1 detected in firmware.
[    0.000000] psci: Using standard PSCI v0.2 function IDs
[    0.000000] psci: MIGRATE_INFO_TYPE not supported.
[    0.000000] psci: SMC Calling Convention v1.2
[    0.000000] percpu: Embedded 22 pages/cpu s49624 r8192 d32296 u90112
[    0.000000] Detected VIPT I-cache on CPU0
[    0.000000] CPU features: detected: ARM erratum 845719
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 257796
[    0.000000] Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait cma=512M
[    0.000000] Dentry cache hash table entries: 131072 (order: 8, 1048576 bytes, linear)
[    0.000000] Inode-cache hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 481036K/1047552K available (14144K kernel code, 996K rwdata, 3944K rodata, 2112K init, 589K bss, 42228K reserved, 524288K cma-reserved)
[    0.000000] rcu: Hierarchical RCU implementation.
[    0.000000] rcu:     RCU event tracing is enabled.
[    0.000000] rcu:     RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 25 jiffies.
[    0.000000] rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
[    0.000000] NR_IRQS: 64, nr_irqs: 64, preallocated irqs: 0
[    0.000000] GIC: Adjusting CPU interface base to 0x00000000f902f000
[    0.000000] GIC: Using split EOI/Deactivate mode
[    0.000000] random: get_random_bytes called from start_kernel+0x31c/0x524 with crng_init=0
[    0.000000] arch_timer: cp15 timer(s) running at 100.00MHz (phys).
[    0.000000] clocksource: arch_sys_counter: mask: 0xffffffffffffff max_cycles: 0x171024e7e0, max_idle_ns: 440795205315 ns
[    0.000004] sched_clock: 56 bits at 100MHz, resolution 10ns, wraps every 4398046511100ns
[    0.008405] Console: colour dummy device 80x25
[    0.012488] Calibrating delay loop (skipped), value calculated using timer frequency.. 200.00 BogoMIPS (lpj=400000)
[    0.022841] pid_max: default: 32768 minimum: 301
[    0.027573] Mount-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.034784] Mountpoint-cache hash table entries: 2048 (order: 2, 16384 bytes, linear)
[    0.043907] rcu: Hierarchical SRCU implementation.
[    0.047600] EFI services will not be available.
[    0.051936] smp: Bringing up secondary CPUs ...
[    0.056742] Detected VIPT I-cache on CPU1
[    0.056797] CPU1: Booted secondary processor 0x0000000001 [0x410fd034]
[    0.056875] smp: Brought up 1 node, 2 CPUs
[    0.070847] SMP: Total of 2 processors activated.
[    0.075520] CPU features: detected: 32-bit EL0 Support
[    0.080622] CPU features: detected: CRC32 instructions
[    0.085763] CPU: All CPU(s) started at EL2
[    0.089801] alternatives: patching kernel code
[    0.095226] devtmpfs: initialized
[    0.101789] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 7645041785100000 ns
[    0.107191] futex hash table entries: 512 (order: 3, 32768 bytes, linear)
[    0.128943] pinctrl core: initialized pinctrl subsystem
[    0.129528] DMI not present or invalid.
[    0.132621] NET: Registered protocol family 16
[    0.138217] DMA: preallocated 128 KiB GFP_KERNEL pool for atomic allocations
[    0.143835] DMA: preallocated 128 KiB GFP_KERNEL|GFP_DMA32 pool for atomic allocations
[    0.151676] audit: initializing netlink subsys (disabled)
[    0.157094] audit: type=2000 audit(0.108:1): state=initialized audit_enabled=0 res=1
[    0.157524] hw-breakpoint: found 6 breakpoint and 4 watchpoint registers.
[    0.171480] ASID allocator initialised with 65536 entries
[    0.176924] Serial: AMBA PL011 UART driver
[    0.200038] HugeTLB registered 1.00 GiB page size, pre-allocated 0 pages
[    0.201110] HugeTLB registered 32.0 MiB page size, pre-allocated 0 pages
[    0.207765] HugeTLB registered 2.00 MiB page size, pre-allocated 0 pages
[    0.214424] HugeTLB registered 64.0 KiB page size, pre-allocated 0 pages
[    1.265939] cryptd: max_cpu_qlen set to 1000
[    1.292380] DRBG: Continuing without Jitter RNG
[    1.369937] raid6: neonx8   gen()  2130 MB/s
[    1.437998] raid6: neonx8   xor()  1598 MB/s
[    1.506065] raid6: neonx4   gen()  2183 MB/s
[    1.574130] raid6: neonx4   xor()  1559 MB/s
[    1.642208] raid6: neonx2   gen()  2077 MB/s
[    1.710258] raid6: neonx2   xor()  1438 MB/s
[    1.778331] raid6: neonx1   gen()  1770 MB/s
[    1.846391] raid6: neonx1   xor()  1219 MB/s
[    1.914453] raid6: int64x8  gen()  1437 MB/s
[    1.982515] raid6: int64x8  xor()   771 MB/s
[    2.050604] raid6: int64x4  gen()  1601 MB/s
[    2.118667] raid6: int64x4  xor()   819 MB/s
[    2.186743] raid6: int64x2  gen()  1396 MB/s
[    2.254806] raid6: int64x2  xor()   750 MB/s
[    2.322874] raid6: int64x1  gen()  1031 MB/s
[    2.390933] raid6: int64x1  xor()   517 MB/s
[    2.390975] raid6: using algorithm neonx4 gen() 2183 MB/s
[    2.394923] raid6: .... xor() 1559 MB/s, rmw enabled
[    2.399859] raid6: using neon recovery algorithm
[    2.405004] iommu: Default domain type: Translated
[    2.409556] SCSI subsystem initialized
[    2.413176] usbcore: registered new interface driver usbfs
[    2.418487] usbcore: registered new interface driver hub
[    2.423758] usbcore: registered new device driver usb
[    2.428807] mc: Linux media interface: v0.10
[    2.433008] videodev: Linux video capture interface: v2.00
[    2.438484] EDAC MC: Ver: 3.0.0
[    2.442013] zynqmp-ipi-mbox mailbox@ff990400: Registered ZynqMP IPI mbox with TX/RX channels.
[    2.450246] FPGA manager framework
[    2.453530] Advanced Linux Sound Architecture Driver Initialized.
[    2.459813] Bluetooth: Core ver 2.22
[    2.463018] NET: Registered protocol family 31
[    2.467420] Bluetooth: HCI device and connection manager initialized
[    2.473734] Bluetooth: HCI socket layer initialized
[    2.478576] Bluetooth: L2CAP socket layer initialized
[    2.483601] Bluetooth: SCO socket layer initialized
[    2.488756] clocksource: Switched to clocksource arch_sys_counter
[    2.494652] VFS: Disk quotas dquot_6.6.0
[    2.498434] VFS: Dquot-cache hash table entries: 512 (order 0, 4096 bytes)
[    2.509594] NET: Registered protocol family 2
[    2.510089] tcp_listen_portaddr_hash hash table entries: 512 (order: 1, 8192 bytes, linear)
[    2.517867] TCP established hash table entries: 8192 (order: 4, 65536 bytes, linear)
[    2.525599] TCP bind hash table entries: 8192 (order: 5, 131072 bytes, linear)
[    2.532894] TCP: Hash tables configured (established 8192 bind 8192)
[    2.539128] UDP hash table entries: 512 (order: 2, 16384 bytes, linear)
[    2.545636] UDP-Lite hash table entries: 512 (order: 2, 16384 bytes, linear)
[    2.552725] NET: Registered protocol family 1
[    2.557287] RPC: Registered named UNIX socket transport module.
[    2.562836] RPC: Registered udp transport module.
[    2.567498] RPC: Registered tcp transport module.
[    2.572169] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    2.579200] PCI: CLS 0 bytes, default 64
[    2.608777] Initialise system trusted keyrings
[    2.608954] workingset: timestamp_bits=46 max_order=18 bucket_order=0
[    2.614777] NFS: Registering the id_resolver key type
[    2.619035] Key type id_resolver registered
[    2.623182] Key type id_legacy registered
[    2.627173] nfs4filelayout_init: NFSv4 File Layout Driver Registering...
[    2.633825] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    2.677137] NET: Registered protocol family 38
[    2.677189] xor: measuring software checksum speed
[    2.684876]    8regs           :  2363 MB/sec
[    2.688532]    32regs          :  2799 MB/sec
[    2.693486]    arm64_neon      :  2380 MB/sec
[    2.693668] xor: using function: 32regs (2799 MB/sec)
[    2.698695] Key type asymmetric registered
[    2.702758] Asymmetric key parser 'x509' registered
[    2.707627] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 247)
[    2.714956] io scheduler mq-deadline registered
[    2.719451] io scheduler kyber registered
[    2.725418] ps_pcie_dma init()
[    2.752727] Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled
[    2.754699] Serial: AMBA driver
[    2.758739] cacheinfo: Unable to detect cache hierarchy for CPU 0
[    2.767715] brd: module loaded
[    2.772615] loop: module loaded
[    2.773469] mtdoops: mtd device (mtddev=name/number) must be supplied
[    2.778203] libphy: Fixed MDIO Bus: probed
[    2.781951] tun: Universal TUN/TAP device driver, 1.6
[    2.785718] CAN device driver interface
[    2.790142] usbcore: registered new interface driver rtl8150
[    2.795079] usbcore: registered new interface driver r8152
[    2.800519] usbcore: registered new interface driver asix
[    2.805886] usbcore: registered new interface driver ax88179_178a
[    2.811931] usbcore: registered new interface driver cdc_ether
[    2.817728] usbcore: registered new interface driver net1080
[    2.823357] usbcore: registered new interface driver cdc_subset
[    2.829234] usbcore: registered new interface driver zaurus
[    2.834782] usbcore: registered new interface driver cdc_ncm
[    2.841318] usbcore: registered new interface driver uas
[    2.845683] usbcore: registered new interface driver usb-storage
[    2.851778] gadgetfs: USB Gadget filesystem, version 24 Aug 2004
[    2.858185] rtc_zynqmp ffa60000.rtc: registered as rtc0
[    2.862796] rtc_zynqmp ffa60000.rtc: setting system clock to 2018-03-09T12:36:12 UTC (1520598972)
[    2.871637] i2c /dev entries driver
[    2.876506] usbcore: registered new interface driver uvcvideo
[    2.880771] USB Video Class driver (1.1.1)
[    2.885332] Bluetooth: HCI UART driver ver 2.3
[    2.889246] Bluetooth: HCI UART protocol H4 registered
[    2.894346] Bluetooth: HCI UART protocol BCSP registered
[    2.899638] Bluetooth: HCI UART protocol LL registered
[    2.904726] Bluetooth: HCI UART protocol ATH3K registered
[    2.910103] Bluetooth: HCI UART protocol Three-wire (H5) registered
[    2.916348] Bluetooth: HCI UART protocol Intel registered
[    2.921695] Bluetooth: HCI UART protocol QCA registered
[    2.926895] usbcore: registered new interface driver bcm203x
[    2.932521] usbcore: registered new interface driver bpa10x
[    2.938053] usbcore: registered new interface driver bfusb
[    2.943507] usbcore: registered new interface driver btusb
[    2.948970] usbcore: registered new interface driver ath3k
[    2.954461] EDAC MC: ECC not enabled
[    2.958060] EDAC DEVICE0: Giving out device to module edac controller cache_err: DEV edac (POLLED)
[    2.966989] EDAC DEVICE1: Giving out device to module zynqmp-ocm-edac controller zynqmp_ocm: DEV ff960000.memory-controller (INTERRUPT)
[    2.979202] sdhci: Secure Digital Host Controller Interface driver
[    2.985085] sdhci: Copyright(c) Pierre Ossman
[    2.989409] sdhci-pltfm: SDHCI platform and OF driver helper
[    2.995319] ledtrig-cpu: registered to indicate activity on CPUs
[    3.001016] SMCCC: SOC_ID: ARCH_SOC_ID not implemented, skipping ....
[    3.007444] zynqmp_firmware_probe Platform Management API v1.1
[    3.013200] zynqmp_firmware_probe Trustzone version v1.0
[    3.066171] securefw securefw: securefw probed
[    3.066515] alg: No test for xilinx-zynqmp-aes (zynqmp-aes)
[    3.070682] zynqmp_aes firmware:zynqmp-firmware:zynqmp-aes: AES Successfully Registered
[    3.078772] alg: No test for xilinx-keccak-384 (zynqmp-keccak-384)
[    3.084910] alg: No test for xilinx-zynqmp-rsa (zynqmp-rsa)
[    3.090454] usbcore: registered new interface driver usbhid
[    3.095783] usbhid: USB HID core driver
[    3.099808] xlnk xlnk: Major 243
[    3.102900] xlnk xlnk: xlnk driver loaded
[    3.106772] xlnk xlnk: xlnk_pdev is not null
[    3.113677] ARM CCI_400_r1 PMU driver probed
[    3.114163] fpga_manager fpga0: Xilinx ZynqMP FPGA Manager registered
[    3.122116] usbcore: registered new interface driver snd-usb-audio
[    3.128611] pktgen: Packet Generator for packet performance testing. Version: 2.75
[    3.135900] Initializing XFRM netlink socket
[    3.139638] NET: Registered protocol family 10
[    3.144439] Segment Routing with IPv6
[    3.147789] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.153877] NET: Registered protocol family 17
[    3.157902] NET: Registered protocol family 15
[    3.162313] can: controller area network core
[    3.166658] NET: Registered protocol family 29
[    3.171037] can: raw protocol
[    3.173976] can: broadcast manager protocol
[    3.178131] can: netlink gateway - max_hops=1
[    3.182551] Bluetooth: RFCOMM TTY layer initialized
[    3.187310] Bluetooth: RFCOMM socket layer initialized
[    3.192416] Bluetooth: RFCOMM ver 1.11
[    3.196123] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    3.201393] Bluetooth: BNEP filters: protocol multicast
[    3.206587] Bluetooth: BNEP socket layer initialized
[    3.211514] Bluetooth: HIDP (Human Interface Emulation) ver 1.2
[    3.217399] Bluetooth: HIDP socket layer initialized
[    3.222465] 9pnet: Installing 9P2000 support
[    3.226592] Key type dns_resolver registered
[    3.230966] registered taskstats version 1
[    3.234870] Loading compiled-in X.509 certificates
[    3.240959] Btrfs loaded, crc32c=crc32c-generic
[    3.254826] ff000000.serial: ttyPS0 at MMIO 0xff000000 (irq = 47, base_baud = 6249999) is a xuartps
[    3.263859] printk: console [ttyPS0] enabled
[    3.263859] printk: console [ttyPS0] enabled
[    3.268170] printk: bootconsole [cdns0] disabled
[    3.268170] printk: bootconsole [cdns0] disabled
[    3.277727] of-fpga-region fpga-full: FPGA Region probed
[    3.287800] xilinx-zynqmp-dma fd500000.dma: ZynqMP DMA driver Probe success
[    3.295001] xilinx-zynqmp-dma fd510000.dma: ZynqMP DMA driver Probe success
[    3.302214] xilinx-zynqmp-dma fd520000.dma: ZynqMP DMA driver Probe success
[    3.309409] xilinx-zynqmp-dma fd530000.dma: ZynqMP DMA driver Probe success
[    3.316592] xilinx-zynqmp-dma fd540000.dma: ZynqMP DMA driver Probe success
[    3.323782] xilinx-zynqmp-dma fd550000.dma: ZynqMP DMA driver Probe success
[    3.330968] xilinx-zynqmp-dma fd560000.dma: ZynqMP DMA driver Probe success
[    3.338164] xilinx-zynqmp-dma fd570000.dma: ZynqMP DMA driver Probe success
[    3.345427] xilinx-zynqmp-dma ffa80000.dma: ZynqMP DMA driver Probe success
[    3.352627] xilinx-zynqmp-dma ffa90000.dma: ZynqMP DMA driver Probe success
[    3.359824] xilinx-zynqmp-dma ffaa0000.dma: ZynqMP DMA driver Probe success
[    3.367017] xilinx-zynqmp-dma ffab0000.dma: ZynqMP DMA driver Probe success
[    3.374203] xilinx-zynqmp-dma ffac0000.dma: ZynqMP DMA driver Probe success
[    3.381389] xilinx-zynqmp-dma ffad0000.dma: ZynqMP DMA driver Probe success
[    3.388580] xilinx-zynqmp-dma ffae0000.dma: ZynqMP DMA driver Probe success
[    3.395764] xilinx-zynqmp-dma ffaf0000.dma: ZynqMP DMA driver Probe success
[    3.404066] spi-nor spi0.0: found is25wp256d, expected mt25qu256a
[    3.412166] spi-nor spi0.0: trying to lock already unlocked area
[    3.418175] spi-nor spi0.0: is25wp256d (32768 Kbytes)
[    3.423249] 3 fixed-partitions partitions found on MTD device spi0.0
[    3.429604] Creating 3 MTD partitions on "spi0.0":
[    3.434394] 0x000000000000-0x000000100000 : "boot"
[    3.440066] 0x000000100000-0x000000140000 : "bootenv"
[    3.445834] 0x000000140000-0x000001740000 : "kernel"
[    3.451995] macb ff0d0000.ethernet: Not enabling partial store and forward
[    3.459739] libphy: MACB_mii_bus: probed
[    3.463755] zynqmp_pll_disable() clock disable failed for apll_int, ret = -13
[    3.471730] macb ff0d0000.ethernet eth0: Cadence GEM rev 0x50070106 at 0xff0d0000 irq 36 (00:0a:35:00:02:90)
[    3.482015] xilinx-axipmon ffa00000.perf-monitor: Probed Xilinx APM
[    3.488622] xilinx-axipmon fd0b0000.perf-monitor: Probed Xilinx APM
[    3.495189] xilinx-axipmon fd490000.perf-monitor: Probed Xilinx APM
[    3.501756] xilinx-axipmon ffa10000.perf-monitor: Probed Xilinx APM
[    3.510039] cdns-i2c ff030000.i2c: 400 kHz mmio ff030000 irq 38
[    3.515294] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.516453] cdns-wdt fd4d0000.watchdog: Xilinx Watchdog Timer with timeout 60s
[    3.521452] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 1
[    3.529020] cdns-wdt ff150000.watchdog: Xilinx Watchdog Timer with timeout 10s
[    3.536424] xhci-hcd xhci-hcd.1.auto: hcc params 0x0238f625 hci version 0x100 quirks 0x0000000002010010
[    3.546986] of_cfs_init
[    3.552941] xhci-hcd xhci-hcd.1.auto: irq 51, io mem 0xfe300000
[    3.555377] of_cfs_init: OK
[    3.563057] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.10
[    3.564192] cfg80211: Loading compiled-in X.509 certificates for regulatory database
[    3.572298] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.572304] usb usb1: Product: xHCI Host Controller
[    3.592118] usb usb1: Manufacturer: Linux 5.10.0-xilinx-v2021.2 xhci-hcd
[    3.598815] usb usb1: SerialNumber: xhci-hcd.1.auto
[    3.604112] hub 1-0:1.0: USB hub found
[    3.607891] hub 1-0:1.0: 1 port detected
[    3.612034] xhci-hcd xhci-hcd.1.auto: xHCI Host Controller
[    3.617531] xhci-hcd xhci-hcd.1.auto: new USB bus registered, assigned bus number 2
[    3.625191] xhci-hcd xhci-hcd.1.auto: Host supports USB 3.0 SuperSpeed
[    3.631794] usb usb2: We don't know the algorithms for LPM for this host, disabling LPM.
[    3.632777] mmc0: SDHCI controller on ff170000.mmc [ff170000.mmc] using ADMA 64-bit
[    3.639975] usb usb2: New USB device found, idVendor=1d6b, idProduct=0003, bcdDevice= 5.10
[    3.655794] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    3.663004] usb usb2: Product: xHCI Host Controller
[    3.667877] usb usb2: Manufacturer: Linux 5.10.0-xilinx-v2021.2 xhci-hcd
[    3.674566] usb usb2: SerialNumber: xhci-hcd.1.auto
[    3.679768] hub 2-0:1.0: USB hub found
[    3.683589] hub 2-0:1.0: 1 port detected
[    3.721776] mmc0: new high speed SDHC card at address 5048
[    3.737107] mmcblk0: mmc0:5048 DDINC 14.9 GiB
[    3.743059]  mmcblk0: p1 p2
[    3.748828] cfg80211: Loaded X.509 cert 'sforshee: 00b28ddf47aef9cea7'
[    3.755362] clk: Not disabling unused clocks
[    3.759832] ALSA device list:
[    3.762789]   No soundcards found.
[    3.766612] platform regulatory.0: Direct firmware load for regulatory.db failed with error -2
[    3.775232] cfg80211: failed to load regulatory.db
[    3.944810] usb 1-1: new high-speed USB device number 2 using xhci-hcd
[    3.951357] random: fast init done
[    6.342541] usb 1-1: New USB device found, idVendor=046d, idProduct=082d, bcdDevice= 0.11
[    6.350720] usb 1-1: New USB device strings: Mfr=0, Product=2, SerialNumber=1
[    6.357850] usb 1-1: Product: HD Pro Webcam C920
[    6.362465] usb 1-1: SerialNumber: 85E23E4F
[    6.384045] uvcvideo: Found UVC 1.00 device HD Pro Webcam C920 (046d:082d)
[    6.392432] input: HD Pro Webcam C920 as /devices/platform/axi/ff9e0000.usb1/fe300000.dwc3/xhci-hcd.1.auto/usb1/1-1/1-1:1.0/input/input0
[    9.970596] EXT4-fs (mmcblk0p2): recovery complete
[    9.978661] EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
[    9.986804] VFS: Mounted root (ext4 filesystem) on device 179:2.
[    9.992893] devtmpfs: mounted
[    9.996913] Freeing unused kernel memory: 2112K
[   10.001523] Run /sbin/init as init process
INIT: version 2.97 booting
Starting udev
[   10.535451] udevd[240]: starting version 3.2.9
[   10.559667] random: udevd: uninitialized urandom read (16 bytes read)
[   10.566935] random: udevd: uninitialized urandom read (16 bytes read)
[   10.573405] random: udevd: uninitialized urandom read (16 bytes read)
[   10.633702] udevd[241]: starting eudev-3.2.9
[   11.563693] FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[   11.583875] usb 1-1: reset high-speed USB device number 2 using xhci-hcd
[   11.794479] dmaproxy: loading out-of-tree module taints kernel.
[   11.820156] EXT4-fs (mmcblk0p2): re-mounted. Opts: (null)
bootlogd: /dev/ttyPS0
*********************************************************************
***                                                               ***
INIT: Entering runlevel: 5t Of Box PetaLinux

*********************************************************************
***                                                               ***
***   Avnet Out Of Box PetaLinux Build V1.2                       ***
***   MAC address init config for eth0                            ***
***                                                               ***
*********************************************************************

/home/root/mac_eeprom_config.sh --bus 0 --slave 0x58 --file /etc/network/interfaces --interface eth0

Reading MAC ID from target EEPROM at 0x58 on bus i2c-0
Retrieved MAC ID fc:c2:3d:42:bc:12 from target EEPROM
Networking interfaces configuration file  detected
programming EEPROM MAC ID to eth0
        hwaddress ether fc:c2:3d:42:bc:12
hwaddress was already set
Configuring network interfaces... [   13.686684] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/firmware-name
[   13.696823] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /fpga-full/resets
[   13.706426] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay0
[   13.716258] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/overlay1
[   13.726091] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/afi0
[   13.735578] OF: overlay: WARNING: memory leak will occur if overlay removed, property: /__symbols__/zocl
udhcpc: started, v1.32.0
[   13.771566] zocl-drm axi:zyxclmm_drm: IRQ index 8 not found
DFX-MGRD> Successfully loaded base design.

DFX-MGRD> dfx-mgr daemon started.

udhcpc: sending discover
udhcpc: sending discover
udhcpc: sending discover
udhcpc: no lease, forking to background
done.
Starting system message bus: dbus.
Starting random number generator daemon.
Starting haveged: haveged: command socket is listening at fd 3
haveged: haveged starting up


haveged: haveged: ver: 1.9.13; arch: generic; vend: ; build: (gcc 10.2.0 CTV); collect: 128K

haveged: haveged: cpu: (VC); data: 16K (D); inst: 16K (D); idx: 11/40; sz: 15456/64452

haveged: haveged: tot tests(BA8): A:1/1 B:1/1 continuous tests(B):  last entropy estimate 8.00151

haveged: haveged: fills: 0, generated: 0

Starting OpenBSD Secure Shell server: sshd
done.
Starting Xserver
Starting rpcbind daemon...
done.
starting statd:
X.Org X Server 1.20.9
X Protocol Version 11, Revision 0
Build Operating System: Linux
Current Operating System: Linux zub1cg-sbc-2021-2 5.10.0-xilinx-v2021.2 #1 SMP Tue Oct 12 09:30:57 UTC 2021 aarch64
Kernel command line: earlycon console=ttyPS0,115200 clk_ignore_unused root=/dev/mmcblk0p2 rw rootwait cma=512M
Build Date: 25 August 2020  03:40:19PM

Current version of pixman: 0.40.0
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Fri Mar  9 12:36:33 2018
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
done
(EE)
Fatal server error:
(EE) no screens found(EE)
(EE)
Please consult the The X.Org Foundation support
         at http://wiki.x.org
 for help.
(EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.
(EE)
(EE) Server terminated with error (1). Closing log file.
Starting internet superserver: inetd.
NFS daemon support not enabled in kernel
Starting syslogd/klogd: done
Starting internet superserver: xinetd.
Starting watchdog daemon...done
Starting tcf-agent: OK

PetaLinux 2021.2 zub1cg-sbc-2021-2 ttyPS0


root@zub1cg-sbc-2021-2:~#

Then we can configure the IP address for the eth0 interface and list the apps available and query the DPU using xmutil and xdputil applications. Further information can be found below.

root@zub1cg-sbc-2021-2:~# xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

root@zub1cg-sbc-2021-2:~# ifconfig
eth0      Link encap:Ethernet  HWaddr FC:C2:3D:42:BC:12
          inet6 addr: fe80::fec2:3dff:fe42:bc12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:43 errors:0 dropped:0 overruns:0 frame:0
          TX packets:39 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6132 (5.9 KiB)  TX bytes:10094 (9.8 KiB)
          Interrupt:36

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:380 (380.0 B)  TX bytes:380 (380.0 B)

root@zub1cg-sbc-2021-2:~# ifconfig -a eth0 192.168.0.20
root@zub1cg-sbc-2021-2:~# ifconfig
eth0      Link encap:Ethernet  HWaddr FC:C2:3D:42:BC:12
          inet addr:192.168.0.20  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::fec2:3dff:fe42:bc12/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:45 errors:0 dropped:0 overruns:0 frame:0
          TX packets:45 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:6620 (6.4 KiB)  TX bytes:11898 (11.6 KiB)
          Interrupt:36

lo        Link encap:Local Loopback
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:6 errors:0 dropped:0 overruns:0 frame:0
          TX packets:6 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:380 (380.0 B)  TX bytes:380 (380.0 B)

root@zub1cg-sbc-2021-2:~# xmutil listapps
                     Accelerator                            Base           Type    #sl                               ots         Active_slot

        avnet-zub1cg-dualcam-dpu        avnet-zub1cg-dualcam-dpu       XRT_FLAT                                        0                  -1
      avnet-zub1cg-ar1335-single      avnet-zub1cg-ar1335-single       XRT_FLAT                                        0                  -1
          avnet-zub1cg-benchmark          avnet-zub1cg-benchmark       XRT_FLAT                                        0                  0,
      avnet-zub1cg-ar0144-single      avnet-zub1cg-ar0144-single       XRT_FLAT                                        0                  -1
        avnet-zub1cg-ar0144-dual        avnet-zub1cg-ar0144-dual       XRT_FLAT                                        0                  -1
Socket 9 closed by client
root@zub1cg-sbc-2021-2:~# xmutil listapps
                     Accelerator                            Base           Type    #slots         Active_slot

        avnet-zub1cg-dualcam-dpu        avnet-zub1cg-dualcam-dpu       XRT_FLAT         0                  -1
      avnet-zub1cg-ar1335-single      avnet-zub1cg-ar1335-single       XRT_FLAT         0                  -1
          avnet-zub1cg-benchmark          avnet-zub1cg-benchmark       XRT_FLAT         0                  0,
      avnet-zub1cg-ar0144-single      avnet-zub1cg-ar0144-single       XRT_FLAT         0                  -1
        avnet-zub1cg-ar0144-dual        avnet-zub1cg-ar0144-dual       XRT_FLAT         0                  -1
Socket 9 closed by client
root@zub1cg-sbc-2021-2:~# xdputil query
{
    "DPU IP Spec":{
        "DPU Core Count":1,
        "DPU Target Version":"v1.4.1",
        "IP version":"v3.4.0",
        "generation timestamp":"2021-12-15 10-30-00",
        "git commit id":"706bd10",
        "git commit time":2112151029,
        "regmap":"1to1 version"
    },
    "VAI Version":{
        "libvart-runner.so":"Xilinx vart-runner Version: 2.0.0-d02dcb6041663dbc7ecbc0c6af9fafa087a789de  2022-09-02-17:50:46 ",
        "libvitis_ai_library-dpu_task.so":"Xilinx vitis_ai_library dpu_task Version: 2.0.0-d02dcb6041663dbc7ecbc0c6af9fafa087a789de  2022-01-20 07:11:10 [UTC] ",
        "libxir.so":"Xilinx xir Version: xir-d02dcb6041663dbc7ecbc0c6af9fafa087a789de 2022-09-02-17:48:00",
        "target_factory":"target-factory.2.0.0 d02dcb6041663dbc7ecbc0c6af9fafa087a789de"
    },
    "kernels":[
        {
            "DPU Arch":"DPUCZDX8G_ISA0_B512_01000020F6012200",
            "DPU Frequency (MHz)":300,
            "IP Type":"DPU",
            "Load Parallel":2,
            "Load augmentation":"enable",
            "Load minus mean":"disable",
            "Save Parallel":2,
            "XRT Frequency (MHz)":300,
            "cu_addr":"0xa0000000",
            "cu_handle":"0xaaaae68f7d60",
            "cu_idx":0,
            "cu_mask":1,
            "cu_name":"DPUCZDX8G:DPUCZDX8G_1",
            "device_id":0,
            "fingerprint":"0x1000020f6012200",
            "name":"DPU Core 0"
        }
    ]
}
root@zub1cg-sbc-2021-2:~#

I was able to follow the tutorial and had some issues running the standalone face_detect and pose_detect applications. But was able to run the python based webserver applications. The logs can be found below. 

login as: root
root@192.168.0.20's password:
Last login: Fri Mar  9 12:44:54 2018 from 192.168.0.10
/usr/bin/xauth:  file /home/root/.Xauthority does not exist
root@zub1cg-sbc-2021-2:~# cd Vitis-AI/demo/Vitis-AI-Library/samples/facedetect/
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/facedetect# ls
build.sh                      test_accuracy_facedetect_mt.cpp
images                        test_jpeg_facedetect
process_result.hpp            test_jpeg_facedetect.cpp
readme                        test_performance_facedetect
sample_facedetect.jpg         test_performance_facedetect.cpp
test_accuracy_facedetect      test_performance_facedetect.list
test_accuracy_facedetect.cpp  test_video_facedetect
test_accuracy_facedetect_mt   test_video_facedetect.cpp
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/facedetect# ./test_video_facedetect
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Aborted
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/facedetect# cd ../posedetect/
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/posedetect# ls
build.sh                         test_jpeg_posedetect.cpp
images                           test_jpeg_posedetect_with_ssd
process_result.hpp               test_jpeg_posedetect_with_ssd.cpp
readme                           test_performance_posedetect
sample_pose_detect_with_ssd.jpg  test_performance_posedetect.cpp
sample_posedetect.jpg            test_performance_posedetect.list
ssd_posedetect.hpp               test_performance_posedetect_with_ssd.list
test_accuracy_posedetect         test_video_posedetect
test_accuracy_posedetect.cpp     test_video_posedetect.cpp
test_accuracy_posedetect_mt      test_video_posedetect_with_ssd
test_accuracy_posedetect_mt.cpp  test_video_posedetect_with_ssd.cpp
test_jpeg_posedetect
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/posedetect# ./test_video_posedetect
terminate called after throwing an instance of 'std::logic_error'
  what():  basic_string::_M_construct null not valid
Aborted
root@zub1cg-sbc-2021-2:~/Vitis-AI/demo/Vitis-AI-Library/samples/posedetect# cd
root@zub1cg-sbc-2021-2:~# cd vitis_ai_python_examples/
root@zub1cg-sbc-2021-2:~/vitis_ai_python_examples# ls
LICENSE    face_applications       pmbus_plotting  vitis_ai_vart
README.md  face_applications_dlib  pyimagesearch   webserver
root@zub1cg-sbc-2021-2:~/vitis_ai_python_examples# cd webserver/
root@zub1cg-sbc-2021-2:~/vitis_ai_python_examples/webserver# ls
readme.txt  templates  webserver.py
root@zub1cg-sbc-2021-2:~/vitis_ai_python_examples/webserver# python3 webserver.py
[ERROR] DLIB not available ! (install with : pip3 install dlib)
[ERROR] sensor/matplotlib/io not available ! (install with : pip3 install pysensors matplotlib io)
 * Serving Flask app "webserver" (lazy loading)
 * Environment: production
   WARNING: This is a development server. Do not use it in a production deployment.
   Use a production WSGI server instead.
 * Debug mode: on
 * Running on http://0.0.0.0:80/ (Press CTRL+C to quit)
 * Restarting with stat
[ERROR] DLIB not available ! (install with : pip3 install dlib)
[ERROR] sensor/matplotlib/io not available ! (install with : pip3 install pysensors matplotlib io)
 * Debugger is active!
 * Debugger PIN: 387-494-738
192.168.0.10 - - [09/Mar/2018 12:58:00] "GET / HTTP/1.1" 200 -
[INFO] Vitis-AI/DPU based face detector initialization ...
[INFO] Vitis-AI/DPU based face landmark initialization ...
[INFO] face detection = VART
[INFO] face landmarks = VART
[INFO] WEBCAM usbcam_dev =  /dev/video0
[INFO] WEBCAM usbcam_gst =  ('v4l2src device=', '/dev/video0', ' ! video/x-raw, width=640, height=480 ! videoconvert ! video/x-raw, format=RGB ! appsink ')
[ WARN:0] global /usr/src/debug/opencv/4.4.0-r0/git/modules/videoio/src/cap_gstreamer.cpp (1760) handleMessage OpenCV | GStreamer warning: Embedded video playback halted; module source reported: Could not read from resource.
[ WARN:0] global /usr/src/debug/opencv/4.4.0-r0/git/modules/videoio/src/cap_gstreamer.cpp (888) open OpenCV | GStreamer warning: unable to start pipeline
[ WARN:0] global /usr/src/debug/opencv/4.4.0-r0/git/modules/videoio/src/cap_gstreamer.cpp (480) isPipelinePlaying OpenCV | GStreamer warning: GStreamer: pipeline have not been created
[INFO] Camera Matrix :
 [[640.   0. 320.]
 [  0. 640. 240.]
 [  0.   0.   1.]]
192.168.0.10 - - [09/Mar/2018 12:58:06] "GET /video_feed HTTP/1.1" 200 -
192.168.0.10 - - [09/Mar/2018 12:58:20] "GET /favicon.ico HTTP/1.1" 404 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:02:19] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = face detection
192.168.0.10 - - [09/Mar/2018 13:02:23] "POST /set_algorithm/faces HTTP/1.1" 200 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:02:28] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = head pose estimation
192.168.0.10 - - [09/Mar/2018 13:02:31] "POST /set_algorithm/headpose HTTP/1.1" 200 -
[INFO] algorithm = none
192.168.0.10 - - [09/Mar/2018 13:03:26] "POST /set_algorithm/none HTTP/1.1" 200 -
[INFO] algorithm = face detection
192.168.0.10 - - [09/Mar/2018 13:03:51] "POST /set_algorithm/faces HTTP/1.1" 200 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:03:57] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = head pose estimation
192.168.0.10 - - [09/Mar/2018 13:04:02] "POST /set_algorithm/headpose HTTP/1.1" 200 -
[INFO] algorithm = tracking
192.168.0.10 - - [09/Mar/2018 13:04:16] "POST /set_algorithm/tracking HTTP/1.1" 200 -
[INFO] algorithm = face detection
192.168.0.10 - - [09/Mar/2018 13:04:39] "POST /set_algorithm/faces HTTP/1.1" 200 -
[INFO] algorithm = none
192.168.0.10 - - [09/Mar/2018 13:04:41] "POST /set_algorithm/none HTTP/1.1" 200 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:04:43] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = head pose estimation
192.168.0.10 - - [09/Mar/2018 13:04:46] "POST /set_algorithm/headpose HTTP/1.1" 200 -
[INFO] algorithm = face detection
192.168.0.10 - - [09/Mar/2018 13:04:49] "POST /set_algorithm/faces HTTP/1.1" 200 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:05:06] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = face landmarks
192.168.0.10 - - [09/Mar/2018 13:05:08] "POST /set_algorithm/landmarks HTTP/1.1" 200 -
[INFO] algorithm = face detection
192.168.0.10 - - [09/Mar/2018 13:05:10] "POST /set_algorithm/faces HTTP/1.1" 200 -

I was finally able to do some face detection and tracking using the python webserver applications. 

A video of the entire set of features tested can be found below.


Conclusion:

Overall, I am very satisfied with the Avnet ZUBoard 1CG Development kit. The amount of features available in the board, training resources available, AI/ML demos, PYNQ support will immensely benefit  a user/customer from a technical training perspective and also R&D prototyping perspective. As this board can potentially save time and effort spent towards new product idea evaluations and prototyping. The learning done using the development board is easily transferrable to other Ultrascale devices (with some understanding of FPGA related nitty-gritty details).  

Anonymous
  • Thanks to your the road test I was able to resolve my issue with using an Ethernet Adapter by using IP address 192.168.2.5. I was originally using 192.168.2.10. How did you know to use 192.168.2.5? Note that my board IP is the same as yours -192.168.2.10.