Sorry, you need to enable JavaScript to visit this website.

MicroZed Linux Booting Using JTAG Mode

2 posts / 0 new
Feng Chen
MicroZed Linux Booting Using JTAG Mode

I tried to boot Linux using JTAG using sample boot image from ug873-design-files. The process halts at the last line and I have no idea what is going on.

Putty screen shot below:

U-Boot 2012.10 (Feb 01 2013 - 14:46:23)

WARNING: Caches not enabled
SF: Detected S25FL129P_64K with page size 64 KiB, total 16 MiB
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: zynq_gem
Hit any key to stop autoboot: 0
zynq-uboot> bootm 0x3000000 0x2000000 0x2a00000
## Booting kernel from Legacy Image at 03000000 ...
Image Name: Linux-3.6.0-xilinx
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2883928 Bytes = 2.8 MiB
Load Address: 00008000
Entry Point: 00008000
Verifying Checksum ... OK
## Loading init Ramdisk from Legacy Image at 02000000 ...
Image Name:
Image Type: ARM Linux RAMDisk Image (gzip compressed)
Data Size: 5289445 Bytes = 5 MiB
Load Address: 00800000
Entry Point: 00800000
Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
Booting using the fdt blob at 0x02a00000
Loading Kernel Image ... OK
Loading Ramdisk to 1faf4000, end 1ffff5e5 ... OK
Loading Device Tree to 1faef000, end 1faf3453 ... OK

Starting kernel ...

Uncompressing Linux... done, booting the kernel.
Booting Linux on physical CPU 0
Linux version 3.6.0-xilinx (yashug@xhdyashug40) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #1 SMP PREEMPT Fri Feb 1 14:53:41 IST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq ZC702
bootconsole [earlycon0] enabled
cma: CMA: reserved 16 MiB at 2e800000
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 7 pages/cpu @c0d88000 s7488 r8192 d12992 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw ip=:::::eth0:dhcp earlyprintk
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: 1024MB = 1024MB total
Memory: 1012236k/1012236k available, 36340k reserved, 270336K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xf0000000 - 0xff000000 ( 240 MB)
lowmem : 0xc0000000 - 0xef800000 ( 760 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.text : 0xc0008000 - 0xc04e6d98 (4988 kB)
.init : 0xc04e7000 - 0xc050dd40 ( 156 kB)
.data : 0xc050e000 - 0xc0554800 ( 282 kB)
.bss : 0xc0554824 - 0xc057ea30 ( 169 kB)
Preemptible hierarchical RCU implementation.
Dump stacks of tasks blocking RCU-preempt GP.
RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
Zynq clock init
xlnx,ps7-ttc-1.00.a #0 at 0xf0000000, irq=43
sched_clock: 32 bits at 100 Hz, resolution 10000000ns, wraps every 4294967286ms
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
Setting up static identity map for 0x38c348 - 0x38c37c
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72060000, Cache size: 524288 B
Map SLCR registers
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
xgpiops e000a000.gpio: gpio at 0xe000a000 mapped to 0xf0008000
registering platform device 'pl330' id 0
registering platform device 'arm-pmu' id 0
registering platform device 'zynq-dvfs' id 0
------------[ cut here ]------------
WARNING: at arch/arm/kernel/hw_breakpoint.c:240 enable_monitor_mode+0x30/0xb0()
halting debug mode enabled. Unable to access hardware resources.
Modules linked in:
[<c0014000>] (unwind_backtrace+0x0/0x11c) from [<c0020e84>] (warn_slowpath_common+0x4c/0x64)
[<c0020e84>] (warn_slowpath_common+0x4c/0x64) from [<c0020f1c>] (warn_slowpath_fmt+0x2c/0x3c)
[<c0020f1c>] (warn_slowpath_fmt+0x2c/0x3c) from [<c0014de8>] (enable_monitor_mode+0x30/0xb0)
[<c0014de8>] (enable_monitor_mode+0x30/0xb0) from [<c0014edc>] (reset_ctrl_regs+0x74/0x130)
[<c0014edc>] (reset_ctrl_regs+0x74/0x130) from [<c00589fc>] (generic_smp_call_function_single_interrupt+0xe4/0x124)
[<c00589fc>] (generic_smp_call_function_single_interrupt+0xe4/0x124) from [<c00131ac>] (handle_IPI+0x68/0xb4)
[<c00131ac>] (handle_IPI+0x68/0xb4) from [<c00084a0>] (gic_handle_irq+0x54/0x5c)
[<c00084a0>] (gic_handle_irq+0x54/0x5c) from [<c000dc80>] (__irq_svc+0x40/0x70)
Exception stack(0xc050ff70 to 0xc050ffb8)
ff60: c050e000 c000ebac c050ffc0 00000000
ff80: c0526d40 00000000 ffffffff c0505fbc c0d85dc0 413fc090 00000000 00000000
ffa0: 00000000 c050ffb8 c000ebcc c000ebd0 60000013 ffffffff
[<c000dc80>] (__irq_svc+0x40/0x70) from [<c000ebd0>] (default_idle+0x24/0x2c)
[<c000ebd0>] (default_idle+0x24/0x2c) from [<c000edd0>] (cpu_idle+0xa0/0xfc)
[<c000edd0>] (cpu_idle+0xa0/0xfc) from [<c04e7788>] (start_kernel+0x2a0/0x2f0)
[<c04e7788>] (start_kernel+0x2a0/0x2f0) from [<00008044>] (0x8044)
---[ end trace 1b75b31a2719ed1c ]---
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: halting debug mode enabled. Assuming maximum watchpoint size of 4 bytes.
xslcr xslcr.0: at 0xF8000000 mapped to 0xF8000000
bio: create slab <bio-0> at 0
vgaarb: loaded
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
Switching to clocksource xttcpss_timer1
NET: Registered protocol family 2
TCP established hash table entries: 131072 (order: 8, 1048576 bytes)
TCP bind hash table entries: 65536 (order: 7, 524288 bytes)
TCP: Hash tables configured (established 131072 bind 65536)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 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.
Trying to unpack rootfs image as initramfs...
rootfs image is not initramfs (no cpio magic); looks like an initrd
Freeing initrd memory: 5164K
pl330 dev 0 probe success
bounce pool size: 64 pages
jffs2: version 2.2. (NAND) (SUMMARY) © 2001-2006 Red Hat, Inc.
msgmni has been set to 1491
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
xuartps e0001000.uart: failed to get alias id, errno -19
e00À¬Ëk½±[ttyPS0] enabled, bootconsole disabled
console [ttyPS0] enabled, bootconsole disabled
xdevcfg f8007000.devcfg: ioremap f8007000 to f005c000 with size 100
brd: module loaded
loop: module loaded
xqspips e000d000.spi: master is unqueued, this is deprecated
m25p80 spi1.0: found s25fl129p1, expected n25q128
m25p80 spi1.0: s25fl129p1 (16384 Kbytes)
5 ofpart partitions found on MTD device spi1.0
Creating 5 MTD partitions on "spi1.0":
0x000000000000-0x000000100000 : "qspi-fsbl-uboot"
0x000000100000-0x000000600000 : "qspi-linux"
0x000000600000-0x000000620000 : "qspi-device-tree"
0x000000620000-0x000000c00000 : "qspi-rootfs"
0x000000c00000-0x000001000000 : "qspi-bitstream"
xqspips e000d000.spi: at 0xE000D000 mapped to 0xF005E000, irq=51
e1000e: Intel(R) PRO/1000 Network Driver - 2.0.0-k
e1000e: Copyright(c) 1999 - 2012 Intel Corporation.
libphy: XEMACPS mii bus: probed
xemacps e000b000.eth: pdev->id -1, baseaddr 0xe000b000, irq 54
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
xusbps-ehci xusbps-ehci.0: Xilinx PS USB EHCI Host Controller
xusbps-ehci xusbps-ehci.0: new USB bus registered, assigned bus number 1
xusbps-ehci xusbps-ehci.0: irq 53, io mem 0x00000000
xusbps-ehci xusbps-ehci.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
xi2cps e0004000.i2c: 100 kHz mmio e0004000 irq 57

UG873 targets the Xilinx

UG873 targets the Xilinx ZC702 board and will not work for the MicroZed. There are versions of the Zynq Concepts, Tools and Techniques tutorial for the ZedBoard here: , with the latest version for Vivado 2013.4, but it may have issues with the MicroZed as well.
There are some basic tutorials for the MicroZed here:
Adam Taylor has a good blog on using the MicroZed board starting here:
The Avnet Zynq Hardware, Software, and PetaLinux Speedway design workshops have labs that target either the ZedBoard or the MicroZed and can be downloaded here: