製品情報

技術情報

RXduinoについて

インデックス

 ボード図面

 クイックスタート

 主な仕様

 GCCの使い方

 ダウンロード

 RXduinoについて

 Webコンパイラ

 JTAG ICE

 注文情報

 ご注意

 

関数リファレンス

 特電HAL

 RXduino

 デバイスライブラリ

 

サンプルコード

 サンプルコード集

 

 

RXduino(アールエックスデュイーノ)とは

RXduinoとは、RXマイコンでフィジカルコンピューティングを行うための開発環境です。

Arduinoのように手軽にRX62NマイコンのペリフェラルやI/Oを操作し、アプリケーションを作ることができます。

 

Rxduinoは、RXマイコンのハードウェアアクセスを抽象化したペリフェラルドライバと、

Arduino互換のC++クラス群、スタートアップルーチンなどから構成されるライブラリです。

現在、Arduinoで提供されているクラスを独自に移植する作業を行っていて、

統合開発環境やクラウドコンパイル環境も開発中です。

 

このRXduinoライブラリを使うことで、お客様はとても簡単にプログラムを作ることができるようになります。

また、RXduinoのプログラムをコンパイルするのは、とても簡単です。

コンパイラにはフリーソフトウェアの(無料)のGNU C Compilerが使用できるほか、

インストール不要のWebコンパイラもご用意しています。

 

特電HALとRXduino

RX62Nの内蔵ペリフェラルを使うには非常にたくさんのレジスタを設定しなければなりません。

ハードウェアマニュアルを読んでレジスタを設定するのは一苦労です。特にモジュールスタンバイレジスタとポートレジスタは非常に難解です。

 

そこで、様々な内蔵ペリフェラルを簡単に使えるようにラッパしたものが特電HALです。

内蔵ペリフェラルが、sci_puts("hello");のように直感的でわかりやすい簡単な関数で使えるようになります。

 

特電HALをさらに使いやすくするために、C++のラッパをかぶせたものがRXduinoです。

RXduinoは、Arduino互換のインタフェースを提供しています。

 

 

特電HALや、RXduinoを使うことで、RX62Nの内蔵ペリフェラルの設定を気にすることなく、簡単に開発することができるようになります。

RXduinoや特電HALの解説は下記のページに準備しています。

 RXduino APIの説明書

 特電HAL APIの説明書

 デバイスライブラリの説明書

 さまざまな応用例(サンプル・コード)

 

一番簡単なアプリケーション作成方法(Webコンパイラ)

最も簡単なアプリケーション作成方法は、Webコンパイラを使うことです。無料でご利用いただけます。

右のようなWebの画面上でソースコードを記述し、
「コンパイル実行ボタン」を押すだけで、ELFファイルや、ROM化用のMOTファイルが得られます。

また、メモリマップや逆アセンブルリストの閲覧もWebの画面の中から行えます。

 

Webコンパイラは便利ですが、ローカルPCでコンパイルしたい方は、下記のRXduinoライブラリと、RX-ELF-GCCをダウンロードしてコンパイルすることもできます。


RXduinoライブラリの入手方法

次のいずれかのアーカイブをダウンロードして、展開してください。

 RXduinoと特電HAL(実行環境とライブラリ) (無償)

 RXduinoと特電HAL (ソースコード付) (サポート付きのお客様のみ利用可)

 

ソースコード付きのほうは、RX-MEGAをサポート付きでお買い上げいただいた方のみ、ご利用いただけます。

「実行環境とライブラリ」のほうは、Spartan-6やMITOUJTAGなどご利用の当社のお客様がご利用いただけます。

 

CygwinやLinuxにログインしたらそのディレクトリに移動し、userapp.cppを編集し、make と打つだけです。

 

RXduinoアーカイブのディレクトリについて

RXdunoのアーカイブを解凍すると、次のようなディレクトリが復元されます。

 

lib --+ 各種のスタティックライブラリ(*.a)が納められています
      +- libfatfs.a RX-ELF-GCC用に移植されたFatFSライブラリです
      +- libliquidcrystal.a キャラクタ液晶ライブラリです
      +- libnokialcd.a Arduino用のNokiaLCDライブラリです
      +- liboled.a MARY拡張基板のOLEDライブラリです
      +- librxduino.a RXduinoライブラリです
      +- libtkdnhal.a 特電HALライブラリです
      +- start.o スタートアップコードです
      +- fatfs/ RX-ELF-GCC用に移植されたFatFSのソースです
      +- liquidcrystal/ キャラクタ液晶ライブラリのソースです
      +- nokialcd/ Arduino用のNokiaLCDライブラリのソースです
      +- oled/ MARY拡張基板のOLEDライブラリのソースです

sample --+ 各種のサンプルアプリケーションが納められています
      +- adc RX62Nの内蔵ADCの操作サンプルです
      +- AE-GYRO-SMD 秋月電子の圧電振動ジャイロの動作サンプルです
      +- common 割り込みベクタなど共通して使われるものが入っています
      +- ethercapture イーサネットの通信をキャプチャしてダンプします
      +- fatfs SD/MMCカードの動作サンプルです
      +- gpio_hal HAL経由でGPIOを叩くサンプルです
      +- gpio_rxduino RXduino経由でGPIOを叩くサンプルです
      +- KXM52 加速度センサKXM52の動作サンプルです
      +- liquidcrystal キャラクタ液晶の動作サンプルです
      +- math_and_printf printfや数学関数を使うサンプルです
      +- nokialcd ArduinoのNokiaLCDに長方形をいっぱい描くサンプルです
      +- oled MARYのOLED基板に長方形をいっぱい描くサンプルです
      +- rtc RX62Nの内蔵RTCの動作サンプルです
      +- serial_hal HAL経由でシリアルポートにアクセスするサンプルです
      +- serial_rxduino RXduino経由でシリアルポートにアクセスするサンプルです

include -+ インクルードファイルが納められています
      +- lib 各種ライブラリのインクルードファイルが納められています
      +- rxduino RXduinoのインクルードファイルが納められています
      +- tkdnhal HALのインクルードファイルが納められています

core --+ RXduinoや特電HALのソースコードです
      +- rxduino RXduinoのソースコードが納められています
      +- tkdnhal HALのソースコードが納められています

 

ユーザアプリケーションの作成方法

まず最初に、RXduinoアプリにするか、特電HALアプリにするかを決めます。

RXduinoアプリはC++で、特電HALアプリはCで記述しますが、特電HALアプリをC++で記述することもできます。

また、RXduinoアプリから特電HALの関数を呼び出すこともできるので、難しく考える必要はありません。

迷ったらRXduinoアプリにして、拡張子をcppにしてください。

 

MAKEファイルで簡単に作る方法【推奨】

RXduinoまたは特電HALアプリを作るのはとても簡単です。次の手順で行います。

 

? アーカイブを解凍したディレクトリに移動します。

? そのディレクトリのトップに、userapp.cまたはuserapp.cppという名前でメインプログラムを作ります。

? コンパイルするには、makeとタイプします。

? 作ったプログラムをROM化するには、make romとタイプします。

? 出来上がったuserapp.elfが、RX62Nに書き込むべきファイルです。

 

コンパイルするときの様子を次の図に示します。

(クリックで拡大)

 

プログラムの雛形にはサンプルコード集を活用してください。

 


カスタマイズして特電HALアプリを作る場合(上級ユーザ向け)

通常は必要ありませんが、各部をカスタマイズしたい場合には下記のようにしてください。

ユーザプログラムの先頭で、tkdn_hal.hをインクルードしてください。

#include <tkdn_hal.h>

 

プログラムは通常のプログラムと同じく、int main()から開始します。

コンパイルは、次のコマンドで行います。

 

rx-elf-gcc -Wall -g -I./include/tkdnhal -c $(TARGET).c -o $(TARGET).o

 

デバイスライブラリ(液晶やOLED、SDカードのこと)を使う場合は

-I./include/lib

を追加してください。

 

リンクはコマンドが大変長くなります。

 

rx-elf-ld -Map $(TARGET).map lib/start.o sample/common/intvect.o $(TARGET).o lib/libfatfs.a lib/libliquidcrystal.a lib/libnokialcd.a lib/liboled.a lib/libtkdnhal.a -T sample/common/rx62n_ram_standalone.ld -L/usr/local/tkdn-20110720/rx-elf/rx-elf/lib -L/usr/local/tkdn-20110720/rx-elf/lib/gcc/rx-elf/4.6.1  -L./ -lstdc++ -lsupc++ -lc -lsim -lgcc -lm -nostartfiles -o $(TARGET).elf

 

このように長いのでmakefileを活用してください

また、上記のコマンドで $(TARGET) となっているところはユーザが作成するアプリケーションの名前に置き換えてください。

 

カスタマイズしてRXduinoアプリを作る場合(上級ユーザ向け)

通常は必要ありませんが、各部をカスタマイズしたい場合には下記のようにしてください。

ユーザプログラムの先頭で、rxduino.hをインクルードしてください。

#include <rxduino.h>

 

プログラムはsetup()から始まり、loop()を繰り返します。

コンパイルは、

 

rx-elf-gcc -Wall -g -I./include/rxduino -I./include/tkdnhal -c $(TARGET).cpp -o $(TARGET).o

 

で行います。デバイスライブラリを使う場合は

-I./include/lib

を追加してください。

 

リンクはコマンドが大変長くなりますので、makefileを活用してください。

 

 

rx-elf-ld -Map $(TARGET).map lib/start.o sample/common/intvect.o lib/libfatfs.a lib/libliquidcrystal.a lib/libnokialcd.a lib/liboled.a lib/librxduino.a $(TARGET).o -T sample/common/rx62n_ram_standalone.ld -L/usr/local/tkdn-20110720/rx-elf/rx-elf/lib -L/usr/local/tkdn-20110720/rx-elf/lib/gcc/rx-elf/4.6.1  -L./ -lstdc++ -lsupc++ -lc -lsim -lgcc -lm -nostartfiles -o $(TARGET).elf

 

特電HALのときと似ていますが、lib/librxduino.aに置き換わっています。

さらに、もっと簡単にコンパイルできるよう、統合開発環境も準備しています。

 

統合開発環境

RXduinoの統合開発環境には、Arduinoのものと同様のツールを準備しています。(準備中)

Microsoft Windowsと、MAC OSXで動作する予定です。

 

 


Copyright(C) 2011 TokushuDenshiKairo Inc. All rights reserved.