Wiki

This version is outdated by a newer approved version.DiffThis version (21 Jul 2015 15:15) was approved by LucianS.The Previously approved version (19 Mar 2015 10:26) is available.Diff

This is an old revision of the document!


AD-FMCOMMS2-EBZ Microblaze Quick Start Guide

This guide provides some quick instructions (still takes awhile to download, and set things up) on how to setup the AD-FMCOMMS2-EBZ on:

Required Software

  • Bitfile and Linux ELF image.
  • Xilinx ISE Microprocessor Debugger (XMD) is sufficient for the demo.
  • A UART terminal (Tera Term/Hyperterminal), Baud rate 115200 (8N1).

Required Hardware

  • Xilinx KC705 or VC707
  • AD-FMCOMMS2-EBZ or AD-FMCOMMS3-EBZ FMC Board.
  • Micro / Mini-USB Cable

Testing

  • Connect the AD-FMCOMMS2-EBZ FMC board to the FPGA carrier, on the KC705:LMP FMC or VC707: FMC1 HPC connector.
  • Connect USB JTAG (Micro USB) to your host PC.
  • Turn on the power switch on the FPGA board.
  • Open XMD console to configure the FPGA and download the elf image.

Loading

Download the pre-build image for you device in question.

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

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

Build: 2016_05_26 - 2015_R2

Linux SHA:1610de3ba34b71f774cbe7e8f2131cda037a6230
Linux branch:2015_R2
Linux repository:https://github.com/analogdevicesinc/linux.git

Vivado SHA:1b9182cac07ac80f9d7cc67bc9b30c7670a4f3f3
Vivado branch:hdl_2015_r2
Vivado repository:https://github.com/analogdevicesinc/hdl.git

Build: 2015_06_30 - 2015_R1_PRE

Linux SHA:ef29f1f9900de8f5a7c290cf459498e1f8cc831a
Linux branch:2015_R1
Linux repository:https://github.com/analogdevicesinc/linux.git

HDL SHA:499357a65ac6877c96244bbcf664cbd9440970ce
HDL branch:hdl_2015_r1
HDL repository:https://github.com/analogdevicesinc/hdl.git

Build: 2015_05_27 - 2014_R2

Linux SHA:d06f1b2708a4a7d6090703b0f1a3678191bb3aa0
Linux branch:2014_R2
Linux repository:https://github.com/analogdevicesinc/linux.git

HDL SHA:7b8b810c872df170515916b15944b13856646303
HDL branch:hdl_2014_r2
HDL repository:https://github.com/analogdevicesinc/hdl.git

FPGA Carrier FMC Card Download
KC705 AD9467_FMC kc705_ad9467_fmc_2014_R2.zip
KC705 FMCDAQ2 kc705_fmcdaq2_2014_R2.zip
KC705 FMCJESDADC1 kc705_fmcjesdadc1_2014_R2.zip
KC705 FMCOMMS1 kc705_fmcomms1_2014_R2.zip
KC705 FMCOMMS2/3 kc705_fmcomms2-3_2014_R2.zip
KCU105 FMCDAQ2 kcu105_fmcdaq2_2014_R2.zip
VC707 FMCADC2 vc707_fmcadc2_2014_R2.zip
VC707 FMCADC5 vc707_fmcadc5_2014_R2.zip
VC707 FMCOMMS2/3 vc707_fmcomms2-3_2014_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 
18 Dec 2014 15:04 · mhennerich

Messages

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.

LCD image

You should see the kernel start-up messages as follows:

18 Dec 2014 15:04 · mhennerich

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 8031f268
Linux version 3.17.0-126802-g120acb2 (michael@mhenneri-D04) (gcc version 4.8.3 20140131 (prerelease) (crosstool-NG 1.18.0) ) #2116 Thu Mar 19 10:10:49 CET 2015
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 803ff264, node_mem_map 81000000
  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: 768312K/786432K available (3196K kernel code, 143K rwdata, 712K rodata, 6151K init, 86K bss, 18120K 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=32, edge=0x41e
/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.89 BogoMIPS (lpj=97792)
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 239
XGpio: /axi@0/gpio@40020000: registered, base is 230
XGpio: /axi@0/gpio@40020000: dual channel registered, base is 222
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 1500
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 = 4, base_baud = 0) is a uartlite
console [ttyUL0] enabled
console [ttyUL0] enabled
bootconsole [earlyser0] disabled
bootconsole [earlyser0] disabled
of_serial 41400000.serial: FAILED to find out alias id
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 0xb0160000
xilinx_spi 44a70000.axi-quad-spi: at 0x44A70000 mapped to 0xb0180000, irq=10
libphy: Fixed MDIO Bus: probed
xilinx_emaclite 40e00000.network: Device Tree Probing
libphy: Xilinx Emaclite MDIO: probed
xilinx_emaclite 40e00000.network: MAC address is now 00:0a:35:00:00:07
xilinx_emaclite 40e00000.network: Xilinx EmacLite at 0x40E00000 mapped to 0xB0034000, irq=2
i2c /dev entries driver
i2c i2c-0: Added multiplexed i2c bus 1
i2c i2c-0: Added multiplexed i2c bus 2
at24 3-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
i2c i2c-0: Added multiplexed i2c bus 3
i2c i2c-0: Added multiplexed i2c bus 4
i2c i2c-0: Added multiplexed i2c bus 5
i2c i2c-0: Added multiplexed i2c bus 6
i2c i2c-0: Added multiplexed i2c bus 7
i2c i2c-0: Added multiplexed i2c bus 8
pca954x 0-0074: registered 8 multiplexed busses for I2C switch pca9548
platform 79020000.cf-ad9361-lpc: Driver cf_axi_adc requests probe deferral
ad9361 spi32766.0: ad9361_probe : enter
ad9361 spi32766.0: ad9361_probe : AD9361 Rev 2 successfully initialized
cf_axi_dds 79024000.cf-ad9361-dds-core-lpc: Analog Devices CF_AXI_DDS_DDS MASTER (8.00.b) at 0x79024000 mapped to 0xb0032000, probed DDS AD9361
TCP: cubic registered
NET: Registered protocol family 17
random: nonblocking pool is initialized
cf_axi_adc 79020000.cf-ad9361-lpc: ADI AIM (8.00.b) at 0x79020000 mapped to 0xb0038000, probed ADC AD9361 as MASTER
Freeing unused kernel memory: 6148K (80400000 - 80a01000)
Starting logging: OK
Starting network...
Starting network...
udhcpc (v1.23.1) started
Sending discover...
xilinx_emaclite 40e00000.network eth0: Link is Down
xilinx_emaclite 40e00000.network eth0: Link is Up - 100Mbps/Full - flow control off
Sending discover...
Sending discover...
Sending discover...
Sending select for 10.44.2.124...
Lease of 10.44.2.124 obtained, lease time 86400
deleting routers
adding dns 10.32.51.110
adding dns 10.64.53.110
Starting sshd: OK
Starting IIO Server Daemon OK

Welcome to Buildroot
buildroot login: root
Password: 
# 

IIO Oscilloscope Remote

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.

resources/eval/user-guides/ad-fmcomms2-ebz/quickstart/microblaze.1437484516.txt.gz · Last modified: 21 Jul 2015 15:15 by LucianS