FC2カウンター FPGAの部屋 2016年10月09日

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


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

PYNQボード2(Linux の起動)


前回はMicroSD カードに書くイメージをダウンロードした。今回はイメージをMicroSD カードに書いて、PYNQボードでLinux を起動してみよう。

pynq_z1_image_2016_09_14.img をImageWriter で8GB のMicroSD カードに書き込んだ。

PYNQボードにUSBケーブルとLANケーブルを接続した。今回はACアダプタを購入が間に合わなかったため、USBケーブルで電源を供給した。USB 3.0 に接続して、2A 用のUSBケーブルを使えば問題なかった。なお、2A 用のUSBケーブルは100円均一のお店で購入した。


現在は9V 1.3AのACアダプタを使用している。

JP5をUSB に設定して、PYNQボードのスイッチON。
Tera Term を立ち上げ、115200 bps, 8bit, 1 Stopbit に設定すると、プロンプトが見えた。
ifconfig コマンドを入れると IP アドレスが見えた。

DHCP でIP が取れているので、そのIP アドレスでアクセスすることにした。

DHCP のIP アドレス:9090 をブラウザで見ると、jupyter が起動していた。
パスワードに xilinx と入力すると入れた。

jupyter 画面。

Samba サーバーが上がっていて、Winodows 10 のエクスプローラのネットワークのPYNQ の xilinx フォルダにID xilinx, password xilinx で入ることができた。

PYNQ の xilinx フォルダ。


In:    serial@e0000000
Out:   serial@e0000000
Err:   serial@e0000000
Model: Zynq ARTY-Z Development Board
Board: Xilinx Zynq
Net:   ZYNQ GEM: e000b000, phyaddr 1, interface rgmii-id
SF: Detected S25FL128S_64K with page size 256 Bytes, erase size 64 KiB, total 16 MiB

Warning: ethernet@e000b000 using MAC address from ROM
eth0: ethernet@e000b000
Hit any key to stop autoboot:  0
Device: sdhci@e0100000
Manufacturer ID: 74
OEM: 4a60
Name: USD
Tran Speed: 50000000
Rd Block Len: 512
SD version 3.0
High Capacity: Yes
Capacity: 7.5 GiB
Bus Width: 4-bit
Erase Group Size: 512 Bytes
reading uEnv.txt
** Unable to read file uEnv.txt **
Copying Linux from SD to RAM...
reading uImage
4506400 bytes read in 415 ms (10.4 MiB/s)
reading devicetree.dtb
8936 bytes read in 20 ms (435.5 KiB/s)
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-3.17.0-xilinx
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4506336 Bytes = 4.3 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x2a00000
   Loading Kernel Image ... OK
   Loading Device Tree to 1eb18000, end 1eb1d2e7 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 3.17.0-xilinx (hackwad@xcordevl1) (gcc version 4.9.2 (Sourcery CodeBench Lite 2015.05-17) ) #23 SMP PREEMPT Tue Aug 16 10:40:10 MDT 2016
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: xlnx,zynq-7000
cma: Reserved 128 MiB at 16800000
Memory policy: Data cache writealloc
PERCPU: Embedded 8 pages/cpu @5fb9e000 s8768 r8192 d15808 u32768
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 130048
Kernel command line: console=ttyPS0,115200 root=/dev/mmcblk0p2 rw earlyprintk rootfstype=ext4 rootwait devtmpfs.mount=1
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: 379048K/524288K available (6184K kernel code, 363K rwdata, 2228K rodata, 208K init, 255K bss, 145240K reserved, 0K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xffe00000   (2048 kB)
    vmalloc : 0x60800000 - 0xff000000   (2536 MB)
    lowmem  : 0x40000000 - 0x60000000   ( 512 MB)
    pkmap   : 0x3fe00000 - 0x40000000   (   2 MB)
    modules : 0x3f000000 - 0x3fe00000   (  14 MB)
      .text : 0x40008000 - 0x4083f31c   (8413 kB)
      .init : 0x40840000 - 0x40874240   ( 209 kB)
      .data : 0x40876000 - 0x408d0ea0   ( 364 kB)
       .bss : 0x408d0ea0 - 0x40910c78   ( 256 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
L2C: platform provided aux values match the hardware, so have no effect.  Please remove them.
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76360001
slcr mapped to 60804000
zynq_clock_init: clkc starts at 60804100
Zynq clock init
sched_clock: 64 bits at 325MHz, resolution 3ns, wraps every 3383112499200ns
timer #0 at 60806000, irq=43
Console: colour dummy device 80x30
Calibrating delay loop... 1292.69 BogoMIPS (lpj=6463488)
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 0x5de6d8 - 0x5de730
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
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0x60880000
VCCPINT: 1000 mV
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 <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Advanced Linux Sound Architecture Driver Initialized.
cfg80211: Calling CRDA to update world regulatory domain
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.
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 996
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-2364208
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0000000.serial: ttyPS0 at MMIO 0xe0000000 (irq = 59, base_baud = 6250000) is a xuartps
console [ttyPS0] enabled
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to 6086a000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
CAN device driver interface
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM at 0xe000b000 irq 54 (00:18:3e:02:48:48)
macb e000b000.ethernet eth0: attached PHY driver [Generic PHY] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
e1000e: Intel(R) PRO/1000 Network Driver - 2.3.2-k
e1000e: Copyright(c) 1999 - 2014 Intel Corporation.
ipw2100: Intel(R) PRO/Wireless 2100 Network Driver, git-1.2.2
ipw2100: Copyright(c) 2003-2006 Intel Corporation
libipw: 802.11 data/management/control stack, git-1.1.13
libipw: Copyright (C) 2004-2005 Intel Corporation <jketreno@linux.intel.com>
Atmel at76x USB Wireless LAN Driver 0.17 loading
usbcore: registered new interface driver at76c50x-usb
Broadcom 43xx driver loaded [ Features: PNLS ]
Broadcom 43xx-legacy driver loaded [ Features: PLID ]
usbcore: registered new interface driver rtl8187
usbcore: registered new interface driver rtl8192cu
usbcore: registered new interface driver rndis_wlan
usbcore: registered new interface driver lbtf_usb
Intel(R) Wireless WiFi driver for Linux, in-tree:
Copyright(c) 2003- 2014 Intel Corporation
iwl4965: Intel(R) Wireless WiFi 4965 driver for Linux, in-tree:
iwl4965: Copyright(c) 2003-2011 Intel Corporation
iwl3945: Intel(R) PRO/Wireless 3945ABG/BG Network Connection driver for Linux, in-tree:s
iwl3945: Copyright(c) 2003-2011 Intel Corporation
usbcore: registered new interface driver brcmfmac
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver rndis_host
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
ehci-pci: EHCI PCI platform driver
ULPI transceiver vendor/product ID 0x0451/0x1507
Found TI TUSB1210 ULPI transceiver.
ULPI integrity check: passed.
zynq-ehci zynq-ehci.0: Xilinx Zynq USB EHCI Host Controller
zynq-ehci zynq-ehci.0: new USB bus registered, assigned bus number 1
zynq-ehci zynq-ehci.0: irq 53, io mem 0x00000000
zynq-ehci zynq-ehci.0: USB 2.0 started, EHCI 1.00
usb usb1: New USB device found, idVendor=1d6b, idProduct=0002
usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
usb usb1: Product: Xilinx Zynq USB EHCI Host Controller
usb usb1: Manufacturer: Linux 3.17.0-xilinx ehci_hcd
usb usb1: SerialNumber: zynq-ehci.0
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
usbcore: registered new interface driver usb-storage
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
cdns-i2c e0004000.i2c: 400 kHz mmio e0004000 irq 57
cdns-wdt f8005000.watchdog: Xilinx Watchdog Timer at 60874000 with timeout 10s
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
sdhci-arasan e0100000.sdhci: No vmmc regulator found
sdhci-arasan e0100000.sdhci: No vqmmc regulator found
mmc0: SDHCI controller on e0100000.sdhci [e0100000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
xlnk driver initializing
xlnk major 245
xlnk driver loaded
xlnk_pdev is not null
TCP: cubic registered
NET: Registered protocol family 17
can: controller area network core (rev 20120528 abi 9)
NET: Registered protocol family 29
can: raw protocol (rev 20120528)
can: broadcast manager protocol (rev 20120528 t)
can: netlink gateway (rev 20130117) max_hops=1
lib80211: common routines for IEEE802.11 drivers
zynq_pm_ioremap: no compatible node found for 'xlnx,zynq-ddrc-1.0'
zynq_pm_late_init: Unable to map DDRC IO memory.
Registering SWP/SWPB emulation handler
drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
ALSA device list:
mmc0: new high speed SDHC card at address 59b4
mmcblk0: mmc0:59b4 USD   7.51 GiB
 mmcblk0: p1 p2
  No soundcards found.
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 208K (40840000 - 40874000)
!ョX.]Y[イォLWFailed to insert module 'kdbus': Function not implementedted
                             ?・ア        ア5systemd[1]: systemd 225 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTS。ョ^.]Y[イォLWDetected architecture arm.ECCOMP +BLKID -ELFUTILS +KMOD -IDN)
Welcome to Ubuntu 15.10!

systemd-sysv-generator[733]: Overwriting existing symlink /run/systemd/generator。ョ^.]Y[イォLWdisplay-manager.service: Cannot add dependency job, ignoring: Unit di[  OK  ] Started Dispatch Password Requests to Console Directory Watch.h.
[  OK  ] Reached target Encrypted Volumes.es.
[  OK  ] Reached target Remote File Systems (Pre).e).
[  OK  ] Created slice Root Slice.e.
[  OK  ] Listening on Journal Socket.et.
[  OK  ] Created slice User and Session Slice.ce.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.pe.
[  OK  ] Created slice System Slice.ce.
[  OK  ] Created slice system-getty.slice.ce.
         Starting Remount Root and Kernel File Systems......
         Starting Nameserver information manager......
[  OK  ] Created slice system-serial\x2dgetty.slice.ce.
[  OK  ] Reached target Slices.es.
         Starting Increase datagram queue length......
[  OK  ] Listening on udev Control Socket.et.
[  OK  ] Listening on udev Kernel Socket.et.
systemd[1]: Starting Create list of required static device nodes for the current         Starting Create list of required st... nodes for the current kernel...
[  OK  ] Listening on Journal Socket (/dev/log).g).
         Starting Load Kernel Modules......
[  OK  ] Started Forward Password Requests to Wall Directory Watch.ch.
         Starting udev Coldplug all Devices......
[  OK  ] Started Remount Root and Kernel File Systems.ms.
[  OK  ] Started Increase datagram queue length.th.
systemd[1]: Started Create list of required static device nodes for the current [  OK  ] Started Create list of required sta...ce nodes for the current kernel.
[  OK  ] Started Load Kernel Modules.es.
[  OK  ] Started Nameserver information manager.er.
[  OK  ] Started udev Coldplug all Devices.es.
         Starting Apply Kernel Variables......
         Starting Create Static Device Nodes in /dev......
[  OK  ] Listening on Syslog Socket.
         Starting Journal Service...
         Starting Load/Save Random Seed...
         Activating swap /var/swap...
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
[  OK  ] Reached target Remote File Systems.
         Starting Wait for all "auto" /etc/n... up for network-online.target...
         Starting LSB: Raise network interfaces....
[  OK  ] Activated swap /var/swap.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Reached target Swap.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Found device /dev/ttyPS0.
[  OK  ] Started Wait for all "auto" /etc/ne...be up for network-online.target.
[  OK  ] Stopped LSB: Start NTP daemon.
[  OK  ] Started LSB: Raise network interfaces..
[  OK  ] Reached target Network.
[  OK  ] Reached target Network is Online.
[  OK  ] Reached target System Initialization.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Sockets.
[  OK  ] Started Trigger resolvconf update for networkd DNS.
[  OK  ] Reached target Paths.
[  OK  ] Reached target Basic System.
         Starting Login Service...
         Starting LSB: start Samba NetBIOS nameserver (nmbd)...
         Starting Permit User Sessions...
         Starting LSB: start Samba daemons for the AD DC...
         Starting LSB: Load kernel modules needed to enable cpufreq scaling...
         Starting LSB: starts/stops the 2ping listener...
[  OK  ] Started Regular background program processing daemon.
         Starting /etc/rc.local Compatibility...
[  OK  ] Started OpenBSD Secure Shell server.
         Starting Enable support for additional executable binary formats...
[  OK  ] Started D-Bus System Message Bus.
         Starting System Logging Service...
[  OK  ] Started Daily Cleanup of Temporary Directories.
[  OK  ] Reached target Timers.
[  OK  ] Started Permit User Sessions.
[  OK  ] Started LSB: starts/stops the 2ping listener.
[  OK  ] Started Enable support for additional executable binary formats.
[  OK  ] Started System Logging Service.
[  OK  ] Started Login Service.
[  OK  ] Started LSB: Load kernel modules needed to enable cpufreq scaling.
[  OK  ] Created slice user-0.slice.
[  OK  ] Started Session c1 of user root.
         Starting User Manager for UID 0...
         Starting LSB: set CPUFreq kernel parameters...
         Starting LSB: Start NTP daemon...
[  OK  ] Started LSB: set CPUFreq kernel parameters.
[  OK  ] Started User Manager for UID 0.
[  OK  ] Started LSB: Start NTP daemon.
rc.local[1503]: /root/2_jupyter_server.sh: Jupyter server started
rc.local[1503]: /root/3_pl_server.sh: Programmable Logic server started
[  OK  ] Started /etc/rc.local Compatibility.
[  OK  ] Started Getty on tty1.
[  OK  ] Started Serial Getty on ttyPS0.
[  OK  ] Reached target Login Prompts.
         Stopping LSB: Start NTP daemon...
[  OK  ] Stopped LSB: Start NTP daemon.
         Starting LSB: Start NTP daemon...
[  OK  ] Started LSB: Start NTP daemon.
         Starting LSB: start Samba SMB/CIFS daemon (smbd)...
         Stopping LSB: Start NTP daemon...
[  OK  ] Stopped LSB: Start NTP daemon.
         Starting LSB: Start NTP daemon...
[  OK  ] Started LSB: Start NTP daemon.
[  OK  ] Started LSB: start Samba daemons for the AD DC.

Ubuntu 15.10 pynq ttyPS0

pynq login: xilinx (automatic login)

Last login: Thu Jan  1 00:00:13 UTC 1970 on ttyPS0

  1. 2016年10月09日 03:47 |
  2. PYNQ
  3. | トラックバック:0
  4. | コメント:0