Zynqberryで公式Debianを動かしてみる
どうも,まるさ@maruuusa83です.
なにかボードを振り回したい
なんかRasPiとかArduinoとか流行りのアイテムって,買うだけ買って放置しちゃう系なので, たまにはちゃんと使いたいなあなんておもいます.
というわけで,最近研究がら使えるようになったZynqberryをとりあえず動かせるようにします.
Zynqberryってなんだ
トレンツエレクトロニック社が作っているシングルボードコンピュータ的なやつです.
Raspberry Pi2互換で,SoCにZynq XC7Z010を積んだボードです.
なぜだかBoot ModeがQSPIモードに固定されているので,Linuxを起動するにはそれらしいブートローダを 内蔵のフラッシュに書き込む必要があります.
最初が大変.
Zynqberryってこんなの
でも日本語のチュートリアルもあるのでちょっぴり安心.
とりあえずSDにイメージを焼く
ここからは,チュートリアルの内容に基いて進めていきます. 筆者なりに内容をまとめなおしていますが,基本的にはチュートリアルと変わらないことを書いています.
トレンツのサポートから必要な諸々を落としてきます.
http://www.trenz-electronic.de/download/d0/Trenz_Electronic/d1/TE0726/d2/Reference_Design.htmlwww.trenz-electronic.de
次のものを落としてください.
- Debian 8.4 > SD Content > image.ub
- Debian 8.4 > SD Content > system.dtb
- Debian 8.4 > SD Image > zynq-debian.img
zynq-debian.img
をWin32DiskImagerとかで適当なmicro SDに焼きます.
2GBしか消費しないのであまり大きくないmicro SDで大丈夫です.
diskmgmt.mscで見た様子
Windowsではリムーバブルドライブの類は先頭のパーティションしか見えませんから,11MBくらいのドライブに見えます.
ここに先ほど落としてきた残りのimage.ub
とsystem.dtb
を置いてください.
これでSDの準備は完了しました.
内蔵Flashにu-bootを突っ込む
ZynqではいくつかBoot Modeがあります.が,なぜかZynqberryではQSPIモードに固定されているので,ブートさせたいソフト は必ず内蔵のSPIフラッシュメモリに置く必要があります.
このフラッシュは,USBで繋いだらFAT32のディスクに見えるとかそういう便利な機能はついてないので,がんばって書き込む 必要があります.
今回はLinuxを動かしたいので,フラッシュにブートローダを置いてあげる必要があります.
とりあえず先ほどのページからブートローダとリファレンスデザインを持ってきます.
- Debian8.4 > Flash > BOOT.bin
- 2016.2 > test_board > te0726-test_board-vivado_2016.2-build_xxxxx.zip
zipを展開するとtest_board
フォルダができます.
test_bard/prebuilt/boot_images/te0726-m
の下にu-boot-debian
フォルダを作って,その中にBOOT.bin
を置いてください.
test_board
直下のdesign_basic_settings.cmd
を編集します.
- @set VIVADO_VERSION=2016.2 + @set VIVADO_VERSION=2016.3 - @set PARTNUMBER=LAST_ID + @set PARTNUMBER=3 - @set SWAPP=NA + @set SWAPP=u-boot-debian
お察しの通り,フラッシュの書き込みにVivadoを要求してきます.
もしVivadoが入ってないのであれば,インストールする必要があります.
設定が完了したので,同じくtest_board
直下のprogram_flash_binfile.cmd
を実行します.
ありれ,なにやらエラーが.
Booting from configuration memory device unsuccessful
なんか書き込みが止まってしまいます.
色々試してみましたが,どうも同じところで止まってしまいます.
仕方がないので,とりあえず無視してTeraTermでつないで,SDを挿して再起動してみました.
すると・・・
ブートするじゃないか
ログインして色々調べる
なんかよくわからないエラーがありましたが,無事Debianがブートしました(笑) Vivadoが2016.2じゃないことが原因でしょうか・・・
Baud rateを115200
でシリアルで接続して,最初に作ったSDを挿してZynqberryを再起動すればアクセスできます.
root/rootでログインできました.ちょっと色々みていきます.
なんかこの時点で既にボードがほくほく温かいです.
ネットワークとか
LANのケーブルつないで,とりあえずifconfig
してみる.
ifconfigの結果
普通にDHCPでIPもらってきてますね.すばらしい.
というかシリアルで接続できるとディスプレイ用意しなくてもネットワーク設定できて最高ですね!!!!!
CPUとかメモリとか
nproc
,cpuinfo
,meminfo
を見てみました.
上からnproc
-cpuinfo
-meminfo
あっクロック出ないのか・・・
トレンツのチュートリアルでは次のように言っているけど,こんなに遅いの?ほんと?
PS(CPU部分)のクロックは33.3333MHzですが、PLへはボード上ではクロックが接続されていないので、PLを動作させるにはPSが動作して、内部でFCLKをもらう必要があります。
参考になるかわかりませんが,ウチのi3-4130@3.40GHzのBogoMIPSは6799.62でした.
メモリはきちんと512MB全部みえるみたいですね.
/devのなかみ
どんなデバイスがいるのか覗いてみました.
ls /dev
の結果
おっ,xdevcfg
がいますね.ということはPLのコンフィグ用のドライバが入っているってことかな?
あとで実験してみたいですね.
というわけで,ZynqberryをLinuxとして動くようにするまでやってみました.
これから少しずつ色々やってみようと思います.
ZedBoardとかより全然楽カモ
それでは
今回はこのへんで ノ
まるさ