CoraZ7S Quick start

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/coraz7s.webp

This guide provides some quick instructions on how to setup the EVAL-AD719x-ASDZ on:

  • Cora Z7S Pmod JA connector (default) or Arduino shield connector

Using Linux as software

Necessary files

The following files are needed for the system to boot:

  • HDL boot image: BOOT.BIN

  • Linux Kernel image: uImage

  • Linux device tree: devicetree.dtb

  • uEnv.txt

  • boot.scr (optional)

They can either be taken from the SD card – already generated by us, or you can build them manually.

In the following sections, we explain how to take them from the SD card.

Instructions on how to manually build the boot files from source can be found here:

An abridged version of how to build the device tree and kernel image for the EVAL-AD719x is provided below.

  1. Get the latest version of the ARM GNU Toolchain from Arm GNU Toolchain Downloads and extract it to a convenient location (e.g. your home directory).

    On Ubuntu, some development packages may be required:

    ~$
    
    sudo apt-get install fakeroot build-essential devscripts libncurses5 libncurses5-dev
    
  2. Clone the ADI Linux repository:

    ~$
    
    git clone https://github.com/analogdevicesinc/linux.git
    
    ~$
    
    cd linux
    
  3. Configure the kernel:

    ~$
    
    make ARCH=arm CROSS_COMPILE=~/arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- zynq_xcomm_adv7511_defconfig
    
  4. Build the device tree:

    ~$
    
    make ARCH=arm CROSS_COMPILE=~/arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- xilinx/zynq-coraz7s-ad7195.dtb
    
  5. Build the kernel image:

    ~$
    
    make ARCH=arm CROSS_COMPILE=~/arm-gnu-toolchain-15.2.rel1-x86_64-arm-none-linux-gnueabihf/bin/arm-none-linux-gnueabihf- UIMAGE_LOADADDR=0x8000 uImage
    
  6. Copy arch/arm/boot/dts/xilinx/zynq-coraz7s-ad7195.dtb to the root of the SD card’s BOOT partition and rename it to devicetree.dtb.

  7. Copy arch/arm/boot/uImage to the root of the SD card’s BOOT partition.

Required Software

Required Hardware

  • One of the EVAL-AD719x-ASDZ evaluation boards

  • Cora Z7S

  • Micro SD card with at least 16GB

  • Micro USB to USB Type A cable (UART / power)

  • LAN cable (Ethernet)

Testing

Creating the setup

All the products described on this page include ESD (electrostatic discharge) sensitive devices. Electrostatic charges as high as 4000V readily accumulate on the human body or test equipment and can discharge without detection. Although the boards feature ESD protection circuitry, permanent damage may occur on devices subjected to high-energy electrostatic discharges. Therefore, proper ESD precautions are recommended to avoid performance degradation or loss of functionality. This includes removing static charge on external equipment, cables, or antennas before connecting to the device.

Follow the steps in this order, to avoid damaging the components:

  1. Configure the CoraZ7S jumpers:

    https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/images/cora_hw_config.jpg

    Jumper Location

    Description

    Shunt Placement

    JP2

    Selects how the CoraZ7-07s board boots. We want to boot from the microSD card.

    Across Pins 1 & 2

    JP3

    Selects how the CoraZ7-07s board is powered. We are powering from the USB port.

    Across Pins 3 & 2 (labeled USB)

  2. Connect the EVAL-AD719x-ASDZ to the CoraZ7S using one of the following configurations:

    • Pmod JA connector (default HDL configuration):

      https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/eval-ad719x/images/cora_ad719x_pmod.png
    • Arduino shield connector (HDL built with ARDZ_Pmod_N=1). See the AD719X-ASDZ HDL project project for details.

      https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/eval-ad719x/images/cora_ad719x_arduino.png
  3. Insert the SD card with ADI Kuiper image into the microSD card slot on the CoraZ7S

  4. Connect USB UART (Micro USB) to your host PC

  5. Connect an Ethernet cable to the CoraZ7S and to your network

  6. Power up the setup via the USB connection

    Info

    If you don’t have a network available and want to stream data directly from the Ethernet port of the CoraZ7S to the Ethernet port of your PC, that is still possible, but requires some extra configuration. Please see the Network Configuration page for complete details.

CoraZ7S SD card boot files

The files that need to be present on the SD card BOOT partition are:

  1. BOOT.BIN

  2. uImage

  3. devicetree.dtb

  4. uEnv.txt (found in BOOT/zynq-common/ on the SD card)

  5. boot.scr (optional)

Setting up UART

  1. A driver for the board should automatically be detected and installed on your PC. If this does not happen, you may need to manually install the driver. Here is a link to the UART Serial Driver.

  2. Using your Device Manager, locate the COM port assigned to the CoraZ7S board.

  3. Open PuTTY, Tera Term, or another serial terminal program and open a terminal to the COM port of the CoraZ7S by setting the baud rate to 115200, then connect.

  4. The serial terminal connection will auto-login and place you in the root directory of the SD card.

Boot messages

The following is what is printed in the serial console, after you have connected to the proper ttyUSB or COM port:

U-Boot 2018.01-21442-gf06dec3cab (Oct 17 2024 - 09:01:24 +0300), Build: jenkins-development-build_uboot-35

Model: Zynq Cora Z7 Development Board
Board: Xilinx Zynq
Silicon: v3.1
I2C:   ready
DRAM:  ECC disabled 512 MiB
Flash: ## Unknown flash on Bank 1 - Size = 0x00000000 = 0 MB
0 Bytes
MMC:   sdhci@e0100000: 0 (SD)
Using default environment

In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Net:   ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
eth0: ethernet@e000b000
reading uEnv.txt
408 bytes read in 13 ms (30.3 KiB/s)
Importing environment from SD ...
Hit any key to stop autoboot:  2  1  0
Device: sdhci@e0100000
Manufacturer ID: 3
OEM: 5344
Name: SK32G
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 29.7 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
408 bytes read in 13 ms (30.3 KiB/s)
Loaded environment from uEnv.txt
Importing environment from SD ...
Running uenvcmd ...
Copying Linux from SD to RAM...
reading uImage
9046456 bytes read in 514 ms (16.8 MiB/s)
reading devicetree.dtb
12129 bytes read in 19 ms (623 KiB/s)
** Unable to read file uramdisk.image.gz **
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-6.12.0-g298669e57d37
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    9046392 Bytes = 8.6 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x2a00000
   Loading Kernel Image ... OK
   Loading Device Tree to 1eb17000, end 1eb1cf60 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 6.12.0-g298669e57d37 (spare@spare-Latitude-7400-2-in-1) (arm-none-linux-gnueabihf-gcc (Arm GNU Toolchain 15.2.Rel1 (Build arm-15.86)) 15.2.1 20251203, GNU ld (Arm GNU Toolchain 15.2.Rel1 (Build arm-15.86)) 2.45.1.20251203) #3 SMP PREEMPT Wed Mar 18 18:43:22 EET 2026
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
OF: fdt: Machine model: Zynq Cora Z7 Development Board
earlycon: cdns0 at MMIO 0xe0000000 (options '115200n8')
printk: legacy bootconsole [cdns0] enabled
Memory policy: Data cache writealloc
cma: Reserved 128 MiB at 0x16800000 on node -1
Zone ranges:
  Normal   [mem 0x0000000000000000-0x000000001fffffff]
  HighMem  empty
Movable zone start for each node
Early memory node ranges
  node   0: [mem 0x0000000000000000-0x000000001fffffff]
Initmem setup node 0 [mem 0x0000000000000000-0x000000001fffffff]
percpu: Embedded 12 pages/cpu s17356 r8192 d23604 u49152
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlycon rootfstype=ext4 rootwait clk_ignore_unused cpuidle.off=1
Dentry cache hash table entries: 65536 (order: 6, 262144 bytes, linear)
Inode-cache hash table entries: 32768 (order: 5, 131072 bytes, linear)
Built 1 zonelists, mobility grouping on.  Total pages: 131072
mem auto-init: stack:all(zero), heap alloc:off, heap free:off
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
rcu: Preemptible hierarchical RCU implementation.
rcu:      RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
rcu: RCU calculated value of scheduler-enlistment delay is 10 jiffies.
rcu: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2
NR_IRQS: 16, nr_irqs: 16, preallocated irqs: 16
efuse mapped to (ptrval)
slcr mapped to (ptrval)
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
rcu: srcu_init: Setting srcu_struct sizes based on contention.
zynq_clock_init: clkc starts at (ptrval)
Zynq clock init
sched_clock: 64 bits at 163MHz, resolution 6ns, wraps every 4398046511101ns
clocksource: arm_global_timer: mask: 0xffffffffffffffff max_cycles: 0x257a3bfb55, max_idle_ns: 440795207830 ns
Switching to timer-based delay loop, resolution 6ns
Console: colour dummy device 80x30
Calibrating delay loop (skipped), value calculated using timer frequency.. 325.00 BogoMIPS (lpj=1625000)
CPU: Testing write buffer coherency: ok
CPU0: Spectre v2: using BPIALL workaround
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes, linear)
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x100000 - 0x100060
rcu: Hierarchical SRCU implementation.
rcu:      Max phase no-delay instances is 1000.
smp: Bringing up secondary CPUs ...
CPU1: failed to boot: -1
smp: Brought up 1 node, 1 CPU
SMP: Total of 1 processors activated (325.00 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
Memory: 358800K/524288K available (13312K kernel code, 907K rwdata, 10984K rodata, 1024K init, 496K bss, 33456K reserved, 131072K cma-reserved, 0K highmem)
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
futex hash table entries: 512 (order: 3, 32768 bytes, linear)
pinctrl core: initialized pinctrl subsystem
NET: Registered PF_NETLINK/PF_ROUTE protocol family
DMA: preallocated 256 KiB pool for atomic coherent allocations
thermal_sys: Registered thermal governor 'step_wise'
platform axi: Fixed dependency cycle(s) with /axi/interrupt-controller@f8f01000
platform replicator: Fixed dependency cycle(s) with /axi/etb@f8801000
amba f8801000.etb: Fixed dependency cycle(s) with /replicator
platform replicator: Fixed dependency cycle(s) with /axi/tpiu@f8803000
amba f8803000.tpiu: Fixed dependency cycle(s) with /replicator
platform replicator: Fixed dependency cycle(s) with /axi/funnel@f8804000
amba f8804000.funnel: Fixed dependency cycle(s) with /axi/ptm@f889d000
amba f8804000.funnel: Fixed dependency cycle(s) with /axi/ptm@f889c000
amba f8804000.funnel: Fixed dependency cycle(s) with /replicator
amba f8804000.funnel: Fixed dependency cycle(s) with /axi/ptm@f889c000
amba f889c000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000
amba f8804000.funnel: Fixed dependency cycle(s) with /axi/ptm@f889d000
amba f889d000.ptm: Fixed dependency cycle(s) with /axi/funnel@f8804000
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
e0000000.serial: ttyPS0 at MMIO 0xe0000000 (irq = 26, base_baud = 6250000) is a xuartps
printk: legacy console [ttyPS0] enabled
printk: legacy console [ttyPS0] enabled
printk: legacy bootconsole [cdns0] disabled
printk: legacy bootconsole [cdns0] disabled
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
mc: Linux media interface: v0.10
videodev: Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
jesd204: found 0 devices and 0 topologies
FPGA manager framework
Advanced Linux Sound Architecture Driver Initialized.
clocksource: Switched to clocksource arm_global_timer
NET: Registered PF_INET protocol family
IP idents hash table entries: 8192 (order: 4, 65536 bytes, linear)
tcp_listen_portaddr_hash hash table entries: 512 (order: 0, 4096 bytes, linear)
Table-perturb hash table entries: 65536 (order: 6, 262144 bytes, linear)
TCP established hash table entries: 4096 (order: 2, 16384 bytes, linear)
TCP bind hash table entries: 4096 (order: 4, 65536 bytes, linear)
TCP: Hash tables configured (established 4096 bind 4096)
UDP hash table entries: 256 (order: 1, 8192 bytes, linear)
UDP-Lite hash table entries: 256 (order: 1, 8192 bytes, linear)
NET: Registered PF_UNIX/PF_LOCAL protocol family
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp-with-tls transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
workingset: timestamp_bits=30 max_order=17 bucket_order=0
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
nfs4filelayout_init: NFSv4 File Layout Driver Registering...
nfs4flexfilelayout_init: NFSv4 Flexfile Layout Driver Registering...
fuse: init (API version 7.41)
io scheduler mq-deadline registered
io scheduler kyber registered
io scheduler bfq registered
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
ledtrig-cpu: registered to indicate activity on CPUs
dma-pl330 f8003000.dma-controller: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dma-controller:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
brd: module loaded
loop: module loaded
Registered mathworks_ip class
MACsec IEEE 802.1AE
tun: Universal TUN/TAP device driver, 1.6
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 38 (00:0a:35:00:01:22)
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
usbcore: registered new interface driver r8153_ecm
usbcore: registered new interface driver uas
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
usbcore: registered new interface driver upd78f0730
usbserial: USB Serial support registered for upd78f0730
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 6.12
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: EHCI Host Controller
usb usb1: Manufacturer: Linux 6.12.0-g298669e57d37 ehci_hcd
usb usb1: SerialNumber: ci_hdrc.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
i2c_dev: i2c /dev entries driver
gspca_main: v2.14.0 registered
usbcore: registered new interface driver uvcvideo
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer with timeout 10s
Xilinx Zynq CpuIdle Driver started
failed to register cpuidle driver
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 551318127 ns
timer #0 at (ptrval), irq=42
hid: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
SPI driver fb_seps525 has no spi_device_id for syncoam,seps525
mmc0: SDHCI controller on e0100000.mmc [e0100000.mmc] using ADMA
mmc0: new high speed SDHC card at address aaaa
mmcblk0: mmc0:aaaa SK32G 29.7 GiB
 mmcblk0: p1 p2 p3
armv7-pmu f8891000.pmu: hw perfevents: no interrupt-affinity property, guessing.
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 (8000003f) counters available
fpga_manager fpga0: Xilinx Zynq FPGA Manager registered
usbcore: registered new interface driver snd-usb-audio
NET: Registered PF_INET6 protocol family
Segment Routing with IPv6
In-situ OAM (IOAM) with IPv6
sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
NET: Registered PF_PACKET protocol family
NET: Registered PF_IEEE802154 protocol family
Key type dns_resolver registered
Registering SWP/SWPB emulation handler
of-fpga-region fpga-region: FPGA Region probed
of_cfs_init
of_cfs_init: OK
clk: Not disabling unused clocks
ALSA device list:
  No soundcards found.
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem 7cf531e9-6ee9-4595-8fa6-1b40f9309a6d r/w with ordered data mode. Quota mode: disabled.
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel image (initmem) memory: 1024K
Run /sbin/init as init process
systemd[1]: System time before build time, advancing clock.
systemd[1]: Failed to find module 'autofs4'
systemd[1]: systemd 252.39-1~deb12u1 running in system mode (+PAM +AUDIT +SELINUX +APPARMOR +IMA +SMACK +SECCOMP +GCRYPT -GNUTLS +OPENSSL +ACL +BLKID +CURL +ELFUTILS +FIDO2 +IDN2 -IDN +IPTC +KMOD +LIBCRYPTSETUP +LIBFDISK +PCRE2 -PWQUALITY +P11KIT +QRENCODE +TPM2 +BZIP2 +LZ4 +XZ +ZLIB +ZSTD -BPF_FRAMEWORK -XKBCOMMON +UTMP +SYSVINIT default-hierarchy=unified)
systemd[1]: Detected architecture arm.

Welcome to Debian GNU/Linux 12 (bookworm)!

systemd[1]: Hostname set to <analog>.
[  OK  ] Created slice system-getty.slice - Slice /system/getty.
[  OK  ] Created slice system-modpr…lice - Slice /system/modprobe.
[  OK  ] Created slice system-seria… - Slice /system/serial-getty.
[  OK  ] Created slice user.slice - User and Session Slice.
[  OK  ] Started systemd-ask-passwo…quests to Console Directory Watch.
[  OK  ] Started systemd-ask-passwo… Requests to Wall Directory Watch.
[  OK  ] Reached target cryptsetup.…get - Local Encrypted Volumes.
[  OK  ] Reached target integrityse…Local Integrity Protected Volumes.
[  OK  ] Reached target paths.target - Path Units.
[  OK  ] Reached target remote-fs.target - Remote File Systems.
[  OK  ] Reached target slices.target - Slice Units.
[  OK  ] Reached target swap.target - Swaps.
[  OK  ] Reached target veritysetup… - Local Verity Protected Volumes.
[  OK  ] Listening on systemd-fsckd…sck to fsckd communication Socket.
[  OK  ] Listening on systemd-initc… initctl Compatibility Named Pipe.
[  OK  ] Listening on systemd-journ…t - Journal Socket (/dev/log).
[  OK  ] Listening on systemd-journald.socket - Journal Socket.
[  OK  ] Listening on systemd-udevd….socket - udev Control Socket.
[  OK  ] Listening on systemd-udevd…l.socket - udev Kernel Socket.
         Mounting sys-kernel-debug.… - Kernel Debug File System...
         Starting fake-hwclock.serv…estore / save the current clock...
         Starting modprobe@configfs…m - Load Kernel Module configfs...
         Starting modprobe@dm_mod.s… - Load Kernel Module dm_mod...
         Starting modprobe@drm.service - Load Kernel Module drm...
         Starting modprobe@efi_psto…- Load Kernel Module efi_pstore...
         Starting modprobe@fuse.ser…e - Load Kernel Module fuse...
         Starting modprobe@loop.ser…e - Load Kernel Module loop...
         Starting systemd-journald.service - Journal Service...
         Starting systemd-modules-l…rvice - Load Kernel Modules...
         Starting systemd-remount-f…nt Root and Kernel File Systems...
         Starting systemd-udev-trig… - Coldplug All udev Devices...
[  OK  ] Mounted sys-kernel-debug.m…nt - Kernel Debug File System.
[  OK  ] Finished fake-hwclock.serv… Restore / save the current clock.
[  OK  ] Finished modprobe@configfs… - Load Kernel Module configfs.
[  OK  ] Finished modprobe@dm_mod.s…e - Load Kernel Module dm_mod.
[  OK  ] Started systemd-journald.service - Journal Service.
[  OK  ] Finished modprobe@drm.service - Load Kernel Module drm.
[  OK  ] Finished modprobe@efi_psto…m - Load Kernel Module efi_pstore.
[  OK  ] Finished modprobe@fuse.service - Load Kernel Module fuse.
[  OK  ] Finished modprobe@loop.service - Load Kernel Module loop.
[  OK  ] Finished systemd-modules-l…service - Load Kernel Modules.
[  OK  ] Finished systemd-remount-f…ount Root and Kernel File Systems.
         Mounting sys-fs-fuse-conne… - FUSE Control File System...
         Mounting sys-kernel-config…ernel Configuration File System...
         Starting systemd-journal-f…h Journal to Persistent Storage...
         Starting systemd-random-se…ice - Load/Save Random Seed...
         Starting systemd-sysctl.se…ce - Apply Kernel Variables...
         Starting systemd-sysusers.…rvice - Create System Users...
[  OK  ] Mounted sys-fs-fuse-connec…nt - FUSE Control File System.
[  OK  ] Mounted sys-kernel-config.… Kernel Configuration File System.
[  OK  ] Finished systemd-sysctl.service - Apply Kernel Variables.
[  OK  ] Finished systemd-sysusers.service - Create System Users.
         Starting systemd-tmpfiles-…ate Static Device Nodes in /dev...
[  OK  ] Finished systemd-tmpfiles-…reate Static Device Nodes in /dev.
[  OK  ] Reached target local-fs-pr…reparation for Local File Systems.
         Starting systemd-udevd.ser…ger for Device Events and Files...
[  OK  ] Finished systemd-journal-f…ush Journal to Persistent Storage.
[  OK  ] Finished systemd-udev-trig…e - Coldplug All udev Devices.
         Starting ifupdown-pre.serv…ynchronize boot up for ifupdown...
[  OK  ] Finished ifupdown-pre.serv… synchronize boot up for ifupdown.
[  OK  ] Started systemd-udevd.serv…nager for Device Events and Files.
[  OK  ] Finished systemd-random-se…rvice - Load/Save Random Seed.
[  OK  ] Found device dev-ttyPS0.device - /dev/ttyPS0.
[  OK  ] Found device dev-disk-by\x…/dev/disk/by-partuuid/3b911c29-01.
         Mounting boot.mount - /boot...
[  OK  ] Mounted boot.mount - /boot.
[  OK  ] Reached target local-fs.target - Local File Systems.
         Starting networking.service - Raise network interfaces...
         Starting systemd-tmpfiles-…te System Files and Directories...
[  OK  ] Finished systemd-tmpfiles-…eate System Files and Directories.
         Starting systemd-update-ut…rd System Boot/Shutdown in UTMP...
[  OK  ] Finished networking.service - Raise network interfaces.
[  OK  ] Finished systemd-update-ut…cord System Boot/Shutdown in UTMP.
[  OK  ] Reached target sysinit.target - System Initialization.
[  OK  ] Started apt-daily.timer - Daily apt download activities.
[  OK  ] Started apt-daily-upgrade.… apt upgrade and clean activities.
[  OK  ] Started dpkg-db-backup.tim… Daily dpkg database backup timer.
[  OK  ] Started e2scrub_all.timer…etadata Check for All Filesystems.
[  OK  ] Started fstrim.timer - Discard unused blocks once a week.
[  OK  ] Started logrotate.timer - Daily rotation of log files.
[  OK  ] Started ntpsec-rotate-stat…mer - Rotate ntpd stats daily.
[  OK  ] Started systemd-tmpfiles-c… Cleanup of Temporary Directories.
[  OK  ] Reached target timers.target - Timer Units.
[  OK  ] Listening on avahi-daemon.…NS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on dbus.socket…- D-Bus System Message Bus Socket.
[  OK  ] Reached target sockets.target - Socket Units.
[  OK  ] Reached target basic.target - Basic System.
         Starting avahi-daemon.serv…e - Avahi mDNS/DNS-SD Stack...
[  OK  ] Started cron.service -…kground program processing daemon.
         Starting dbus.service - D-Bus System Message Bus...
         Starting e2scrub_reap.serv…e ext4 Metadata Check Snapshots...
         Starting systemd-logind.se…ice - User Login Management...
         Starting udisks2.service - Disk Manager...
[  OK  ] Started dbus.service - D-Bus System Message Bus.
[  OK  ] Started avahi-daemon.service - Avahi mDNS/DNS-SD Stack.
         Starting NetworkManager.service - Network Manager...
         Starting polkit.service - Authorization Manager...
[  OK  ] Started polkit.service - Authorization Manager.
[  OK  ] Started systemd-logind.service - User Login Management.
[  OK  ] Started NetworkManager.service - Network Manager.
[  OK  ] Reached target network.target - Network.
         Starting htpdate.service…based time synchronization tool...
[  OK  ] Started iiod.service - IIO Daemon.
         Starting ntpsec.service - Network Time Service...
         Starting ssh.service - OpenBSD Secure Shell server...
         Starting systemd-user-sess…vice - Permit User Sessions...
[  OK  ] Started udiskie.service…vice for managing removable media.
[  OK  ] Started ntpsec.service - Network Time Service.
[  OK  ] Finished systemd-user-sess…ervice - Permit User Sessions.
[  OK  ] Started getty@tty1.service - Getty on tty1.
[  OK  ] Started serial-getty@ttyPS…vice - Serial Getty on ttyPS0.
         Starting systemd-hostnamed.service - Hostname Service...
[  OK  ] Started htpdate.service…P based time synchronization tool.
[  OK  ] Started udisks2.service - Disk Manager.
[  OK  ] Started ssh.service - OpenBSD Secure Shell server.
[  OK  ] Started systemd-hostnamed.service - Hostname Service.
         Starting NetworkManager-di…nager Script Dispatcher Service...
[  OK  ] Started NetworkManager-dis…Manager Script Dispatcher Service.
[  OK  ] Finished e2scrub_reap.serv…ine ext4 Metadata Check Snapshots.

Debian GNU/Linux 12 analog ttyPS0

analog login: root (automatic login)

Linux analog 6.12.0-g298669e57d37 #3 SMP PREEMPT Wed Mar 18 18:43:22 EET 2026 armv7l

The programs included with the Debian GNU/Linux system are free software;
the exact distribution terms for each program are described in the
individual files in /usr/share/doc/*/copyright.

Debian GNU/Linux comes with ABSOLUTELY NO WARRANTY, to the extent
permitted by applicable law.
root@analog:~#

Useful commands for the serial terminal

The below commands are to be run in the serial terminal connected to the board.

To find out the IP of the board, run the following command and take the IP specified at “eth0 inet”:

~$
ifconfig

To see the IIO devices detected, run:

~$
iio_info | grep iio:device
iio:device0: ad7195 (buffer capable)
iio:device1: xadc

To power off the system, run the following command, and wait for the final message to be printed, then power off the board from the switch as well.

~$
poweroff

To reboot the system, run:

~$
reboot

Important

Even thought this is Linux, this is a persistent file systems. Care should be taken not to corrupt the file system – please shut down things, don’t just turn off the power switch. Depending on your monitor, the standard power off could be hiding. You can do this from the terminal as well with sudo shutdown -h now or the above-mentioned command for powering off.

Using the System with IIO Oscilloscope

The IIO Oscilloscope is a cross-platform application for interfacing with IIO devices, enabling you to configure device parameters and visualize data.

Important

Make sure to download/update to the latest version of IIO Oscilloscope.

Remote run on host

The IIO Oscilloscope application can be used from a host PC to connect to the board over the network, configure the device, and read data.

Build and start osc on a network-enabled Linux host. For Windows computers, open the application from the start menu.

Once the application is launched, go to Settings > Connect > URI and type ip: followed by the IP address of the board. This IP can be found with the ifconfig command from the serial terminal.

Please see IIO Oscilloscope documentation for installation steps and more details.

Locally run on the board

If you have a display connected to the board (via VNC), you can run IIO Oscilloscope directly on the board. Open a terminal and launch osc, or find it in the application menu. It will automatically connect to the local IIO devices.

Warning

Capturing data from more than a single channel at a time will result in an immediate timeout. This is a known issue currently under investigation. For now, enable only one channel at a time when performing captures.

Time Domain Plot

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/eval-ad719x/images/ad719x_iio_osc_plot.png

Frequency Domain Plot

Note

Max 4096 samples can be selected for plotting frequency domain response due to limited buffer size in the firmware.

https://media.githubusercontent.com/media/analogdevicesinc/documentation/main/docs/solutions/reference-designs/eval-ad719x/images/ad719x_iio_osc_fft.png