3 Replies Latest reply on Mar 17, 2014 5:30 PM by nzeitler

    Problem with Chapter 5 of zedboard_CTT tutorial

    bjkoo88

      So im trying to do CTT(Zynq Concepts, Tools, and Techniques on ZedBoard) tutorial and i got stuck in where I have to boot linux system on the board(chapter 5). when i try 5.2.3 step 7 i get this output below

      zed-boot> go 0x8000
      ## Starting application at 0x00008000 ...
      Uncompressing Linux... done, booting the kernel.
      Booting Linux on physical CPU 0
      Linux version 3.3.0-14.2-build1-01464-ged63a4d (training@ubuntu) (gcc version 4.6.1 (Sourcery CodeBench Lite 2011.09-50) ) #1 SMP PREEMPT Wed Jun 20 14:46:29 PDT 2012
      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 ZedBoard
      bootconsole [earlycon0] enabled
      Memory policy: ECC disabled, Data cache writealloc
      On node 0 totalpages: 126976
      free_area_init_node: node 0, pgdat c045c1c0, node_mem_map c1001000
      Normal zone: 1152 pages used for memmap
      Normal zone: 0 pages reserved
      Normal zone: 125824 pages, LIFO batch:31
      PERCPU: Embedded 7 pages/cpu @c1486000 s5696 r8192 d14784 u32768
      pcpu-alloc: s5696 r8192 d14784 u32768 alloc=8*4096
      pcpu-alloc: [0] 0 [0] 1
      Built 1 zonelists in Zone order, mobility grouping on. Total pages: 125824
      Kernel command line: console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M earlyprintk maxcpus=2 debug ip=192.168.1.10
      PID hash table entries: 2048 (order: 1, 8192 bytes)
      Dentry cache hash table entries: 65536 (order: 6, 262144 bytes)
      Inode-cache hash table entries: 32768 (order: 5, 131072 bytes)
      Memory: 240MB 256MB = 496MB total
      Memory: 490028k/490028k available, 34260k reserved, 0K highmem
      Virtual kernel memory layout:
      vector : 0xffff0000 - 0xffff1000 ( 4 kB)
      fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
      vmalloc : 0xe0800000 - 0xff000000 ( 488 MB)
      lowmem : 0xc0000000 - 0xe0000000 ( 512 MB)
      pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
      modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
      .text : 0xc0008000 - 0xc0409c4c (4104 kB)
      .init : 0xc040a000 - 0xc042e640 ( 146 kB)
      .data : 0xc0430000 - 0xc045dba0 ( 183 kB)
      .bss : 0xc045dbc4 - 0xc0477e1c ( 105 kB)
      Preemptible hierarchical RCU implementation.
      Verbose stalled-CPUs detection is disabled.
      NR_IRQS:128
      xlnx,ps7-ttc-1.00.a #0 at 0xe0800000, irq=43
      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
      smp_twd: clock not found: -2
      Calibrating local timer... 333.49MHz.
      hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
      Setting up static identity map for 0x2f11d8 - 0x2f120c
      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
      L310 cache controller enabled
      l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72060000, Cache size: 524288 B
      registering platform device 'pl330' id 0
      registering platform device 'arm-pmu' id 0
      ------------[ cut here ]------------
      WARNING: at arch/arm/kernel/hw_breakpoint.c:235 enable_monitor_mode+0x30/0xb0()
      halting debug mode enabled. Unable to access hardware resources.
      Modules linked in:
      [<c0012928>] (unwind_backtrace+0x0/0xe0) from [<c001e84c>] (warn_slowpath_common+0x4c/0x64)
      [<c001e84c>] (warn_slowpath_common+0x4c/0x64) from [<c001e8e4>] (warn_slowpath_fmt+0x2c/0x3c)
      [<c001e8e4>] (warn_slowpath_fmt+0x2c/0x3c) from [<c00135b0>] (enable_monitor_mode+0x30/0xb0)
      [<c00135b0>] (enable_monitor_mode+0x30/0xb0) from [<c00136a4>] (reset_ctrl_regs+0x74/0x130)
      [<c00136a4>] (reset_ctrl_regs+0x74/0x130) from [<c005223c>] (generic_smp_call_function_single_interrupt+0xe4/0x124)
      [<c005223c>] (generic_smp_call_function_single_interrupt+0xe4/0x124) from [<c0011be8>] (handle_IPI+0xc4/0x164)
      [<c0011be8>] (handle_IPI+0xc4/0x164) from [<c00084c0>] (gic_handle_irq+0x90/0x9c)
      [<c00084c0>] (gic_handle_irq+0x90/0x9c) from [<c000d240>] (__irq_svc+0x40/0x70)
      Exception stack(0xdf867fa0 to 0xdf867fe8)
      7fa0: df866000 df866028 df867fe8 00000000 c043b698 00000015 10c0387d c045df60
      7fc0: 0000406a 413fc090 00000000 00000000 00000000 df867fe8 c000e02c c000e030
      7fe0: 60000013 ffffffff
      [<c000d240>] (__irq_svc+0x40/0x70) from [<c000e030>] (default_idle+0x24/0x28)
      [<c000e030>] (default_idle+0x24/0x28) from [<c000e1dc>] (cpu_idle+0x3c/0xa4)
      [<c000e1dc>] (cpu_idle+0x3c/0xa4) from [<00423d54>] (0x423d54)
      ---[ 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 0xE0808000
      bio: create slab <bio-0> at 0
      gpiochip_add: registered GPIOs 0 to 245 on device: xgpiops
      xgpiops e000a000.gpio: gpio at 0xe000a000 mapped to 0xe080a000
      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
      IP route cache hash table entries: 4096 (order: 2, 16384 bytes)
      TCP established hash table entries: 16384 (order: 5, 131072 bytes)
      TCP bind hash table entries: 16384 (order: 5, 196608 bytes)
      TCP: Hash tables configured (established 16384 bind 16384)
      TCP reno registered
      UDP hash table entries: 256 (order: 1, 8192 bytes)
      UDP-Lite hash table entries: 256 (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.
      Trying to unpack rootfs image as initramfs...
      rootfs image is not initramfs (no cpio magic); looks like an initrd
      Freeing initrd memory: 8192K
      xscugtimer xscugtimer.0: ioremap fe00c200 to e080c200 with size 400
      pl330 dev 0 probe success
      JFFS2 version 2.2. (NAND) (SUMMARY) ⓒ 2001-2006 Red Hat, Inc.
      msgmni has been set to 973
      io scheduler noop registered
      io scheduler deadline registered
      io scheduler cfq registered (default)
      e00슝枯?ttyPS0] enabled, bootconsole disabled
      console [ttyPS0] enabled, bootconsole disabled
      xdevcfg f8007000.devcfg: ioremap f8007000 to e0860000 with size 100
      brd: module loaded
      loop: module loaded
      GEM: BASEADDRESS hw: e000b000 virt: e0862000
      XEMACPS mii bus: probed

      and it stops running. please help me out!! I dont know what is the problem.

        • Is this the Vivado version
          troutchaser

          If this is the Vivado version of the Zynq Concepts, Tools, and Techniques I believe that there is an error in the tutorial. I think that the hardware platform that has been built in the previous labs does not have all of the peripherals (like Ethernet) implemented that the Linux port is expecting.

           

          We have notified Xilinx and are waiting for their response.

           

          -Gary

          • vivado 2013.4 has the same problem
            ybhphoenix

            Like the subject said eveything

            • May need to add the MDIO pins in
              nzeitler

              I ran into this issue as well. Indeed, in Step 3 of Section 5.2.3 they say to use the same workspace used in Chapters 2 and 3, but in Chapter 3 they told you to remove ENET and USB, which you will use in the pre-packaged Linux design. 

              For Chapter 5, I went back to the PS and added the ENET and USB ports back into the Zynq PS.  Ran everything again and it didn't work.

              Then I noticed that the ENET 0 MDIO pins were not connected to anything in the Zynq PS.  Perhaps adding the device in does not connect these unless you explicitly tell it to.  (I admit to not knowing the purpose of these yet, but I saw something disconnected, so I connected it)  Connecting these to MIO pins 52 and 53 and rerunning the whole works has gotten me past the trouble spot and to a zynq> prompt.

              I did try a couple other things along the way, and I'm pretty sure I undid them all before trying this, but if not, it is possible this could help save a few people some time.

              TL;DR,
              Steps to (hopefully) get it to work:
              1. In Vivado block diagram, bring up MIO Configuration (right-click Zynq PS block and choose "Customize Block..."). 
              2. Choose "MIO Configuration" tab, expand "I/O Peripherals".  Check the ENET 0 and USB 0 boxes.
              3. Expand the ENET 0 device and check the MDIO box.  The MDIO pins may need to be assigned to MIO 52 and 53.
              4. Click OK. Resynthesize/reimplement/regenerate and push to the SDK.  This should get you back on track for Chapter 5.