1 Reply Latest reply on Nov 3, 2014 6:54 PM by hockeyman1972

    linux karnal uImage problam cant synchronize with .dtb file


      hello every one
         I am using zynq ZC703 and i make a u-boot.elf ,Uimage and system.dts file.
      1> i made a u-boot.elf file by following command
              make zynq_zc70x_config
              make all
              cp u-boot u-boot.elf

      2> i made a vivardo project and made export hardwear in SDK
           in SDK Xilinx Toos-> Repositories i add device-tree-xlnx- (downloaded from git hub)
           after that File->New->Board Support package i make devicetree system.dts file
           i made system.dtb file by
              dtc -I dts -O dtb -o system.dtb system.dts

      3>i downloaded linux-xlnx from git hub and make uImage by
           make ARCH=arm UIMAGE_LOADADDR=0x8000 uImage

      bui i thing system.dts and uImage are not synchronize so i change uImage ,turned off the fixed device tree address in the kernel configuration by make ARCH=arm menuconfig

      System Type->Xilinx Specific Features -> Device Tree At Fixed Address

      But here is terminal output
      zynq-uboot> bootm 0x3000000 0x2000000 0x2A00000
      ## Booting kernel from Legacy Image at 03000000 ...
         Image Name:   Linux-3.3.0-14.2-build1
         Image Type:   ARM Linux Kernel Image (uncompressed)
         Data Size:    2306904 Bytes = 2.2 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:    5309954 Bytes = 5.1 MiB
         Load Address: 00000000
         Entry Point:  00000000
         Verifying Checksum ... OK
      ## Flattened Device Tree blob at 02a00000
         Booting using the fdt blob at 0x2a00000
         Loading Kernel Image ... OK
         Loading Ramdisk to 1f61f000, end 1fb2f602 ... OK
         Loading Device Tree to 1f619000, end 1f61e62e ... OK

      Starting kernel ...

      Uncompressing Linux... done, booting the kernel.
      Booting Linux on physical CPU 0
      Linux version 3.3.0-14.2-build1 (gnl@gnl-ThinkPad-Edge-E431) (gcc version 4.8.1 (Sourcery CodeBench Lite 2013.11-53) ) #17 SMP PREEMPT Fri Oct 31 07:10:55 IST 2014
      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
      bootconsole [earlycon0] enabled
      Memory policy: ECC disabled, Data cache writealloc
      PERCPU: Embedded 7 pages/cpu @c0900000 s5696 r8192 d14784 u32768
      Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 129920
      Kernel command line: console=ttyPS0,115200 root=/dev/ram rw earlyprintk
      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: 512MB = 512MB total
      Memory: 509384k/509384k available, 14904k 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 - 0xc0409194   (4101 kB)
            .init : 0xc040a000 - 0xc042f640   ( 150 kB)
            .data : 0xc0430000 - 0xc045e8a0   ( 187 kB)
             .bss : 0xc045e8c4 - 0xc0478d5c   ( 106 kB)
      Preemptible hierarchical RCU implementation.
              Verbose stalled-CPUs detection is disabled.
      Xilinx, no compatible timer found, using default
      xlnx,ps7-ttc-1.00.a #0 at 0xe0800000, irq=43
      Error, no clock-frequency specified for timer
      Error, no clock-frequency specified for timer
      Console: colour dummy device 80x30
      Calibrating delay loop... 30.92 BogoMIPS (lpj=154624)
      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... 7.97MHz.
      hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
      Setting up static identity map for 0x2f3708 - 0x2f373c
      CPU1: Booted secondary processor
      CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
      Brought up 2 CPUs
      SMP: Total of 2 processors activated (62.66 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/0xac()
      halting debug mode enabled. Unable to access hardware resources.
      Modules linked in:
      [<c0012bb4>] (unwind_backtrace+0x0/0xe0) from [<c001eaa4>] (warn_slowpath_common+0x4c/0x64)
      [<c001eaa4>] (warn_slowpath_common+0x4c/0x64) from [<c001eae8>] (warn_slowpath_fmt+0x2c/0x3c)
      [<c001eae8>] (warn_slowpath_fmt+0x2c/0x3c) from [<c00137b0>] (enable_monitor_mode+0x30/0xac)
      [<c00137b0>] (enable_monitor_mode+0x30/0xac) from [<c00138a0>] (reset_ctrl_regs+0x74/0x12c)
      [<c00138a0>] (reset_ctrl_regs+0x74/0x12c) from [<c00525c0>] (on_each_cpu+0x40/0x80)
      [<c00525c0>] (on_each_cpu+0x40/0x80) from [<c040e158>] (arch_hw_breakpoint_init+0x8c/0x20c)
      [<c040e158>] (arch_hw_breakpoint_init+0x8c/0x20c) from [<c0008590>] (do_one_initcall+0x8c/0x150)
      [<c0008590>] (do_one_initcall+0x8c/0x150) from [<c040a878>] (kernel_init+0x90/0x12c)
      [<c040a878>] (kernel_init+0x90/0x12c) from [<c000e188>] (kernel_thread_exit+0x0/0x8)
      ---[ 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.
      MIO pin 51 not assigned(000016e0)
      xslcr xslcr.0: at 0xF8000000 mapped to 0xE080A000
      bio: create slab <bio-0> at 0
      gpiochip_add: registered GPIOs 0 to 245 on device: xgpiops
      xgpiops e000a000.ps7-gpio: gpio at 0xe000a000 mapped to 0xe080c000
      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: 5184K
      xscugtimer xscugtimer.0: ioremap fe00c200 to e080e200 with size 400
      pl330 dev 0 probe success
      JFFS2 version 2.2. (NAND) (SUMMARY)  u00A9 2001-2006 Red Hat, Inc.
      msgmni has been set to 1005
      io scheduler noop registered
      io scheduler deadline registered
      io scheduler cfq registered (default)
      42c00000.serial: ttyUL3 at MMIO 0x42c00000 (irq = 88) is a uartlite
      e00018u00ADu00BEu00BDu00D8u00EFu00E7 u00B8u00ACkHu00BDu00ADu00BEu00BDu00A8u00EEu00C69u00D8u00EFu00E7 u00B8u00ACkHu00BDu00ADu00BEu00BDu00A8u00EEu00C6u00E4ogo

      S                                         ~u00D4u00FBJMu00CDu00EFMJKJu00E8

                                                        @u00F6u00F3u00CCu00D6u00F6Tu00D6u00C3u00B8u00EE! u00BDu00A8u00BF.)wu00BCu00BE

      u00EEu00F3u00C3su00E7Su00F8u00DDu00FEu00CEu00D6!Hu00EFu00F3u00EB                                                                                                                                                          <u00F8u00FDu00BD
      u00C8u00DE)u00D4?u00EDu00BD                                                               u00BCu00DE

                                                                                   u00EFu00EBu00D6u00EBu00F3u00CCu00CDu00F6u00F3u00C9 u00ECu00DDu00EFu00ACCok

      u00BDu00BCXJ9u00F8u00BDu00EFu00E6u00FDu00EDu00EBu00CCu00CD?u00DEu00DE1u00F8u00EEu00E6gJ.)u00C4kg                                                                                            u00BDu00DEu00EEu00EFu00C8
      u00B9u00EDu00A8u00CE                                        u00BDu00D8gu00D6u00BEu00ECu00FDu00EDu00D6?u00DE)u00C8

        • Device Tree is likely the culprit

          I think you are correct that the device tree does not match your hardware design.  There is a device tree generator tool available from Xilinx;  you might try running that and compare the results to the version you are using from the github.   Or you can try using a PetaLinux BSP for the board you are using, and compare the device tree source from there with yours.   Booting the system with PetaLinux will at least give you some confidence there are no issues with the hardware design.