最終更新日 平成26年5月12日
RXduinoは、特電HALというライブラリとセットで構成されています。
特電HALはC言語のライブラリで、Arduinoの言語仕様をCで記述したようなライブラリです。Cで書かれているため、C++版のRXduinoよりもコンパクトです。
簡単に言えば、RXマイコンのI/Oにアクセスする手段をArduinoのAPI風に提供したC言語のライブラリです。
RTOSなどと組み合わせて使う場合で、C++で書かれたArduino風の記述が邪魔になる場合には特電HALをお使いいただくと良いかもしれません。
RXduinoは、特電HALの関数をC++で薄くラッパしたもので、Arduino互換のAPIを提供します。
これを使うとArduino風スケッチでプログラミングができるようになります。
Arduinoとの違いは大きくわけて2つあります。
本家Arduinoは、HALとC++のライブラリの区別がなく一体化していて、C++のファイルの中に低レベルなI/O操作が直接書かれています。そのため、ArduinoのコードをコンパイルするにはC++コンパイラが必須でした。
組み込みの分野ではC++ではなく、Cで開発したい場合も多くあります。プログラムが開始するときにSetup()ではなくmain()から始まってほしいという場合もありますし、関数名が修飾されたり、見えないところでデストラクタが動くのを嫌がるケースもあります。
RXduinoはHALとRXduinoの部分が完全に独立していますので、HALの部分だけを使って、ほとんど同じようなプログラムをC言語で開発することができます。
RXduinoと特電HALには本家Arduinoのコードは含まれておらず、ゼロから書き上げたいわゆる車輪の再発明です。そのため、GPLやLGPLには縛られません。
本家ArduinoではGPLやLGPLというオープンソースなライセンスが採用されているため、産業用途では使いにくいという問題もありました。RXduinoにはそのような強制的なソース公開の規約はなく、お客様の製品に組み込んでもソースコードを開示する必要はありません。
必要な方にはソースコードを提供するためのしくみも現在考案中です。
C++ではなく、main()から始まるプログラムをC言語で記述したい場合、特電HALをお使いください。
Arduinoスケッチ風にプログラムを書きたい場合はRXduinoをお使いください。
どちらも、できることはほぼ同じです。
現在サポートされている機能は以下のようなものがあります。
■ スタートアップ ■ 基本的なArduino構文 ■ GPIOの操作 ■ タイマ ■ 時間の計測 ■ tone関数 ■ アナログ・デジタル変換 ■ デジタル・アナログ変換 ■ 内蔵温度センサ ■ PWM ■ シリアル通信 (SCI0,1,2,3,6)
|
■ USBファンクション ■ USBホスト ■ 内蔵時計(RTC) ■ I2C通信 ■ SPI通信 ■ キャラクタ液晶 ■ 内蔵フラッシュメモリ ■ MMC(SD)カード ■ イーサネット ■ サーボモータ ■ ステッピングモータ |
コンパイルには、GCCならびに、HEWがご利用いただけます。
特殊電子回路ではRXduinoライブラリ(ソフトウェア)と、リファレンスボード(RXマイコン評価ボード)の両方を販売しています。
RXduinoの今後の開発ロードマップについてはこちらをご覧下さい。
RXduinoのライセンスについて詳しくはこちらをご覧ください。
RXduinoや特電HALを使った場合、HEWなどの環境で一からプログラムを組む場合とくらべて、次のようなメリットがあります。
ArduinoはGPLでライセンスされているので、Arduinoのスケッチを作った場合はお客様のプログラムもGPLとして公開しなければなりませんでした。
それに対して、RXduinoはGPLではありません。特殊電子回路がゼロから作り上げたライブラリなので、お客様の知的財産をGPLのもとで公開しなくてもよくなります。Arduino風の使いやすいライブラリで作ったプログラムを秘匿したまま、製品に組み込んでいただくことができます。
LGPLのライブラリも同様で、リンクするプログラムはリバースエンジニアリングの禁止を盛り込んではいけないなどの制約があります。
GR-SAKURA用の桜ライブラリは、RXduinoのサブセットです。桜ライブラリは、がじぇっとるねさすのGR-SAKURAボードで使うことを前提としていて、ルネサスWebコンパイラを利用した場合にのみご利用いただけます。また、桜ライブラリには一切のサポートや保証はありません。バグフィックスの提供の保証もありません。ソースコードの提供もありません。
RXduinoは、開発元である特殊電子回路からのサポートとソースコードの提供があります。