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: 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 |
Build: 2017_08_24 - 2016_R2
Linux SHA:c352b21d2354d0e198c1a5da5b351682ae80e986
Linux branch:2016_R2
Linux repository:https://github.com/analogdevicesinc/linux.git
Vivado SHA:ed12efc6203eb08f9c015eb18e9d0fa4d1fb5a38
Vivado branch:hdl_2016_r2
Vivado repository:https://github.com/analogdevicesinc/hdl.git
FPGA Carrier | FMC Card | Download |
---|---|---|
VC707 | FMCDAQ2 | vc707_fmcdaq2_2016_r2.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
Dave@HAL9000:~$ xmd ****** Xilinx Microprocessor Debugger (XMD) Engine ****** XMD v2014.2 (64-bit) **** SW Build 932637 on Wed Jun 11 13:12:06 MDT 2014 ** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved. XMD% fpga -f download.bit Configuring Device 1 (xcku040) with Bitstream -- download.bit ....10....20....30....40....50....60.....70....80....90....Done Successfully downloaded bit file. JTAG chain configuration -------------------------------------------------- Device ID Code IR Length Part Name 1 03822093 6 xcku040 0 XMD% connect mb mdm JTAG chain configuration -------------------------------------------------- Device ID Code IR Length Part Name 1 03822093 6 xcku040 MicroBlaze Processor Configuration : ------------------------------------- Version............................9.3 Optimization.......................Performance Interconnect.......................AXI-LE MMU Type...........................Full_MMU No of PC Breakpoints...............1 No of Read Addr/Data Watchpoints...0 No of Write Addr/Data Watchpoints..0 Instruction Cache Support..........on Instruction Cache Base Address.....0x80000000 Instruction Cache High Address.....0xbfffffff Data Cache Support.................on Data Cache Base Address............0x80000000 Data Cache High Address............0xbfffffff Exceptions Support................on FPU Support.......................off Hard Divider Support...............on Hard Multiplier Support............on - (Mul64) Barrel Shifter Support.............on MSR clr/set Instruction Support....on Compare Instruction Support........on PVR Supported......................on PVR Configuration Type.............Full Data Cache Write-back Support......off Fault Tolerance Support............off Stack Protection Support...........off Connected to "mb" target. id = 0 Starting GDB server for "mb" target (id = 0) at TCP port no 1234 XMD% dow /home/dace/linux/arch/microblaze/boot/simpleImage.kcu105_ad_fmcdaq2_ebz System Reset .... DONE Downloading Program -- /home/michael/linux/arch/microblaze/boot/simpleImage.kcu105_ad_fmcdaq2_ebz section, .text: 0x80000000-0x8031cda7 section, .init.text: 0x803fc000-0x804185eb section, .init.ivt: 0x8041afac-0x8041afd3 section, __fdt_blob: 0x8031cda8-0x80324da7 section, .rodata: 0x80325000-0x803b950f section, __ksymtab: 0x803b9510-0x803be90f section, __ksymtab_gpl: 0x803be910-0x803c1e27 section, __ksymtab_strings: 0x803c1e28-0x803d4dd7 section, __param: 0x803d4dd8-0x803d5147 section, __modver: 0x803d5148-0x803d5fff section, __ex_table: 0x803d6000-0x803d75df section, .notes: 0x803d75e0-0x803d7603 section, .sdata2: 0x803d7604-0x803d7fff section, .data: 0x803d8000-0x803fbc5f section, .init.data: 0x804185ec-0x8041afab section, .init.setup: 0x8041afd4-0x8041b327 section, .initcall.init: 0x8041b328-0x8041b683 section, .con_initcall.init: 0x8041b684-0x8041b68b section, .init.ramfs: 0x8041b68c-0x806f97b3 section, .bss: 0x806fa000-0x8070f8db Download Progress........10.......20.......30.......40.......50........60.......70.......80.......90........Done Setting PC with Program Start Address 0x80000000 XMD% con Processor started. Type "stop" to stop processor RUNNING> XMD%
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 Software Commandline Tool (XSCT) v2018.2 **** Build date : Jun 14 2018-20:42:51 ** Copyright 1986-2018 Xilinx, Inc. All Rights Reserved. xsct% connect attempting to launch hw_server ****** Xilinx hw_server v2018.2 **** Build date : Jun 14 2018-20:42:52 ** Copyright 1986-2018 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 xsct% fpga -f "c:/Users/kjimenez/Documents/system_top.bit" 100% 8MB 1.7MB/s 00:04 xsct% targets 1 xc7vx485t 2 MicroBlaze Debug Module at USER2 3 MicroBlaze #0 (Running) xsct% target 3 xsct% dow "c:/Users/kjimenez/Documents/simpleImage.vc707_fmcomms2-3" Downloading Program -- C:/Users/kjimenez/Documents/simpleImage.vc707_fmcomms2-3 section, .text: 0x80000000 - 0x8040f40b section, __fdt_blob: 0x8040f40c - 0x8041f40b section, .rodata: 0x80420000 - 0x80570057 section, .builtin_fw: 0x80570058 - 0x8057007b section, __ksymtab: 0x8057007c - 0x80576063 section, __ksymtab_gpl: 0x80576064 - 0x8057abd3 section, __ksymtab_strings: 0x8057abd4 - 0x80593b87 section, __param: 0x80593b88 - 0x8059405f section, __modver: 0x80594060 - 0x80594fff section, __ex_table: 0x80595000 - 0x805965a7 section, .notes: 0x805965a8 - 0x805965cb section, .sdata2: 0x805965cc - 0x80596fff section, .data: 0x80597000 - 0x805ba19f section, .init.text: 0x805bb000 - 0x805dbf7b section, .init.data: 0x805dbf80 - 0x805ddc5f section, .init.ivt: 0x805ddc60 - 0x805ddc87 section, .init.setup: 0x805ddc88 - 0x805ddfdb section, .initcall.init: 0x805ddfdc - 0x805de3bf section, .con_initcall.init: 0x805de3c0 - 0x805de3c3 section, .init.ramfs: 0x805de3c4 - 0x808f226b section, .bss: 0x808f3000 - 0x8090b823 100% 8MB 0.2MB/s 00:46 Setting PC to Program Start Address 0x80000000 Successfully downloaded C:/Users/kjimenez/Documents/simpleImage.vc707_fmcomms2-3 xsct% Info: MicroBlaze #0 (target 3) Stopped at 0x0 (Stop) xsct% con Info: MicroBlaze #0 (target 3) Running xsct%
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
****** Vivado v2014.2 (64-bit) **** SW Build 932637 on Wed Jun 11 13:33:10 MDT 2014 **** IP Build 924643 on Fri May 30 09:20:16 MDT 2014 ** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved. Vivado% xmd -tcl run.tcl ****** Xilinx Microprocessor Debugger (XMD) EngineExecuting user script : run.tcl ****** XMD v2014.2 (64-bit) **** SW Build 932637 on Wed Jun 11 13:12:06 MDT 2014 ** Copyright 1986-2014 Xilinx, Inc. All Rights Reserved. Configuring Device 1 (xcku040) with Bitstream -- daq2_kcu105.sdk/SDK/SDK_Export/hw/system_top.bit ..............................................................10..............................................................20.............................................................30..............................................................40.............................................................50..............................................................60.............................................................70..............................................................80.............................................................90..............................................................Done Successfully downloaded bit file. JTAG chain configuration -------------------------------------------------- Device ID Code IR Length Part Name 1 03822093 6 xcku040 JTAG chain configuration -------------------------------------------------- Device ID Code IR Length Part Name 1 03822093 6 xcku040 MicroBlaze Processor Configuration : ------------------------------------- Version............................9.3 Optimization.......................Performance Interconnect.......................AXI-LE MMU Type...........................Full_MMU No of PC Breakpoints...............1 No of Read Addr/Data Watchpoints...0 No of Write Addr/Data Watchpoints..0 Instruction Cache Support..........on Instruction Cache Base Address.....0x80000000 Instruction Cache High Address.....0xbfffffff Data Cache Support.................on Data Cache Base Address............0x80000000 Data Cache High Address............0xbfffffff Exceptions Support................on FPU Support.......................off Hard Divider Support...............on Hard Multiplier Support............on - (Mul64) Barrel Shifter Support.............on MSR clr/set Instruction Support....on Compare Instruction Support........on PVR Supported......................on PVR Configuration Type.............Full Data Cache Write-back Support......off Fault Tolerance Support............off Stack Protection Support...........off Connected to "mb" target. id = 0 Starting GDB server for "mb" target (id = 0) at TCP port no 1234 Processor stopped System Reset .... DONE Downloading Program -- simpleImage.kcu105_fmcdaq2 section, .text: 0x80000000-0x80323fe7 section, .init.text: 0x80409000-0x8042598f section, .init.ivt: 0x8042834c-0x80428373 section, __fdt_blob: 0x80323fe8-0x8032bfe7 section, .rodata: 0x8032c000-0x803c40d7 section, .builtin_fw: 0x803c40d8-0x803c40ef section, __ksymtab: 0x803c40f0-0x803c94ef section, __ksymtab_gpl: 0x803c94f0-0x803ccc77 section, __ksymtab_strings: 0x803ccc78-0x803e0427 section, __param: 0x803e0428-0x803e0797 section, __modver: 0x803e0798-0x803e0fff section, __ex_table: 0x803e1000-0x803e25df section, .notes: 0x803e25e0-0x803e2603 section, .sdata2: 0x803e2604-0x803e2fff section, .data: 0x803e3000-0x8040807f section, .init.data: 0x80425990-0x8042834b section, .init.setup: 0x80428374-0x804286c7 section, .initcall.init: 0x804286c8-0x80428a33 section, .con_initcall.init: 0x80428a34-0x80428a3b section, .init.ramfs: 0x80428a3c-0x809e2243 section, .bss: 0x809e3000-0x809f89bb Download Progress...........10..........20..........30..........40..........50..........60...........70..........80..........90..........Done Setting PC with Program Start Address 0x80000000 RUNNING> Disconnected from Target 0 Processor started. Type "stop" to stop processor
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.