Coxmo-ZでLinuxが起動!
ZYNQ搭載のADCボード「Cosmo-Z」でLinuxが起動するようになりました。
当社のスタッフがわずか1日でLinuxを移植してくれました。
起動メッセージのすべてを参考までに掲載します。
Xilinx First Stage Boot Loader Release 14.5/2013.1 Aug 19 2014-21:36:06 Devcfg driver initialized Silicon Version 3.1 Boot mode is SD SD: rc= 0 SD Init Done Flash Base Address: 0xE0100000 Reboot status register: 0x60400000 Multiboot Register: 0x0000C000 Image Start Address: 0x00000000 Partition Header Offset:0x00000C80 Partition Count: 3 Partition Number: 1 Header Dump Image Word Len: 0x0016CFC8 Data Word Len: 0x0016CFC3 Partition Word Len:0x0016CFC8 Load Addr: 0x00000000 Exec Addr: 0x00000000 Partition Start: 0x000055D0 Partition Attr: 0x00000020 Section Count: 0x00000001 Checksum: 0xFFBB386B Bitstream Encrypted In FsblHookBeforeBitstreamDload function PCAP:StatusReg = 0x40000A30 PCAP:device ready PCAP:Clear done Level Shifter Value = 0xA Devcfg Status register = 0x40000A30 PCAP:Fabric is Initialized done PCAP register dump: PCAP CTRL 0xF8007000: 0x4E00E07F PCAP LOCK 0xF8007004: 0x0000001A PCAP CONFIG 0xF8007008: 0x00000508 PCAP ISR 0xF800700C: 0x0802000B PCAP IMR 0xF8007010: 0xFFFFFFFF PCAP STATUS 0xF8007014: 0x00070A30 PCAP DMA SRC ADDR 0xF8007018: 0x00100001 PCAP DMA DEST ADDR 0xF800701C: 0xFFFFFFFF PCAP DMA SRC LEN 0xF8007020: 0x0016CFC8 PCAP DMA DEST LEN 0xF8007024: 0x0016CFC3 PCAP ROM SHADOW CTRL 0xF8007028: 0xFFFFFFFF PCAP MBOOT 0xF800702C: 0x0000C000 PCAP SW ID 0xF8007030: 0x00000000 PCAP UNLOCK 0xF8007034: 0x757BDF0D PCAP MCTRL 0xF8007080: 0x30800100 ................................................................................................... DMA Done ! FPGA Done ! In FsblHookAfterBitstreamDload function Partition Number: 2 Header Dump Image Word Len: 0x0001498D Data Word Len: 0x0001498D Partition Word Len:0x0001498D Load Addr: 0x04000000 Exec Addr: 0x04000000 Partition Start: 0x001725A0 Partition Attr: 0x00000010 Section Count: 0x00000001 Checksum: 0xF7E4FB47 Application Handoff Address: 0x04000000 Enabling Level Shifters PL to PS Address = 0xF8000900 Value = 0xF AXI Interface enabled FPGA Reset Register Address = 0xF8000240 , Value = 0x0 In FsblHookBeforeHandoff function SUCCESSFUL_HANDOFF FSBL Status = 0x1 U-Boot 2014.01-dirty (Aug 20 2014 - 11:30:24) I2C: ready Memory: ECC disabled DRAM: 512 MiB MMC: zynq_sdhci: 0 SF: Detected N25Q128A with page size 256 Bytes, erase size 64 KiB, total 16 MiB *** Warning - bad CRC, using default environment In: serial Out: serial Err: serial Net: Gem.e000b000 Hit any key to stop autoboot: 0 Device: zynq_sdhci Manufacturer ID: 45 OEM: 2d42 Name: TEAMTran Speed: 50000000 Rd Block Len: 512 SD version 2.0 High Capacity: No Capacity: 1.8 GiB Bus Width: 4-bit reading uEnv.txt ** Unable to read file uEnv.txt ** Copying Linux from SD to RAM... reading uImage 3360016 bytes read in 296 ms (10.8 MiB/s) reading devicetree.dtb 7461 bytes read in 13 ms (559.6 KiB/s) reading uramdisk.image.gz 5310018 bytes read in 461 ms (11 MiB/s) ## Booting kernel from Legacy Image at 03000000 ... Image Name: Linux-3.14.0-xilinx Image Type: ARM Linux Kernel Image (uncompressed) Data Size: 3359952 Bytes = 3.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 1f61e000, end 1fb2e602 ... OK Loading Device Tree to 1f619000, end 1f61dd24 ... OK Starting kernel ... Uncompressing Linux... done, booting the kernel. Booting Linux on physical CPU 0x0 Linux version 3.14.0-xilinx (xcomp@xcomp-Z87M-D3H) (gcc version 4.7.3 (Sourcery CodeBench Lite 2013.05-40) ) #2 SMP PREEMPT Wed Aug 20 11:56:41 JST 2014 CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache Machine model: Xilinx Zynq bootconsole [earlycon0] enabled cma: CMA: reserved 128 MiB at 17400000 Memory policy: Data cache writealloc PERCPU: Embedded 8 pages/cpu @dfba1000 s9024 r8192 d15552 u32768 Built 1 zonelists in Zone order, mobility grouping on. Total pages: 130048 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: 376368K/524288K available (4596K kernel code, 232K rwdata, 1536K rodata, 188K init, 192K bss, 147920K 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 - 0xc06055ac (6134 kB) .init : 0xc0606000 - 0xc0635340 ( 189 kB) .data : 0xc0636000 - 0xc06701a0 ( 233 kB) .bss : 0xc06701ac - 0xc06a033c ( 193 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. RCU: Adjusting geometry for rcu_fanout_leaf=16, nr_cpu_ids=2 NR_IRQS:16 nr_irqs:16 16 ps7-slcr mapped to e0802000 zynq_clock_init: clkc starts at e0802100 Zynq clock init sched_clock: 64 bits at 333MHz, resolution 3ns, wraps every 3298534883328ns ps7-ttc #0 at e0804000, irq=43 Console: colour dummy device 80x30 Calibrating delay loop... 1325.46 BogoMIPS (lpj=6627328) pid_max: default: 32768 minimum: 301 Mount-cache hash table entries: 1024 (order: 0, 4096 bytes) Mountpoint-cache hash table entries: 1024 (order: 0, 4096 bytes) CPU: Testing write buffer coherency: ok CPU0: thread -1, cpu 0, socket 0, mpidr 80000000 Setting up static identity map for 0x457ae8 - 0x457b40 L310 cache controller enabled l2x0: 8 ways, CACHE_ID 0x410000c8, AUX_CTRL 0x72760000, Cache size: 512 kB CPU1: Booted secondary processor CPU1: thread -1, cpu 1, socket 0, mpidr 80000001 Brought up 2 CPUs SMP: Total of 2 processors activated. CPU: All CPU(s) started in SVC mode. devtmpfs: initialized VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4 regulator-dummy: no parameters NET: Registered protocol family 16 DMA: preallocated 256 KiB pool for atomic coherent allocations cpuidle: using governor ladder cpuidle: using governor menu syscon f8000000.ps7-slcr: regmap [mem 0xf8000000-0xf8000fff] registered hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers. hw-breakpoint: maximum watchpoint size is 4 bytes. zynq-ocm f800c000.ps7-ocmc: ZYNQ OCM pool: 256 KiB @ 0xe0880000 bio: create slabat 0 vgaarb: loaded SCSI subsystem initialized usbcore: registered new interface driver usbfs usbcore: registered new interface driver hub usbcore: registered new device driver usb media: Linux media interface: v0.10 Linux video capture interface: v2.00 pps_core: LinuxPPS API ver. 1 registered pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti
PTP clock support registered EDAC MC: Ver: 3.0.0 Advanced Linux Sound Architecture Driver Initialized. Switched to clocksource arm_global_timer NET: Registered protocol family 2 TCP established hash table entries: 4096 (order: 2, 16384 bytes) TCP bind hash table entries: 4096 (order: 3, 32768 bytes) TCP: Hash tables configured (established 4096 bind 4096) 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 (df61e000 - dfb2e000) hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available futex hash table entries: 512 (order: 3, 32768 bytes) jffs2: version 2.2. (NAND) (SUMMARY) c 2001-2006 Red Hat, Inc. msgmni has been set to 1001 io scheduler noop registered io scheduler deadline registered io scheduler cfq registered (default) dma-pl330 f8003000.ps7-dma: Loaded driver for PL330 DMAC-2364208 dma-pl330 f8003000.ps7-dma: DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16 ,ヒkスア[ttyPS0] enabledS0 at MMIO 0xe0001000 (irq = 82, base_baud = 6249999) is a xuartps console [ttyPS0] enabled bootconsole [earlycon0] disabled bootconsole [earlycon0] disabled xdevcfg f8007000.ps7-dev-cfg: ioremap 0xf8007000 to e0866000 [drm] Initialized drm 1.1.0 20060810 brd: module loaded loop: module loaded m25p80 spi0.0: found n25q128a11, expected n25q128 m25p80 spi0.0: n25q128a11 (16384 Kbytes) 5 ofpart partitions found on MTD device spi0.0 Creating 5 MTD partitions on "spi0.0": 0x000000000000-0x000000100000 : "qspi-fsbl-uboot" 0x000000100000-0x000000600000 : "qspi-linux" 0x000000600000-0x000000620000 : "qspi-device-tree" 0x000000620000-0x000000c00000 : "qspi-rootfs" 0x000000c00000-0x000001000000 : "qspi-bitstream" e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k e1000e: Copyright(c) 1999 - 2013 Intel Corporation. libphy: XEMACPS mii bus: probed xemacps e000b000.ps7-ethernet: pdev->id -1, baseaddr 0xe000b000, irq 54 ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver ehci-pci: EHCI PCI platform driver zynq-dr e0002000.ps7-usb: Unable to init USB phy, missing? usbcore: registered new interface driver usb-storage mousedev: PS/2 mouse device common for all mice i2c /dev entries driver zynq-edac f8006000.ps7-ddrc: ecc not enabled cpufreq_cpu0: failed to get cpu0 regulator: -19 Xilinx Zynq CpuIdle Driver started sdhci: Secure Digital Host Controller Interface driver sdhci: Copyright(c) Pierre Ossman sdhci-pltfm: SDHCI platform and OF driver helper mmc0: no vqmmc regulator found mmc0: no vmmc regulator found mmc0: SDHCI controller on e0100000.ps7-sdio [e0100000.ps7-sdio] using ADMA usbcore: registered new interface driver usbhid usbhid: USB HID core driver TCP: cubic registered NET: Registered protocol family 17 Registering SWP/SWPB emulation handler regulator-dummy: disabling drivers/rtc/hctosys.c: unable to open rtc device (rtc0) ALSA device list: No soundcards found. RAMDISK: gzip image found at block 0 mmc0: new high speed SD card at address 0001 mmcblk0: mmc0:0001 TEAM 1.83 GiB mmcblk0: p1 VFS: Mounted root (ext2 filesystem) on device 1:0. devtmpfs: mounted Freeing unused kernel memory: 188K (c0606000 - c0635000) Starting rcS... ++ Mounting filesystem FAT-fs (mmcblk0p1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck. ++ Setting up mdev ++ Starting telnet daemon ++ Starting http daemon ++ Starting ftp daemon ++ Starting ssh daemon random: sshd urandom read with 11 bits of entropy available rcS Complete zynq>
起動メッセージを読んでみると、なんだかArtix-7のMicroBlaze Linuxよりも豪華です。例えば、u-bootでSPI ROMが認識されていたり、SDカードが使えたりしています。
| 固定リンク
コメント