FC2カウンター FPGAの部屋 Zynq-7000(ZC702)のLinuxチュートリアル2(Master Boot Method、SDカード)
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Zynq-7000(ZC702)のLinuxチュートリアル2(Master Boot Method、SDカード)

前回の”Zynq-7000(ZC702)のLinuxチュートリアル1(Slave Boot Method)”では、JTAGからブートイメージをロードするSlave Boot Methodでうまくブートできなかった。設定が違っているかもしれないが、とりあえずはLinuxをブートできた。Master Boot Method、SDカードからのブートをやってみることにした。

Zynq-7000 EPP Concepts, Tools, and Techniques A Hands-On Guide to Effective Embedded System Design UG873 (v14.1) May 31, 2012”の45ページ、”5.2.6 Take a Test Drive! Booting Linux From the SD Card”をやってみることにした。

・まずは、 J20, J21, J22, J25, J26, J27, J28の設定ピンを下の写真のように設定する。
ZC702_Linux_14_120711.jpg

・ZC702ボードの電源をON。

・急いで、TeraTermを立ちあげて、115200bpsにセットする。

・U-Bootを経由して、自動的にLinuxがブートする。
ZC702_Linux_13_120711.png

・ブートした時の全メッセージを下に貼っておく。

FSBL, Video hacked version 1.0

video stuff starting to run
Reset and Initialize the FMC devices ...
Config is 6A
3A Config is 6A
3B Config is 6A
3C Config is 6A
3D Config is 6A
De-skew is 6A


U-Boot 2010.09-01918-g068cc03 (Jan 20 2012 - 14:02:15)
Xilinx Pele Emulation Platform

DRAM: 256 MiB
## Unknown FLASH on Bank 1 - Size = 0x00000000 = 0 MB
Flash: 0 Bytes
MMC: SDHCI: 0
Using default environment

In: serial
Out: serial
Err: serial
Hit any key to stop autoboot: 0
Copying Linux from SD to RAM...
Device: SDHCI
Manufacturer ID: 3
OEM: 5344
Name: SU08G
Tran Speed: 25000000
Rd Block Len: 512
SD version 1.10
High Capacity: Yes
Capacity: 7948206080
Bus Width: 1-bit
reading zImage

2020464 bytes read
reading devicetree.dtb

2347 bytes read
reading ramdisk8M.image.gz

2500546 bytes read
Trying to set up GEM link...
Resetting PHY...

PHY reset complete.
Waiting for PHY to complete auto-negotiation...
Link is now at 100Mbps!
ping failed; host 10.10.70.101 is not alive
## Starting application at 0x00008000 ...
Uncompressing Linux... done, booting the kernel.
Linux version 3.0.0 (djoja@ubuntu) (gcc version 4.5.1 (Sourcery G++ Lite 2010.09-62) ) #54 SMP PREEMPT Thu Jan 19 17:24:27 PST 2012
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Xilinx Zynq Platform, model: Xilinx Zynq ZC770 - V&C dt1 - minimum)
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 7 pages/cpu @c180a000 s4928 r8192 d15552 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 256000
Kernel command line: console=ttyPS0,115200 root=/dev/ram rw initrd=0x800000,8M 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 768MB = 1008MB total
Memory: 1011248k/1011248k available, 37328k reserved, 655360K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
DMA : 0xffc00000 - 0xffe00000 ( 2 MB)
vmalloc : 0xd8800000 - 0xe0000000 ( 120 MB)
lowmem : 0xc0000000 - 0xd8000000 ( 384 MB)
pkmap : 0xbfe00000 - 0xc0000000 ( 2 MB)
modules : 0xbf000000 - 0xbfe00000 ( 14 MB)
.init : 0xc0008000 - 0xc002b000 ( 140 kB)
.text : 0xc002b000 - 0xc03b3bc0 (3619 kB)
.data : 0xc03b4000 - 0xc03dbe00 ( 160 kB)
.bss : 0xc03dbe24 - 0xc03f1e4c ( 89 kB)
Preemptible hierarchical RCU implementation.
Verbose stalled-CPUs detection is disabled.
NR_IRQS:246
xlnx,ps7-ttc-1.00.a #0 at 0xd8800000, irq=43
Console: colour dummy device 80x30
Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
Calibrating local timer... 399.20MHz.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
CPU1: Booted secondary processor
Brought up 2 CPUs
SMP: Total of 2 processors activated (3188.32 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
hw-breakpoint: found 6 breakpoint and 1 watchpoint registers.
hw-breakpoint: 1 breakpoint(s) reserved for watchpoint single-step.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab at 0
xgpiops e000a000.gpio: gpio at 0xe000a000 mapped to 0xd8808000
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: 16384 (order: 4, 65536 bytes)
TCP established hash table entries: 65536 (order: 7, 524288 bytes)
TCP bind hash table entries: 65536 (order: 7, 786432 bytes)
TCP: Hash tables configured (established 65536 bind 65536)
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
PMU: registered new PMU device of type 0
xscugtimer xscugtimer.0: ioremap f8f00200 to d880a200 with size 400
pl330 dev 0 probe success
highmem bounce pool size: 64 pages
JFFS2 version 2.2. (NAND) (SUMMARY) c 2001-2006 Red Hat, Inc.
msgmni has been set to 711
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
e0001000.uart: ttyPS0 at MMIO 0xe0001000 (irq = 82) is a xuartps
console [ttyPS0] enabled
brd: module loaded
loop: module loaded
m25p80 spi0.1: unrecognized JEDEC id ffffff
xspips e0007000.spi: at 0xE0007000 mapped to 0xD8860000, irq=81
m25p80 spi1.0: n25q128 (16384 Kbytes)
Creating 7 MTD partitions on "serial_flash":
0x000000000000-0x000000080000 : "qspi-fsbl"
0x000000080000-0x000000100000 : "qspi-u-boot"
0x000000100000-0x000000600000 : "qspi-linux"
0x000000600000-0x000000620000 : "qspi-device-tree"
0x000000620000-0x000000700000 : "qspi-user"
0x000000700000-0x000000800000 : "qspi-scratch"
0x000000800000-0x000001000000 : "qspi-rootfs"
xqspips e000d000.spi: at 0xE000D000 mapped to 0xD8862000, irq=51
GEM: BASEADDRESS hw: e000b000 virt: d8864000
XEMACPS mii bus: probed
GEM: phydev d7966c00, phydev->phy_id 0x1410e40, phydev->addr 0x7
GEM: MAC addr 00:00:00:00:00:00
xemacps e000b000.eth: invalid address, use assigned
MAC updated 82:36:7f:74:92:ae
eth0, pdev->id -1, baseaddr 0xe000b000, irq 54
eth0, phy_addr 0x7, phy_id 0x01410e40
eth0, attach [Generic PHY] phy driver
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
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.
Xilinx PS USB Device Controller driver (Apr 01, 2011)
mousedev: PS/2 mouse device common for all mice
at24 0-0050: 256 byte 24c02 EEPROM, writable, 1 bytes/write
xi2cps e0004000.i2c: 400 kHz mmio e0004000 irq 57
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
mmc0: Invalid maximum block size, assuming 512 bytes
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using DMA
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
TCP cubic registered
NET: Registered protocol family 17
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
Registering SWP/SWPB emulation handler
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
GEM: lp->tx_bd ffdfb000 lp->tx_bd_dma 170ee000 lp->tx_skb d7b064a0
GEM: lp->rx_bd ffdfc000 lp->rx_bd_dma 170ed000 lp->rx_skb d7b063a0
GEM: MAC 0x747f3682, 0x0000ae92, 82:36:7f:74:92:ae
mmc0: new SDHC card at address e624
mmcblk0: mmc0:e624 SU08G 7.40 GiB
mmcblk0: p1
GEM: mc addr 0x1:0x0:0x5e:0x0:0x0:0x1
IP-Config: Guessing netmask 255.255.255.0
IP-Config: Complete:
device=eth0, addr=192.168.1.10, mask=255.255.255.0, gw=255.255.255.255,
host=192.168.1.10, domain=, nis-domain=(none),
bootserver=255.255.255.255, rootserver=255.255.255.255, rootpath=
RAMDISK: gzip image found at block 0
VFS: Mounted root (ext2 filesystem) on device 1:0.
devtmpfs: mounted
Starting rcS...
++ Mounting filesystem
++ Setting up mdev
++ Starting telnet daemon
++ Starting http daemon
++ Starting ftp daemon
++ Starting dropbear (ssh) daemon
rcS Complete
zynq>


次に、”5.2.3 Take a Test Drive! Linux Booting Using JTAG Mode”の38ページ、”8. At the Zynq> prompt, do the following:”からの内容をやってみた。

・TeraTerm で、ifconfig eth0 10.10.70.120 netmask 255.255.255.0 を入力した。
ZC702_Linux_17_120712.png

・ZC702ボードからのLANケーブルが接続されているパソコンのIPアドレスを静的に10.10.70.121, サブネットマスクを255.255.255.0 に設定した。
ZC702_Linux_15_120712.png

・パソコンのコマンド プロンプトを立ちあげて、ping 10.10.70.120 を実行したところ、ZC702ボードからの応答が帰ってきた。
ZC702_Linux_16_120712.png

・TeraTermで、ps コマンドを実行したら、httpd も走っていた。
ZC702_Linux_18_120712.png

・パソコンのChromeで、10.10.70.120 を見てみると、立派なページが出てきた。
ZC702_Linux_19_120712.png

Zynq-7000(ZC702)のLinuxチュートリアル3(リモートデバック)”に続く。

  1. 2012年07月12日 04:22 |
  2. Zynq
  3. | トラックバック:0
  4. | コメント:0

コメント

コメントの投稿


管理者にだけ表示を許可する

トラックバック URL
https://marsee101.blog.fc2.com/tb.php/2198-8a409d3e
この記事にトラックバックする(FC2ブログユーザー)