LoginSignup
7
9

More than 5 years have passed since last update.

PYNQ-Z1を始めます2

Last updated at Posted at 2018-03-16

PYNQ-Z1全然触っていませんでした。。。

前にPYNQ-Z1を始めますという記事を書いたんですが、
それ以降全然PYNQを触っていませんでした。(時間がなかったというのはただの言い訳)

そうこうしているうちに転職したりして、手元にWindowsPCがなくなっちゃったりしたので、
心機一転Macで開発していくことを書くことにしました。

ただFPGAプログラミング大全 Xilinx編とか買ったりしてみたんですが、
開発ツールがWindowsかLinuxしかないというね。。。
これは後で何とかするとして、とりあえずPYNQをPYNQらしく使うことから始めようかと。

それではセットアップ。

またセットアップしちゃいます。Macで。

このページは押さえておいた方がいいですね。
PYNQ - Python productivity for Zynq - Home
ここのGetting Startedを読むととりあえずのことはできるようになっています。

イメージをダウンロード。

思った通りイメージが新しくなっていますね。2018/03/16時点で2018/2/21 Releaseでした。
1.2GBあるので、コーヒーでも飲みながら待ちます。:coffee:
ファイル名はpynq_z1_v2.1.img.zipでした。

イメージをmicroSDカードに書き込む。

ダウンロードしたイメージをunzipして、microSDカードに書き込みます。
前も書きましたがmicroSDはFAT32でフォーマットする必要があります。手順は

  1. diskutilでmicroSDのフォーマットをする。ディスクユーティリティで見えてないパーティションもあるので要注意。
$ diskutil list # デバイスファイルを確認。external, physicalって書いてあると思う。
/dev/disk3 (external, physical):
   #:                       TYPE NAME                    SIZE       IDENTIFIER
   0:     FDisk_partition_scheme                        *15.6 GB    disk3
   1:                 DOS_FAT_32 UNTITLED                104.9 MB   disk3s1
   2:                      Linux                         15.5 GB    disk3s2
# disk3s2がディスクユーティリティでは見えてなかった。

$ diskutil eraseDisk FAT32 PYNQ MBR /dev/disk3 # PYNQとか付けてもあとで上書きされる。
Started erase on disk3
Unmounting disk
Creating the partition map
Waiting for partitions to activate
Formatting disk3s1 as MS-DOS (FAT32) with name PYNQ
512 bytes per physical sector
/dev/rdisk3s1: 30518128 sectors in 1907383 FAT32 clusters (8192 bytes/cluster)
bps=512 spc=16 res=32 nft=2 mid=0xf8 spt=32 hds=255 hid=2 drv=0x80 bsec=30547966 bspf=14902 rdcl=2 infs=1 bkbs=6
Mounting disk
Finished erase on disk3

2. ddコマンドでイメージを書き込む。

デバイスファイルが/dev/disk3の時
$ diskutil unmountDisk /dev/disk3
Unmount of all volumes on disk3 was successful
$ sudo dd bs=1m if=pynq_z1_v2.1.img of=/dev/rdisk3 # disk3s1とかしてハマった。。。rについては後述。
Password:
4719+1 records in
4719+1 records out
4948463616 bytes transferred in 461.288801 secs (10727474 bytes/sec)

また時間がかかるのでドーナツでも食べながら待ちます。:doughnut:
ちなみにddする時に/dev/disk3s1を/dev/rdsik3にすると早くなるらしい。知らなかった。
以下はdisk3(rなし)でやった結果。

rなしでdd実行
sudo dd bs=1m if=pynq_z1_v2.1.img of=/dev/disk3
4719+1 records in
4719+1 records out
4948463616 bytes transferred in 653.400986 secs (7573395 bytes/sec)

まぁ確かに早いといえば早い。。か。。。約30%減。

ボードのセットアップ。

ジャンパーピンとかなんとかのセットアップをします。
詳細はGetting Startedを参照。
ただし、この日のためにACアダプタを買ったので、
JP5/PowerはUSBではなくて、REGにしています。
PYNQで使えるACアダプタのコネクタ形状は、外径5.5mm/内径2.1mmみたいです。(これがわからなくて苦労した。)

xilinxのサイトには7V-15Vって書いてったので、12V1Aのものを買ってみました。
ACアダプター 12V 1A スイッチング式 最大出力12W 出力プラグ外径5.5mm(内径2.1mm)PSE取得品
今見たらセールで680円になってる・・・。800円で買ったのに。。。

あとはまずシリアル接続をしてみるので、Ethernetはあとでつなぎます。逆にUSBは繋いでおきます。電源はアダプタだけど。

電源を入れる。

ここまで準備出来たら電源ONです。
起動するとLD13が赤く光ったり、LD12が緑に光ったりします。
その後はLD4と5が光ったり、LD0-3がチカチカしたりして、LD0-3が点灯したら起動OKです。

シリアル接続で見てみる。

macでserial接続する時はscreenコマンドを使います。
Getting StartedのOpening a USB Serial Terminalに色々書いてあります。

$ ls -1 /dev/tty.usbserial*
/dev/tty.usbserial-00001214A
/dev/tty.usbserial-00001214B # こちらを使います。名前は環境により異なります
$ screen /dev/tty.usbserial-00001214B 115200 # ボーレートは115200です。
# 一回enterを押すとプロンプトが返ってきます。
xilinx@pynq:~$ 

screenコマンドを終了するときは、control + a -> kのあと、
Really kill this window [y/n]と聞かれるのでyで答えます。
あとこの状態でsudo rebootをすると起動状況が見えます。デフォルトのパスワードはそのままxilinxです。

前はあったupdate_pynq.shがなくなっています。。。
一体どうやってupdateすれば。。。

ネットワークに繋ぐ。

ネットワークに繋がないとJupyter Notebookに繋がらないので、ethernetに繋ぎます。
なぜこれの前にシリアル接続をするかというと、DHCPでどのIPが取ったのかわからないからです。

ethernetを繋いだらifconfigを実行して、IPアドレスを確認してください。
そうすれば、PYNQにどのIPアドレスが割り振られたかわかると思います。

Jupyter Notebookにアクセスする。

ブラウザでhttp://<さっき調べたIPアドレス>:9090にアクセスすると、
ログイン画面が表示されます。デフォルトのパスワードは先程同様xilinxです。

上位階層にWelcome to Pynq.ipynbなるものがあって、
まずはgetting_startedから始めたら良いのかなと思うので、今度はそれをやっていこうかと思います。

7
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
9