FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

ZedBoardでHello World

ZedBoardを触り始めた。まずは一番最初のチュートリアル(LinuxっぽいのがUARTで立ち上がってLEDとか光らせたりSWの値を読み取ったりするやつ)は何もせずに動いたので、さっそくHello Worldをやってみた。

HelloWorld、というか ARMの部分が動かしてみたかったので、とりあえずチュートリアルの言う通りに設定をしていった。参考にしたのはこれ。

http://www.ece.unm.edu/~jimp/codesign/Vivado/VivadoHelloWorldTutorial.pdf

今思えばZedBoardのちゃんとしたチュートリアルの方をやればよかった。こっちな。

http://zedboard.org/content/zedboard-ctt-vivado-20142

これって、ARMを使うためにPL(Programmable Logic)部をいじる必要はあるのかな?きっと無いよね。 当面、CoremarkとかでCortex-A9の部分とかの性能測定もやってみたいので、いちいちProgrammable Logicの部分をつくるのは面倒くさい (それだったら最初からLinuxを載せろ、という話かもしれないが)。

だれかZedBoard でCoremarkを測定した人はいないのかね?と思ってググってみたら、実際にやっている人がいた。

Zynq design from scratch. Part 15. « New Horizons Zynq Blog

あれ?Cortex-A9って3.0を下回るくらいなんだっけ?と思ってEEMBCを調べてみたらそんなもんか。

EEMBC -- The Embedded Microprocessor Benchmark Consortium

ARMのオフィシャルな値なのでそんなもんか。それなら制御マイコンの方が性能自体はいいな(まあその分Cortex-A9は周波数が出るので致し方ないか)。

話を戻して、ZedBoardからHello Worldを出力できた。たぶん詳細は他のウェブページを調べたほうが詳しいと思う。SDKは一番新しい2014をインストールして、WebPackから独立して立ち上げたが、いろいろとはまってしまった。

  • Zynqの構成設定画面。マウスでポチポチしながら構成を設定できるのは楽しい。中央にあるインターコネクトは自動で配置された。おそらく、外部ブロックを複数指定すると自動的に配置されるのだと思う。

f:id:msyksphinz:20150203021051j:plain

f:id:msyksphinz:20150203021058j:plain

  • HelloWorldが出ないなーと思っていたら、デバッグ時に、STDIOをUARTにくくりつけなければいけないらしい。設定部分。

f:id:msyksphinz:20150203021105j:plain

動作中のZynq。まあCortex-A9しか殆ど動いてないけど。

f:id:msyksphinz:20150203020955j:plain