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の構成設定画面。マウスでポチポチしながら構成を設定できるのは楽しい。中央にあるインターコネクトは自動で配置された。おそらく、外部ブロックを複数指定すると自動的に配置されるのだと思う。
- Zynqで Hello Worldが動作したの図
- HelloWorldが出ないなーと思っていたら、デバッグ時に、STDIOをUARTにくくりつけなければいけないらしい。設定部分。
動作中のZynq。まあCortex-A9しか殆ど動いてないけど。