FC2カウンター FPGAの部屋 DE0-Nano-SoC

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

FPGAの部屋

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

Adafruit の2.8インチのタッチ付き液晶ディスプレイが届いた

昨日、Adafruit の2.8インチのタッチ付き液晶ディスプレイが届いた。

Arduino のコネクタに嵌合するヘッダが付いているタッチ付き液晶ディスプレイだ。
これは、Rocketboards.org の OpenCL Mandelbrot Demo on Atlas-SoC をやるために購入した。

Adafruit に2015年の10月15日に注文して、2015年の10月28日に届いた。13日で届いたの優秀だと思うが、トラッキングが酷かった。

Shipping は USPS (United States Postal Service) でお願いしたのだが、トラッキングはジャマイカに届いたということになっているので、とっても心配した。
Adafruit にメールしたのだが、USPSのトラッキングは当てにならないということだった。ドキドキだったが届いて良かった。

価格はタッチ付き液晶ディスプレイが $34.95 、Shipping が $12.85 で合計 $47.80 だった。Paypal で支払いをしたが、日本円で 5,908 円だった。

これで、DE0-Nano-SoC でマンデルブローが試せる。OpenCLのライセンスが無いので、コンパイルは出来ないのが残念だが。。。

DE0-Nano-SoC_57_151029.jpg

DE0-Nano-SoC_58_151029.jpg

DE0-Nano-SoC_59_151029.jpg
  1. 2015年10月29日 04:50 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:4

Atlas-SoC のÅngström Distribution にOpenCV をインストールする

Atlas-SoC のÅngström Distribution にOpenCV をインストールした。

最初に参考させて頂いたサイトを紹介する。”Intel Edison + OpenCVで顔認識”だ。

そのサイトに従って、opencv をインストールした。

最初は、update と upgrade を行った。

opkg update
opkg upgrade


次に opkg で opencv をインストールした。

opkg install opencv

DE0-Nano-SoC_44_151022.png

次に python-opencv をインストールした。

opkg install python-opencv

DE0-Nano-SoC_45_151022.png

python-opencv のインストールが終了した。
DE0-Nano-SoC_46_151022.png

haarcascade_frontalface_alt.xml のダウンロードだが、”Intel Edison + OpenCVで顔認識”に書いてあるサイトから wget しても無いと言われてしまう。
そこで、VNCを立ちあげて、Atlas-SoC に接続して、そこの Midori ブラウザからダウンロードすることにした。URLを示す。

http://sourceforge.net/projects/roboticscode/files/Face%20Tracker/haarcascade_frontalface_alt.xml/download?use_mirror=jaist&r=http%3A%2F%2Fosdn.jp%2Fprojects%2Fsfnet_roboticscode%2Fdownloads%2FFace%2520Tracker%2Fhaarcascade_frontalface_alt.xml%2F&use_mirror=jaist

DE0-Nano-SoC_47_151024.png

Save As ボタンをクリックして、/home/root/ にセーブした。
DE0-Nano-SoC_48_151024.png

次は、サンプルのレナ像をダウンロードする。下のURLからレナ像をダウンロードさせて頂いた。

http://www.eml.ele.cst.nihon-u.ac.jp/~momma/wiki/wiki.cgi/RSJ2011.html

DE0-Nano-SoC_49_151024.png
レナ像の所で、右クリックメニューから、Save Image As を選択した。

ダイアログが出てくるので、Save As ボタンをクリックした。
DE0-Nano-SoC_50_151024.png

/home/root/ に lena.jpg という名前でセーブした。
DE0-Nano-SoC_51_151024.png

確かにセーブ出来ている。
DE0-Nano-SoC_52_151024.png

次に、顔検出をするソフトウェアを用意する必要がある。これは、”python+OpenCVで顔認識をやってみる”の recognize.py を使わせて頂いた。
Midori で”python+OpenCVで顔認識をやってみる”を表示して、gedit を立ちあげて、Python コードをコピー・アンド・ペーストした。
更に、cascade_path を変更した。日本語がトーフになっているが気にしない。。。
DE0-Nano-SoC_53_151024.png

recognize.py をセーブした。
DE0-Nano-SoC_54_151024.png

VNC 上で Terminal を立ちあげて、

python recognize.py

を実行した。
DE0-Nano-SoC_55_151024.png
すると、detected.jpg が生成された。

detected.jpga を表示すると、レナ像の顔が検出されていた。
DE0-Nano-SoC_56_151024.png

GIMPが入っているので、GIMPで画像を表示しているが、起動が重い。。。
  1. 2015年10月24日 07:36 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:2

”Atlas-SoC素晴らしいんじゃないの”をやってみる3

”Atlas-SoC素晴らしいんじゃないの”をやってみる2”の続き。

Atlas-SoC のイメージを Micro SD カードのWrite して、DE0-Nano-SoC ボードに挿入した。USBをLAN接続するドライバをインストールし、Web ページを表示している。

今回は、Try -> Developing on the Atlas-SoC Board (via SSH or VNC) の VNC をインストールしてみた。
そのページのVNC の Download ボタンをクリックしてTightVNC をダウンロードした。
DE0-Nano-SoC_24_151020.png

TightVNC のWindows 64 ビット版をダウンロードして、インストールした。

TightVNC Viewer を立ちあげて、Remote Host に 192.168.7.1 を指定して Connect した。
DE0-Nano-SoC_25_151020.png

すると、DE0-Nano-SoC ボードで起動しているLinux のディスクトップが見えた。
DE0-Nano-SoC_26_151020.png

Web ブラウザ(Midori)も起動できるし、File Manager も起動することができた。
但し、Midori は日本語フォントが入っていなかった。
DE0-Nano-SoC_27_151020.png

これで、大体、”Atlas-SoC素晴らしいんじゃないの”の内容は終了だ。
  1. 2015年10月21日 04:26 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:0

Atlas-SoC のMicro SD カードのÅngström Distribution について

Atlas-SoC のMicro SD カードでLinux をブートした時のブートメッセージ”を見ると、Atlas-SoC のMicro SD カードのLinux Distribution はÅngström Distribution の様だ。

YOCTO PROJECT COMPATIBLE, 1.7 THIS TIME ということなので、Yocto コンパチのLinux のようだ。

BeagleBoard-xMでAngstrom Linuxを動かす”によると、Angstromのオンラインビルダー・ページがあって、Webページ上で設定していくことによってLinux のシステムイメージをビルドできるということだが、今はWebページが無くなっているようだ。

opkg update
opkg upgrade

をやってみた。(VNC の環境がすでに走っている)
DE0-Nano-SoC_29_151021.png

真ん中のターミナルで opkg upgrade を実行中だ。
終了したらVNC Viewer が落ちてしまった。
シリアルから reboot して、もう一度、VNC Viewer を立ちあげて、DE0-Nano-SoC ボードに接続した。

BeagleBoard-xMでAngstrom Linuxを動かす”を参考にタイムゾーンを UTC から JST に変更した(2015/10/23:追記 JSTに変更するとVNC Viewer で接続した時にネットに繋がらない気がするので、UTCのままの方が良さそうだ)

cd /etc
mv localtime localtime.orig
ln -s /usr/share/zoneinfo/Asia/Tokyo localtime

DE0-Nano-SoC_30_151021.png
  1. 2015年10月21日 04:05 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:0

Atlas-SoC のMicro SD カードでLinux をブートした時のブートメッセージ

Atlas-SoC のMicro SD カードでLinux をブートした時のブートメッセージが取得できたので、貼っておく。

0
reading u-boot.scr
903 bytes read in 6 ms (146.5 KiB/s)
## Executing script at 02000000
---Booting ATLAS SOC GHRD---
---Programming FPGA---
reading ATLAS_SOC_GHRD/output_files/ATLAS_SOC_GHRD.rbf
2109256 bytes read in 152 ms (13.2 MiB/s)
---Setting Env variables---
## Starting application at 0x3FF79550 ...
## Application terminated, rc = 0x0
---Generating MAC Address---
ethaddr = 00:07:ed:40:66:10
---Booting Linux---
reading zImage
3975760 bytes read in 269 ms (14.1 MiB/s)
reading zImage-socfpga_cyclone5_de0_sockit.dtb
22711 bytes read in 11 ms (2 MiB/s)
## Flattened Device Tree blob at 00000100
   Booting using the fdt blob at 0x00000100
   reserving fdt memory region: addr=0 size=1000
   Loading Device Tree to 03ff7000, end 03fff8b6 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Linux version 4.0.0-altera (dwesterg@sj-dwesterg2-ll) (gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 4.9-2014.11) ) #1 SMP Mon Oct 5 07:51:48 PDT 2015
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Terasic DE-0(Atlas)
Memory policy: Data cache writealloc
PERCPU: Embedded 11 pages/cpu @bf7cc000 s15424 r8192 d21440 u45056
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 260096
Kernel command line: console=ttyS0,115200 root=/dev/mmcblk0p2 rw rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
Memory: 1030632K/1048576K available (6028K kernel code, 254K rwdata, 1792K rodata, 432K init, 197K bss, 17944K reserved, 0K cma-reserved)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xc0800000 - 0xff000000   (1000 MB)
    lowmem  : 0x80000000 - 0xc0000000   (1024 MB)
    modules : 0x7f000000 - 0x80000000   (  16 MB)
      .text : 0x80008000 - 0x807ab448   (7822 kB)
      .init : 0x807ac000 - 0x80818000   ( 432 kB)
      .data : 0x80818000 - 0x808579d0   ( 255 kB)
       .bss : 0x808579d0 - 0x808890a4   ( 198 kB)
SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
        Additional per-CPU info printed with stalls.
        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 modifies aux control register: 0x02060000 -> 0x32460000
L2C: platform provided aux values permit register corruption.
L2C: DT/platform modifies aux control register: 0x02060000 -> 0x32460000
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 0x410030c9, AUX_CTRL 0x76460001
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949672950ns
Console: colour dummy device 80x30
Calibrating delay loop... 1836.64 BogoMIPS (lpj=9183232)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
ftrace: allocating 20063 entries in 59 pages
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x572258 - 0x5722b0
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (3679.84 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
NET: Registered protocol family 16
fpga bridge driver
DMA: preallocated 256 KiB pool for atomic coherent allocations
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
altera_hps2fpga_bridge soc:fpgabridge@0: fpga bridge [hps2fpga] registered as device hps2fpga
altera_hps2fpga_bridge soc:fpgabridge@0: init-val not specified
altera_hps2fpga_bridge soc:fpgabridge@1: fpga bridge [lwhps2fpga] registered as device lwhps2fpga
altera_hps2fpga_bridge soc:fpgabridge@1: init-val not specified
altera_hps2fpga_bridge soc:fpgabridge@2: fpga bridge [fpga2hps] registered as device fpga2hps
altera_hps2fpga_bridge soc:fpgabridge@2: init-val not specified
FPGA Mangager framework driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
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
Switched to clocksource timer1
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 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
arm-pmu arm-pmu: PMU:CTI successfully enabled for 2 cores
futex hash table entries: 512 (order: 3, 32768 bytes)
audit: initializing netlink subsys (disabled)
audit: type=2000 audit(0.210:1): initialized
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
ntfs: driver 2.1.31 [Flags: R/W].
jffs2: version 2.2. (NAND) (SUMMARY)  c 2001-2006 Red Hat, Inc.
Block layer SCSI generic (bsg) driver version 0.4 loaded (major 250)
io scheduler noop registered (default)
io scheduler deadline registered
io scheduler cfq registered
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
console [ttyS0] disabled
ffc02000.serial0: ttyS0 at MMIO 0xffc02000 (irq = 42, base_baud = 6250000) is a 16550A
console [ttyS0] enabled
ffc03000.serial1: ttyS1 at MMIO 0xffc03000 (irq = 43, base_baud = 6250000) is a 16550A
altera_fpga_manager ff706000.fpgamgr: fpga manager [Altera FPGA Manager] registered as minor 0
brd: module loaded
loop: module loaded
libphy: Fixed MDIO Bus: probed
CAN device driver interface
stmmac - user ID: 0x10, Synopsys ID: 0x37
 Ring mode enabled
 DMA HW capability register supported
 Enhanced/Alternate descriptors
        Enabled extended descriptors
 RX Checksum Offload Engine supported (type 2)
 TX Checksum insertion supported
 Enable RX Mitigation via HW Watchdog Timer
libphy: stmmac: probed
eth0: PHY ID 00221622 at 1 IRQ POLL (stmmac-0:01) active
dwc2 ffb40000.usb: EPs: 16, dedicated fifos, 8064 entries in SPRAM
dwc2 ffb40000.usb: DWC OTG Controller
dwc2 ffb40000.usb: new USB bus registered, assigned bus number 1
dwc2 ffb40000.usb: irq 44, io mem 0x00000000
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: DWC OTG Controller
usb usb1: Manufacturer: Linux 4.0.0-altera dwc2_hsotg
usb usb1: SerialNumber: ffb40000.usb
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
input: ADXL34x accelerometer as /devices/platform/soc/ffc04000.i2c/i2c-0/0-0053/input/input0
i2c /dev entries driver
Driver 'mmcblk' needs updating - please use bus_type methods
Synopsys Designware Multimedia Card Interface Driver
dw_mmc ff704000.dwmmc0: IDMAC supports 32-bit address mode.
dw_mmc ff704000.dwmmc0: Using internal DMA controller.
dw_mmc ff704000.dwmmc0: Version ID is 240a
dw_mmc ff704000.dwmmc0: DW MMC controller at irq 32, 32 bit host data width, 1024 deep fifo
dw_mmc ff704000.dwmmc0: No vmmc regulator found
dw_mmc ff704000.dwmmc0: No vqmmc regulator found
dw_mmc ff704000.dwmmc0: 1 slots initialized
platform soc:leds: Driver leds-gpio requests probe deferral
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using arm/armv7-ca9
TCP: cubic registered
NET: Registered protocol family 10
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
NET: Registered protocol family 15
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
8021q: 802.1Q VLAN Support v1.8
Key type dns_resolver registered
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
platform soc:leds: Driver leds-gpio requests probe deferral
platform soc:keys: Driver gpio-keys requests probe deferral
mmc_host mmc0: Bus speed (slot 0) = 50000000Hz (slot req 50000000Hz, actual 50000000HZ div = 0)
mmc0: new high speed SDHC card at address 0007
mmcblk0: mmc0:0007 SD8GB 7.42 GiB
 mmcblk0: p1 p2 p3
platform soc:leds: Driver leds-gpio requests probe deferral
/data/atlas-soc/17-master/setup-scripts/build/tmp-angstrom_v2014_12-glibc/work/atlas_sockit-angstrom-linux-gnueabi/linux-altera/4.0+gitAUTOINC+5d36469775-r15/linux/drivers/rtc/hctosys.c: unable to open rtc device (rtc0)
platform soc:leds: Driver leds-gpio requests probe deferral
platform soc:keys: Driver gpio-keys requests probe deferral
ttyS0 - failed to request DMA
random: nonblocking pool is initialized
kjournald starting.  Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 432K (807ac000 - 80818000)
systemd[1]: Failed to insert module 'autofs4'
systemd[1]: systemd 219 running in system mode. (+PAM -AUDIT -SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP -LIBCRYPTSETUP -GCRYPT -GNUTLS +ACL +XZ -LZ4 -SECCOMP +BLKID -ELFUTILS +KMOD +IDN)
systemd[1]: Detected architecture arm.

Welcome to The Angstrom Distribution v2014.12!

systemd[1]: Set hostname to <atlas_sockit>.
systemd-sysv-generator[679]: Overwriting existing symlink /run/systemd/generator.late/fuse.service with real service
systemd-sysv-generator[679]: Overwriting existing symlink /run/systemd/generator.late/gator.service with real service
systemd[1]: Cannot add dependency job for unit org.freedesktop.resolve1.busname, ignoring: Unit org.freedesktop.resolve1.busname failed to load: No such file or directory.
systemd[1]: Started Dispatch Password Requests to Console Directory Watch.
systemd[1]: Starting Dispatch Password Requests to Console Directory Watch.
[  OK  ] Reached target Swap.
systemd[1]: Reached target Swap.
systemd[1]: Starting Swap.
systemd[1]: Started Forward Password Requests to Wall Directory Watch.
systemd[1]: Starting Forward Password Requests to Wall Directory Watch.
[  OK  ] Reached target Paths.
systemd[1]: Reached target Paths.
systemd[1]: Starting Paths.
[  OK  ] Created slice Root Slice.
systemd[1]: Created slice Root Slice.
systemd[1]: Starting Root Slice.
[  OK  ] Listening on Journal Socket (/dev/log).
systemd[1]: Listening on Journal Socket (/dev/log).
systemd[1]: Starting Journal Socket (/dev/log).
[  OK  ] Listening on Syslog Socket.
systemd[1]: Listening on Syslog Socket.
systemd[1]: Starting Syslog Socket.
[  OK  ] Created slice System Slice.
systemd[1]: Created slice System Slice.
systemd[1]: Starting System Slice.
[  OK  ] Created slice system-getty.slice.
systemd[1]: Created slice system-getty.slice.
systemd[1]: Starting system-getty.slice.
[  OK  ] Created slice system-serial\x2dgetty.slice.
systemd[1]: Created slice system-serial\x2dgetty.slice.
systemd[1]: Starting system-serial\x2dgetty.slice.
[  OK  ] Listening on Journal Audit Socket.
systemd[1]: Listening on Journal Audit Socket.
systemd[1]: Starting Journal Audit Socket.
[  OK  ] Listening on udev Control Socket.
systemd[1]: Listening on udev Control Socket.
systemd[1]: Starting udev Control Socket.
[  OK  ] Listening on Journal Socket.
systemd[1]: Listening on Journal Socket.
systemd[1]: Starting Journal Socket.
systemd[1]: Starting Journal Service...
         Starting Journal Service...
systemd[1]: Started Bind mount volatile /var/lib.
systemd[1]: Mounting Debug File System...
         Mounting Debug File System...
systemd[1]: Started File System Check on Root Device.
systemd[1]: Starting Remount Root and Kernel File Systems...
         Starting Remount Root and Kernel File Systems...
[  OK  ] Listening on networkd rtnetlink socket.
systemd[1]: Listening on networkd rtnetlink socket.
systemd[1]: Starting networkd rtnetlink socket.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
systemd[1]: Listening on /dev/initctl Compatibility Named Pipe.
systemd[1]: Starting /dev/initctl Compatibility Named Pipe.
[  OK  ] Created slice User and Session Slice.
systemd[1]: Created slice User and Session Slice.
systemd[1]: Starting User and Session Slice.
[  OK  ] Reached target Slices.
systemd[1]: Reached target Slices.
systemd[1]: Starting Slices.
systemd[1]: Mounted Huge Pages File System.
[  OK  ] Listening on udev Kernel Socket.
systemd[1]: Listening on udev Kernel Socket.
systemd[1]: Starting udev Kernel Socket.
systemd[1]: Starting udev Coldplug all Devices...
         Starting udev Coldplug all Devices...
[  OK  ] Listening on Delayed Shutdown Socket.
systemd[1]: Listening on Delayed Shutdown Socket.
systemd[1]: Starting Delayed Shutdown Socket.
systemd[1]: Started Load Kernel Modules.
systemd[1]: Mounting Configuration File System...
         Mounting Configuration File System...
systemd[1]: Mounted FUSE Control File System.
systemd[1]: Starting Apply Kernel Variables...
         Starting Apply Kernel Variables...
systemd[1]: Mounted POSIX Message Queue File System.
systemd[1]: Starting Create list of required static device nodes for the current kernel...
         Starting Create list of required st... nodes for the current kernel...
[  OK  ] Mounted Debug File System.
systemd[1]: Mounted Debug File System.
[  OK  ] Mounted Configuration File System.
systemd[1]: Mounted Configuration File System.
[  OK  ] Started Remount Root and Kernel File Systems.
systemd[1]: Started Remount Root and Kernel File Systems.
[  OK  ] Started Apply Kernel Variables.
systemd[1]: Started Apply Kernel Variables.
[  OK  ] Started Create list of required sta...ce nodes for the current kernel.
systemd[1]: Started Create list of required static device nodes for the current kernel.
[  OK  ] Started udev Coldplug all Devices.
systemd[1]: Started udev Coldplug all Devices.
[  OK  ] Started Journal Service.
systemd[1]: Started Journal Service.
         Starting Load/Save Random Seed...
         Starting Create Static Device Nodes in /dev...
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Load/Save Random Seed.
systemd-journald[686]: Received request to flush runtime journal from PID 1
[  OK  ] Started Create Static Device Nodes in /dev.
         Starting udev Kernel Device Manager...
[  OK  ] Reached target Local File Systems (Pre).
         Mounting /tmp...
[  OK  ] Mounted /tmp.
[  OK  ] Reached target Local File Systems.
[  OK  ] Started Flush Journal to Persistent Storage.
         Starting Create Volatile Files and Directories...
[  OK  ] Started Create Volatile Files and Directories.
         Starting Network Time Synchronization...
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Started Network Time Synchronization.
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
platform soc:leds: Driver leds-gpio requests probe deferral
platform soc:keys: Driver gpio-keys requests probe deferral
[  OK  ] Found device /dev/ttyS0.
platform soc:leds: Driver leds-gpio requests probe deferral
platform soc:keys: Driver gpio-keys requests probe deferral
[  OK  ] Reached target System Initialization.
ff202000.serial: ttyJ0 at MMIO 0xff202000 (irq = 46, base_baud = 0) is a Altera JTAG UART
input: soc:keys as /devices/platform/soc/soc:keys/input/input1
[  OK  ] Listening on RPCbind Server Activation Socket.
         Starting Console System Startup Logging...
[  OK  ] Listening on Avahi mDNS/DNS-SD Stack Activation Socket.
[  OK  ] Listening on D-Bus System Message Bus Socket.
[  OK  ] Reached target Timers.
[  OK  ] Started Console System Startup Logging.
[  OK  ] Listening on sshd.socket.
[  OK  ] Reached target Sockets.
[  OK  ] Reached target Basic System.
[  OK  ] Started Atlas X11VNC server.
         Starting Atlas X11VNC server...
[  OK  ] Started Timestamping service.
         Starting Timestamping service...
         Starting LSB: Starts gatord...
[  OK  ] Started Start usb mass storage gadget.
         Starting Start usb mass storage gadget...
         Starting Avahi mDNS/DNS-SD Stack...
[  OK  ] Started System Logging Service.
         Starting System Logging Service...
[  OK  ] Started Periodic Command Scheduler.
         Starting Periodic Command Scheduler...
using random self ethernet address
using random host ethernet address
         Starting Connection service...
[  OK  ] Started Atlas SoC fftsw init.
Number of LUNs=8
Mass Storage Function, version: 2009/09/11
LUN: removable file: (no medium)
Number of LUNs=1
LUN: file: /usr/share/atlas-soc-usb-gadget/fat_image.img
Number of LUNs=1
usb0: HOST MAC 5e:2e:5a:42:93:28
usb0: MAC 4a:f9:21:8a:b6:22
g_multi gadget: Multifunction Composite Gadget
g_multi gadget: userspace failed to provide iSerialNumber
g_multi gadget: g_multi ready
dwc2 ffb40000.usb: bound driver g_multi
         Starting Atlas SoC fftsw init...
         Starting Network Time Service (one-shot ntpdate mode)...
[  OK  ] Started D-Bus System Message Bus.
gator: perf pmu: armv7_cortex_a9
gator: Adding cpu counters for ARMv7_Cortex_A9 with type 6
dwc2 ffb40000.usb: new device is high-speed
[  OK  ] Started Avahi mDNS/DNS-SD Stack.
         Starting D-Bus System Message Bus...
         Starting Network Service...
         Starting Login Service...
[  OK  ] Started Kernel Logging Service.
         Starting Kernel Logging Service...
[  OK  ] Started LSB: Starts gatord.
dwc2 ffb40000.usb: new device is high-speed
[  OK  ] Started Network Time Service (one-shot ntpdate mode).
[  OK  ] Started Network Service.
[  OK  ] Found device /dev/ttyGS0.
dwc2 ffb40000.usb: new address 1
[  OK  ] Started Connection service.
[  OK  ] Started Login Service.
g_multi gadget: high-speed config #1: Multifunction with RNDIS
[  OK  ] Reached target Remote File Systems.
         Starting Permit User Sessions...
[  OK  ] Reached target Network.
         Starting Samba NMB Daemon...
         Starting Lightning Fast Webserver With Light System Requirements...
         Starting Network Name Resolution...
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
[  OK  ] Started Permit User Sessions.
[  OK  ] Started Serial Getty on ttyS0.
         Starting Serial Getty on ttyS0...
[  OK  ] Started Serial Getty on ttyGS0.
         Starting Serial Getty on ttyGS0...
[  OK  ] Started Getty on tty1.
         Starting Getty on tty1...
[  OK  ] Reached target Login Prompts.
[  OK  ] Started Network Name Resolution.
[  OK  ] Started Lightning Fast Webserver With Light System Requirements.
         Starting WPA supplicant...
[  OK  ] Started Samba NMB Daemon.
         Starting Samba SMB Daemon...
[  OK  ] Started WPA supplicant.
[  OK  ] Started Samba SMB Daemon.
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
[  OK  ] Reached target Multi-User System.
         Starting Update UTMP about System Runlevel Changes...
[  OK  ] Started Update UTMP about System Runlevel Changes.
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)
IPv6: ADDRCONF(NETDEV_UP): eth0: link is not ready

.---O---.
|       |                  .-.           o o
|   |   |-----.-----.-----.| |   .----..-----.-----.
|       |     | __  |  ---'| '--.|  .-'|     |     |
|   |   |  |  |     |---  ||  --'|  |  |  '  | | | |
'---'---'--'--'--.  |-----''----''--'  '-----'-'-'-'
                -'  |
                '---'

The Angstrom Distribution atlas_sockit ttyS0

Angstrom v2014.12 - Kernel 4.0.0-altera

atlas_sockit login: stmmaceth ff702000.ethernet eth0: Link is Up - 100Mbps/Full - flow control off
IPv6: ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 1)
dwc2 ffb40000.usb: s3c_hsotg_start_req: ep5 is stalled
dwc2 ffb40000.usb: s3c_hsotg_ep_sethalt(ep be9c5690 ep5in, 0)


アスキーアートが潰れているので、下に貼っておく。
DE0-Nano-SoC_28_151021.png
  1. 2015年10月21日 03:37 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:0

”Atlas-SoC素晴らしいんじゃないの”をやってみる2

”Atlas-SoC素晴らしいんじゃないの”をやってみる1”の続き。

前回、Atlas-SoC のイメージを Micro SD カードのWrite して、USBをLAN接続するドライバをインストールし、Web ページを表示するところまでできた。

今回は、”Atlas-SoC素晴らしいんじゃないの”を参考に、そのWeb ページを堪能してみたい。

この画面はPlay をクリックしたところだ。Blink The LEDs をクリックした。
DE0-Nano-SoC_19_151020.png

Blink The LEDs が表示された。
DE0-Nano-SoC_20_151020.png

All On をクリックすると、8個あるLED のうちの一番左のLEDだけが点灯し、順番に右に点灯していく。見ているフラッシャーのようだ。
All Off は一番右のLED が消灯して、順次左のLED が消灯していく。
Blink は一番右のLED が最初について、左のLED が点灯していき、全部のLED が点灯したら、右のLED から消灯していく。フラッシャーのように見える。

Accelerometer はどうやるのか、よくわからなかった。

Fast Fourier Transform をやってみた。

FFTはSine Wave でやってみた。
DE0-Nano-SoC_21_151020.png

Data Source in HPS と Data Source in FPGA の2つの方法でFFT をテストしているようだ。それぞれ、FFT の大きさごとに評価している。Data Source in HPS では、256 データでは、CPU の方が速いがそれ以外はFPGA でやったほうが速いという結果だ。

その下に、Data Source in HPS と Data Source in FPGA のブロック図がある。
最初にData Source in HPS を下に示す。
DE0-Nano-SoC_22_151020.png

CPU Procesing は925MHzのDual Core CPUで SDRAM 上のRAM Disk 上からソースデータをCPU が読んできて、NEON コプロセッサを使った計算ライブラリを使ってFFT して、またRAM Disk に書き込むそうだ。

FPGA Processing は100MHz動作のFFT コアを使用しているそうだ。
FPGAを使ったFFT では、RAM Disk の内容をFFT 上のDMA がACP ポートを使用してRead し、FPGA上のFFT エンジンがFFT を行って、やはりACP ポートを使って、RAM Disk に書き込むそうだ。

次は、Data Source in FPGA を下に示す。
DE0-Nano-SoC_23_151020.png

CPU Procesing は925MHzのDual Core CPUを使用している。
FPGA 上のDMA コアがACP ポートを経由してRAM Buffer のデータをCPU に送り、CPUがFFT を行う。たぶん、NEON コプロセッサを使っているんだろう?

FPGA Processing は同様に100MHz動作のFFT コアを使用しているそうだ。
FPGA 上のRAM Buffer のデータをDMA がFFT エンジンに送って、FFT を行い、別のDMA がACP ポートを通して、SDRAM に書き込むそうだ。

ブロック図まで付いていて、構造がわかりやすい。面白い。
  1. 2015年10月20日 04:17 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:2

”Atlas-SoC素晴らしいんじゃないの”をやってみる1

Atlas-SoC素晴らしいんじゃないの”をやってみたいということでやってみた。

まずは、手元にあるのは、DE0-Nano-SoC で Atlas-SoC じゃないので、Atlas-SoC のSDカード・イメージをダウンロードした。
RocketBoard.org に Atlas-SoC Development Platform があるが、その Getting Latest SD Card Image から atlas_sdcard_v1.1.img.tgz をダウンロードした。

この atlas_sdcard_v1.1.img.tgz を Lhaplus で解凍するときちんと解凍できなかったので、Cygwin を起動して、tar zxvf atlas_sdcard_v1.1.img.tgz で解凍することをお勧めする。(Windows 7 です)
そうすると atlas_sdcard_v1.1.img が解凍できた。
DE0-Nano-SoC_18_151019.png

新品の Class 10 の 8 GB Micro SD カード(4GBでも Class 4 でも良さそう)を SD Card Reader/Writer に入れて、パソコンに接続した。

まずは、SDFormatter でフォーマットしないと Win32 Disk Imager でイメージを書くことが出来なかった。
SDFormatter でフォーマットした。
DE0-Nano-SoC_4_151018.png

次に、Win32 Disk Imager を立ちあげて、atlas_sdcard_v1.1.img を選択した。
DE0-Nano-SoC_3_151018.png

Write ボタンをクリックして、イメージをMicro SD カードにWrite した。その際に、書き込むMicro SD カードかどうか必ずチェックすること。
イメージのWrite が始まった。
DE0-Nano-SoC_5_151018.png

イメージのWrite が終了すると、Windows に Micro SDカードのドライブが認識された。
DE0-Nano-SoC_6_151018.png

VirtualBox 上のUbuntu 14.04 にMicro SDカードをマウントすると、2つのドライブが見えた。やはり、Root File System がある。
DE0-Nano-SoC_7_151019.png

UART と USB OTG のUSBケーブルをパソコンに接続した。
FPGA Configuration Mode Switch (MSEL[4:0]) = 01010 (ON OFF ON OFF ON OFF)と設定した。
Micro SDカードを、DE0-Nano-SoC に入れて、電源ONした。

シリアルポートに Tera Term で接続すると、Linux が起動しているのが見えた。
DE0-Nano-SoC_8_151019.png

USB OTG の方は、パソコンがドライバを検索していたが、2つほど入らなかった。
DE0-Nano-SoC_9_151019.png

ドライバは2 つ入らなかったが、ドライブがマウントされた。
DE0-Nano-SoC_10_151019.png

フォルダを見ると、start.htm があるので、ダブルクリックした。
DE0-Nano-SoC_11_151019.png

すると start.htm が立ち上がった。
DE0-Nano-SoC_12_151019.png

ドライバをインストールしろと書いてあった。
G:\Drivers\Windows の下にある ATLAS_D64.exe をダブルクリックしてインストールした。(Windows 7 64 ビット版)
DE0-Nano-SoC_13_151019.png

デバイス・ドライバのインストールが始まった。
DE0-Nano-SoC_14_151019.png

途中で、Linux Developer Community ネットワーク アダプターをインストールするか聞いてくるので、インストールボタンをクリックする。
DE0-Nano-SoC_15_151019.png

デバイス・ドライバのインストールが終了した。
DE0-Nano-SoC_16_151019.png

192.168.7.1 を見ると、ATLAS-SoC のページが表示されていた。
DE0-Nano-SoC_17_151019.png

  1. 2015年10月19日 04:58 |
  2. DE0-Nano-SoC
  3. | トラックバック:0
  4. | コメント:0
»