まずはテンプレートのプログラムを利用して、LEDの点滅に挑戦です。
mbed.orgの「Compiler」ページ左上にある「New」をクリックすると新規プログラムを作成できます。すると図6のようなダイアログボックスが表れます。Platformは「Renesas GR-PEACH」を選択してください。その下のTemplateはLEDの点滅プログラムを作るのでこのままで結構です。次のProgram Nameはこのプログラムにつける名前ですが、「mbed_blinky」は既にあったので「mbed_blinkyGR2」としました。
するとProgram Workspaceの中にmain.cppとmbedライブラリが生成されるのですが、このmbedライブラリを一度削除します(図7)。その代わりにmbed-srcをインポートします。
次に「Import」をクリックし「library」のペインに切り替えます。するとリストが現れますのでその中からmbed-srcを選択しクリックします(図8)。すると先ほど作成したProgram Workspaceの中にmbed-srcが取り込まれます。これはβ版でのみ必要な作業かどうか分かりませんが、あらかじめビルドされたライブラリではなく、ライブラリは一度ソースからコンパイルする必要があるようです。
それではmain.cppのソースの中身を見てみましょう(図9)。
まず3行目でDigitalOutクラスのインスタンスをmyledという名前で生成しています。このインスタンスはLED1という名前のGPIOポートとひも付けられています。Mainプログラムの中には永久ループがあり、その中ではmyledの値を1に設定して0.2秒ウエイト、myledの値を0に設定して0.2秒ウエイトを繰り返しています。もしこのLED1というGPIOポートに発光ダイオードが接続されているならば、0.4秒間隔で点滅を繰り返すものと想像ができます。
それでは実際にコンパイルしてGR-PEACHに書き込んでみましょう。テンプレートは全く書きかえていないのでコンパイルでエラーが出ることはないでしょう。コンパイルが通れば生成されたバイナリファイルがPCに自動的にダウンロードされます。
次にGR-PEACHとPCをUSBでつなぎます。GR-PEACHには2つUSBポートがありますが、mbedで生成したバイナリを書き込むときは外側のポートにつなぎます。ケーブルはスマートフォンなどで多く使われるmicroUSBケーブルが利用できます。するとPC側で“MBED”という名前のマスストレージとして認識されます。
そこに図10のようにブラウザのダウンロードウィンドウにあるファイルを「MBED」にコピーします。コピーが完了するとMBEDのフォルダーは一度閉じます。このタイミングでGR-PEACHのリセットボタンを押せば、図のように先ほど書き込んだプログラムを実行します。
ちなみにリセットボタンは外側のUSBコネクタ近くにある白いボタンです。GR-PEACHの基板上にはRGB LEDが配置されており、LED1は赤色LEDにひも付けられています。ただ論理が逆になっていますので、myledに0を書き込まないとLEDが点灯しません。
今回紹介したサンプルプログラムだけではGR-PEACHの実力全開というところまでは見ることはできませんでしたが、mbedの開発環境がCortex-Aシリーズでも同様に利用できることがお分かり頂けたかと思います。これはmbedに蓄積されたさまざまなライブラリやプログラムなどのソフトウエア資産を、さらに強力なCortex-Aシリーズ搭載ボードへ受け継ぐことが可能ということです。
一方で、Cortex-Aシリーズならではの強力な数値演算命令やRZ/A1Hに備わったビデオIPコアやオーディオIPコアがmbedから使えるライブラリ群の充実が強く望まれます。そうなれば今までのCortex-Mシリーズでは実現が難しかったビデオ系などでの応用範囲がさらに広がるものと期待できます。
GR-PEACHは世界初のCortex-Aシリーズ搭載mbedプラットフォームだけに、このボードが業界のリファレンスになれるよう期待をこめてウオッチし続けていきたいと思います。GR-PEACHの動向やトピックについては、今後も読者の皆さんと共有していければと思います。
Copyright © ITmedia, Inc. All Rights Reserved.