This guide provides some quick instructions (still takes awhile to download, and set things up) on how to setup the AD-FMCDAQ2-EBZ/AD-FMCDAQ3-EBZ on:
Download the pre-build image for you device in question.
Latest Build: 2023-04-02 - 2021_R2
Linux branch: 2021_R2
Linux repository: https://github.com/analogdevicesinc/linux.git
HDL branch: hdl_2021_r2
HDL repository: https://github.com/analogdevicesinc/hdl.git
FPGA Carrier | FMC Card | Download |
---|---|---|
KC705 | AD9467_FMC | 2021_r2_kc705_ad9467_fmc.zip |
FMCOMMS2-3 | 2021_r2_kc705_fmcomms2-3.zip | |
KCU105 | ADRV9371X | 2021_r2_kcu105_adrv9371x.zip |
FMCOMMS2-3 | 2021_r2_kcu105_fmcomms2-3.zip | |
VC707 | AD6676EVB | 2021_r2_vc707_ad6676evb.zip |
FMCADC2 | 2021_r2_vc707_fmcadc2.zip | |
FMCADC5 | 2021_r2_vc707_fmcadc5.zip | |
FMCOMMS2-3 | 2021_r2_vc707_fmcomms2-3.zip | |
VCU118 | AD9081 | 2021_r2_vcu118_ad9081_204c_txmode_10_rxmode_11.zip |
2021_r2_vcu118_ad9081_204c_txmode_10_rxmode_11_lr_24_75Gbps.zip | ||
2021_r2_vcu118_ad9081_204c_txmode_23_rxmode_25.zip | ||
2021_r2_vcu118_ad9081_204c_txmode_23_rxmode_25_lr_24_75Gbps.zip | ||
2021_r2_vcu118_ad9081_204c_txmode_24_rxmode_26_lr_24_75Gbps.zip | ||
VCU128 | AD9081 | 2021_r2_vcu128_ad9081_m8_l4.zip.zip |
Latest Build: 2022_08_05 - 2021_R1
Linux branch: 2021_R1
Linux repository: https://github.com/analogdevicesinc/linux.git
HDL branch: hdl_2021_r1
HDL repository: https://github.com/analogdevicesinc/hdl.git
FPGA Carrier | FMC Card | Download |
---|---|---|
KC705 | AD9467_FMC | 2021_r1_kc705_ad9467_fmc.zip |
KC705 | FMCOMMS2-3 | 2021_r1_kc705_fmcomms2-3.zip |
KCU105 | ADRV9371X | 2021_r1_kcu105_adrv9371x.zip |
KCU105 | FMCDAQ2 | 2021_r1_kcu105_fmcdaq2.zip |
KCU105 | FMCOMMS2-3 | 2021_r1_kcu105_fmcomms2-3.zip |
VC707 | AD6676EVB | 2021_r1_vc707_ad6676evb.zip |
VC707 | FMCADC5 | 2021_r1_vc707_fmcadc5.zip |
VC707 | FMCOMMS2-3 | 2021_r1_vc707_fmcomms2-3.zip |
VC707 | FMCOMMS4 | 2021_r1_vc707_fmcomms4.zip |
Latest Build: 2021_07_27 - 2019_R2
Linux branch: 2019_R2
Linux repository: https://github.com/analogdevicesinc/linux.git
HDL branch: hdl_2019_r2
HDL repository: https://github.com/analogdevicesinc/hdl.git
FPGA Carrier | FMC Card | Download |
---|---|---|
KC705 | AD9467_FMC | 2019_r2_kc705_ad9467_fmc.zip |
KC705 | FMCDAQ2 | 2019_r2_kc705_fmcdaq2.zip |
KC705 | FMCJESDADC1 | 2019_r2_kc705_fmcjesdadc1.zip |
KC705 | FMCOMMS2-3 | 2019_r2_kc705_fmcomms2-3.zip |
KC705 | FMCOMMS4 | 2019_r2_kc705_fmcomms4.zip |
KCU105 | ADRV9371X | 2019_r2_kcu105_adr9371x.zip |
KCU105 | FMCDAQ2 | 2019_r2_kcu105_fmcdaq2.zip |
KCU105 | FMCOMMS2-3 | 2019_r2_kcu105_fmcomms2-3.zip |
KCU105 | FMCOMMS4 | 2019_r2_kcu105_fmcomms4.zip |
VC707 | AD6676EVB | 2019_r2_vc707_ad6676evb.zip |
VC707 | FMCADC2 | 2019_r2_vc707_fmcadc2.zip |
VC707 | FMCADC5 | 2019_r2_vc707_fmcadc5.zip |
VC707 | FMCJESDADC1 | 2019_r2_vc707_fmcjesdadc1.zip |
VC707 | FMCOMMS2-3 | 2019_r2_vc707_fmcomms2-3.zip |
VCU118 | AD9081 | 2019_r2_vcu118_ad9081.zip |
VCU118 | AD9081 M8 L4 | 2019_r2_vcu118_ad9081_m8_l4.zip |
VCU118 | AD9208 Dual | 2019_r2_vcu118_dual_ad9208.zip |
VCU118 | FMCDAQ3 | 2019_r2_vcu118_fmcdaq3.zip |
Latest Build: 2018_05_08 - 2018_R1
Linux branch:2018_R1
Linux repository:https://github.com/analogdevicesinc/linux.git
Vivado branch:hdl_2018_r1
Vivado repository:https://github.com/analogdevicesinc/hdl.git
FPGA Carrier | FMC Card | Download |
---|---|---|
KC705 | AD9467_FMC | 2018_r1_kc705_ad9467_fmc.zip |
KC705 | FMCDAQ2 | 2018_r1_kc705_fmcdaq2.zip |
KC705 | FMCJESDADC1 | 2018_r1_kc705_fmcjesdadc1.zip |
KC705 | FMCOMMS2-3 | 2018_r1_kc705_fmcomms2-3.zip |
KC705 | FMCOMMS4 | 2018_r1_kc705_fmcomms4.zip |
KCU105 | ADRV9371X | 2018_r1_kcu105_adr9371x.zip |
KCU105 | FMCDAQ2 | 2018_r1_kcu105_fmcdaq2.zip |
KCU105 | FMCDAQ3 | 2018_r1_kcu105_fmcdaq3.zip |
KCU105 | FMCOMMS2-3 | 2018_r1_kcu105_fmcomms2-3.zip |
KCU105 | FMCOMMS4 | 2018_r1_kcu105_fmcomms4.zip |
VC707 | AD6676EVB | 2018_r1_vc707_ad6676evb.zip |
VC707 | FMCADC2 | 2018_r1_vc707_fmcadc2.zip |
VC707 | FMCADC5 | 2018_r1_vc707_fmcadc5.zip |
VC707 | FMCDAQ2 | 2018_r1_vc707_fmcdaq2.zip |
VC707 | FMCJESDADC1 | 2018_r1_vc707_fmcjesdadc1.zip |
VC707 | FMCOMMS2-3 | 2018_r1_vc707_fmcomms2-3.zip |
VC707 | FMCOMMS4 | 2018_r1_vc707_fmcomms4.zip |
There are two ways of loading the design. One is using the XMD command line. Open a xmd command window/shell and enter the commands manually.
Below is just a example and the file-names may vary.
Xilinx XMD command console
XMD has been replaced with XSCT/XSDB in newer releases of VIVADO. In windows, you can run the XSCT terminal from start menu → Xilinx Design Tools → Xilinx Software Command Line Tool…
Xilinx XSCT command console
****** Xilinx System Debugger (XSDB) v2021.1 **** Build date : Jun 10 2021-20:11:58 ** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved. xsdb% connect attempting to launch hw_server ****** Xilinx hw_server v2021.1 **** Build date : Jun 10 2021 at 20:11:57 ** Copyright 1986-2021 Xilinx, Inc. All Rights Reserved. INFO: hw_server application started INFO: Use Ctrl-C to exit hw_server application INFO: To connect to this hw_server instance use url: TCP:127.0.0.1:3121 tcfchan#0 xsdb% fpga -f system_top.bit 100% 4MB 1.7MB/s 00:02 xsdb% targets 1 xc7k325t 2 MicroBlaze Debug Module at USER2 3 MicroBlaze #0 (Running) xsdb% target 3 xsdb% dow simpleImage.kc705_fmcomms2-3.strip Downloading Program -- /home/liacob/microblaze/simpleImage.kc705_fmcomms2-3/simpleImage.kc705_fmcomms2-3.strip section, .text: 0x80000000 - 0x804763ab section, __fdt_blob: 0x804763ac - 0x804863ab section, .rodata: 0x80487000 - 0x808b110f section, .builtin_fw: 0x808b1110 - 0x808b1133 section, __ksymtab: 0x808b1134 - 0x808b746b section, __ksymtab_gpl: 0x808b746c - 0x808bc483 section, __ksymtab_strings: 0x808bc484 - 0x808d6973 section, __param: 0x808d6974 - 0x808d6e5f section, __modver: 0x808d6e60 - 0x808d6fff section, __ex_table: 0x808d7000 - 0x808d844f section, .notes: 0x808d8450 - 0x808d848b section, .sdata2: 0x808d848c - 0x808d8fff section, .data: 0x808d9000 - 0x8095893f section, .init.text: 0x80959000 - 0x8097a75b section, .init.data: 0x8097a75c - 0x8097c053 section, .init.ivt: 0x8097c054 - 0x8097c07b section, .init.setup: 0x8097c07c - 0x8097c3f3 section, .initcall.init: 0x8097c3f4 - 0x8097c80f section, .con_initcall.init: 0x8097c810 - 0x8097c813 section, .init.ramfs: 0x8097c814 - 0x80c2a9fb section, .bss: 0x80c2b000 - 0x80c4225b 100% 12MB 0.2MB/s 00:56 Setting PC to Program Start Address 0x80000000 Successfully downloaded /home/liacob/microblaze/simpleImage.kc705_fmcomms2-3/simpleImage.kc705_fmcomms2-3.strip xsdb% Info: MicroBlaze #0 (target 3) Stopped at 0x0 (Stop) xsdb% con Info: MicroBlaze #0 (target 3) Running xsdb%
The second method is to run the tcl script which takes care of loading the bit file and the linux image. Run Vivado TCL Shell from Windows start menu → Xilinx Design Suite → Vivado → Vivado TCL Shell. (In Linux, source the settings.sh file first)
Then run the tcl script:
Vivado TCL shell or Linux console
****** Xilinx System Debugger (XSDB) v2021.1 **** Build date : Jun 10 2021-20:11:58 ** Copyright 1986-2020 Xilinx, Inc. All Rights Reserved. xsdb% source run.tcl attempting to launch hw_server ****** Xilinx hw_server v2021.1 **** Build date : Jun 10 2021 at 20:11:57 ** Copyright 1986-2021 Xilinx, Inc. All Rights Reserved. INFO: hw_server application started INFO: Use Ctrl-C to exit hw_server application INFO: To connect to this hw_server instance use url: TCP:127.0.0.1:3121 100% 4MB 1.7MB/s 00:02 Downloading Program -- /home/liacob/microblaze/simpleImage.kc705_fmcomms2-3/simpleImage.kc705_fmcomms2-3.strip section, .text: 0x80000000 - 0x804763ab section, __fdt_blob: 0x804763ac - 0x804863ab section, .rodata: 0x80487000 - 0x808b110f section, .builtin_fw: 0x808b1110 - 0x808b1133 section, __ksymtab: 0x808b1134 - 0x808b746b section, __ksymtab_gpl: 0x808b746c - 0x808bc483 section, __ksymtab_strings: 0x808bc484 - 0x808d6973 section, __param: 0x808d6974 - 0x808d6e5f section, __modver: 0x808d6e60 - 0x808d6fff section, __ex_table: 0x808d7000 - 0x808d844f section, .notes: 0x808d8450 - 0x808d848b section, .sdata2: 0x808d848c - 0x808d8fff section, .data: 0x808d9000 - 0x8095893f section, .init.text: 0x80959000 - 0x8097a75b section, .init.data: 0x8097a75c - 0x8097c053 section, .init.ivt: 0x8097c054 - 0x8097c07b section, .init.setup: 0x8097c07c - 0x8097c3f3 section, .initcall.init: 0x8097c3f4 - 0x8097c80f section, .con_initcall.init: 0x8097c810 - 0x8097c813 section, .init.ramfs: 0x8097c814 - 0x80c2a9fb section, .bss: 0x80c2b000 - 0x80c4225b 100% 12MB 0.2MB/s 00:56 Setting PC to Program Start Address 0x80000000 Successfully downloaded /home/liacob/microblaze/simpleImage.kc705_fmcomms2-3/simpleImage.kc705_fmcomms2-3.strip Info: MicroBlaze #0 (target 3) Running xsdb% Info: tcfchan#0 closed xsdb%
If you are interested in the Linux console messages and command line interface, connect a USB cable to the USB UART port. Terminal settings are 115200,8N1.
There are two users:
user | password |
---|---|
root | analog |
analog | analog |
If you FPGA carrier board (KC705, vc707, ml605) features a LCD display and the board is connected to a DHCP enabled network. You should also see it's IP address printed on the display. This allows you to connect remote to the board as well. (ssh, libiio remote)
Unlike shown in the picture below you won't see the second line. In case the IP address is 192.168.2.2, this indicates that DHCP failed and it's now using it's default address. This address may not be within your subnet, and things therefore may fail.
You should see the kernel start-up messages as follows:
This specifies any shell prompt running on the target
# Early console on uartlite at 0x40600000 bootconsole [earlyser0] enabled Ramdisk addr 0x00000000, Compiled-in FDT at 8031cda8 Linux version 3.17.0-126658-g6807aea (michael@mhenneri-D04) (gcc version 4.8.3 20140131 (prerelease) (crosstool-NG 1.18.0) ) #1647 Fri Nov 21 10:33:05 CET 2014 setup_cpuinfo: initialising setup_cpuinfo: Using full CPU PVR support wt_msr_noirq setup_memory: max_mapnr: 0x30000 setup_memory: min_low_pfn: 0x80000 setup_memory: max_low_pfn: 0xb0000 setup_memory: max_pfn: 0xb0000 Zone ranges: DMA [mem 0x80000000-0xafffffff] Normal empty Movable zone start for each node Early memory node ranges node 0: [mem 0x80000000-0xbfffffff] On node 0 totalpages: 196608 free_area_init_node: node 0, pgdat 803fb104, node_mem_map 80800000 DMA zone: 1536 pages used for memmap DMA zone: 0 pages reserved DMA zone: 196608 pages, LIFO batch:31 early_printk_console remapping from 0x40600000 to 0xffffd000 pcpu-alloc: s0 r0 d32768 u32768 alloc=1*32768 pcpu-alloc: [0] 0 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 195072 Kernel command line: console=ttyUL0,115200 PID hash table entries: 4096 (order: 2, 16384 bytes) Dentry cache hash table entries: 131072 (order: 7, 524288 bytes) Inode-cache hash table entries: 65536 (order: 6, 262144 bytes) Memory: 771408K/786432K available (3187K kernel code, 143K rwdata, 708K rodata, 3061K init, 86K bss, 15024K reserved) Kernel virtual memory layout: * 0xffffe000..0xfffff000 : fixmap * 0xffffd000..0xffffe000 : early ioremap * 0xb0000000..0xffffd000 : vmalloc & ioremap NR_IRQS:128 /axi@0/axi-intc@41200000: num_irq=15, edge=0x3810 /axi@0/axi-timer@41c00000: irq=1 xilinx_timer_set_mode: shutdown xilinx_timer_set_mode: periodic sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949672950ns Calibrating delay loop... 48.51 BogoMIPS (lpj=97024) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 2048 (order: 1, 8192 bytes) Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes) devtmpfs: initialized NET: Registered protocol family 16 Switched to clocksource xilinx_clocksource xilinx_timer_set_mode: oneshot NET: Registered protocol family 2 TCP established hash table entries: 8192 (order: 3, 32768 bytes) TCP bind hash table entries: 8192 (order: 3, 32768 bytes) TCP: Hash tables configured (established 8192 bind 8192) TCP: reno registered UDP hash table entries: 512 (order: 1, 8192 bytes) UDP-Lite hash table entries: 512 (order: 1, 8192 bytes) NET: Registered protocol family 1 RPC: Registered named UNIX socket transport module. RPC: Registered udp transport module. RPC: Registered tcp transport module. RPC: Registered tcp NFSv4.1 backchannel transport module. XGpio: /axi@0/gpio@40000000: registered, base is 251 XGpio: /axi@0/gpio@40000000: dual channel registered, base is 245 XGpio: /axi@0/gpio@40020000: registered, base is 232 XGpio: /axi@0/gpio@40020000: dual channel registered, base is 224 Skipping unavailable RESET gpio -2 (reset) futex hash table entries: 256 (order: -1, 3072 bytes) jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc. msgmni has been set to 1506 Block layer SCSI generic (bsg) driver version 0.4 loaded (major 253) io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) Serial: 8250/16550 driver, 4 ports, IRQ sharing disabled 40600000.serial: ttyUL0 at MMIO 0x40600000 (irq = 46, base_baud = 0) is a uartlite console [ttyUL0] enabled console [ttyUL0] enabled bootconsole [earlyser0] disabled bootconsole [earlyser0] disabled of_serial 41400000.serial: Unknown serial port found, ignored brd: module loaded Xilinx SystemACE device driver, major=254 xilinx_lcd 40010000.gpio_lcd: Device Tree Probing 'gpio_lcd' xilinx_lcd 40010000.gpio_lcd: LCD 0x40010000 mapped to 0xb01a0000 xilinx_spi 44a70000.axi-quad-spi: property name 'xlnx,num-ss-bits' is deprecated. xilinx_spi 44a70000.axi-quad-spi: at 0x44A70000 mapped to 0xb01c0000, irq=10 libphy: Fixed MDIO Bus: probed xilinx_axienet 40e00000.network: TX_CSUM 0 xilinx_axienet 40e00000.network: RX_CSUM 0 libphy: Xilinx Axi Ethernet MDIO: probed i2c /dev entries driver platform 44a10000.axi-ad9680-hpc: Driver cf_axi_adc requests probe deferral spi spi32766.2: Driver ad9467 requests probe deferral platform 44a90000.jesd204: Driver cf_axi_jesd204b_v51 requests probe deferral platform 44a91000.jesd204: Driver cf_axi_jesd204b_v51 requests probe deferral platform 44a60000.axi-jesd-gt: Driver cf_axi_jesd204b_gt requests probe deferral ad9523 spi32766.0: probed ad9523-1 platform 44a04000.axi-ad9144-hpc: Driver cf_axi_dds requests probe deferral ad9144 spi32766.1: Failed to get clocks spi spi32766.1: Driver ad9144 requests probe deferral TCP: cubic registered NET: Registered protocol family 17 platform 44a10000.axi-ad9680-hpc: Driver cf_axi_adc requests probe deferral spi spi32766.2: Driver ad9467 requests probe deferral platform 44a90000.jesd204: Driver cf_axi_jesd204b_v51 requests probe deferral platform 44a91000.jesd204: Driver cf_axi_jesd204b_v51 requests probe deferral cf_axi_jesd204b_gt 44a60000.axi-jesd-gt: AXI-JESD204B (5.00.b) at 0x44A60000 mapped to 0xb0280000, platform 44a04000.axi-ad9144-hpc: Driver cf_axi_dds requests probe deferral ad9144 spi32766.1: Failed to get clocks spi spi32766.1: Driver ad9144 requests probe deferral platform 44a10000.axi-ad9680-hpc: Driver cf_axi_adc requests probe deferral spi spi32766.2: Driver ad9467 requests probe deferral cf_axi_jesd204b_v51 44a90000.jesd204: AXI-JESD204B 5.2 Rev 1, at 0x44A90000 mapped to 0xb0032000, cf_axi_jesd204b_v51 44a91000.jesd204: AXI-JESD204B 5.2 Rev 1, at 0x44A91000 mapped to 0xb0034000, platform 44a04000.axi-ad9144-hpc: Driver cf_axi_dds requests probe deferral platform 44a10000.axi-ad9680-hpc: Driver cf_axi_adc requests probe deferral ad9467 spi32766.2: AD9680 PLL LOCKED cf_axi_dds 44a04000.axi-ad9144-hpc: Analog Devices CF_AXI_DDS_DDS MASTER (8.00.b) at 0x44A04000 mapped to 0xb0098000, probed DDS AD9144 cf_axi_adc 44a10000.axi-ad9680-hpc: ADI AIM (8.00.b) at 0x44A10000 mapped to 0xb02c0000, probed ADC AD9680 as MASTER Freeing unused kernel memory: 3060K (803fc000 - 806f9000) Starting logging: OK Starting network... Starting network... udhcpc (v1.22.1) started net eth0: Promiscuous mode disabled. net eth0: Promiscuous mode disabled. Sending discover... xilinx_axienet 40e00000.network eth0: Link is Down xilinx_axienet 40e00000.network eth0: Link is Up - 100Mbps/Full - flow control off Sending discover... Sending select for 10.44.2.94... Lease of 10.44.2.94 obtained, lease time 86400 deleting routers adding dns 10.32.51.110 adding dns 10.64.53.110 Starting dropbear sshd: OK random: dropbear urandom read with 86 bits of entropy available Starting IIO Server Daemon Welcome to Buildroot buildroot login: root #
Please see also here:Oscilloscope
The IIO Oscilloscope application can be used to connect to another platform that has a connected device in order to configure the device and read data from it.
Build and start osc on a network enabled Linux host.
Once the application is launched goto Settings → Connect and enter the IP address of the target in the popup window.