製品情報
技術情報
- JTAG技術情報
- Artix-7技術コラム
- ArtixのQ&A
- USBを使う
- USB APIの使い方
- USB 3.0プログラムの作成方法
- 書き込みツール
- DDR3の使い方
- MicroBlazeを使う
- MITOUJTAGチュートリアル
- 基本的な使い方
- 便利な使い方
- トラブルシュート
- Windows7でMITOUJTAGを使う場合の注意点
- 64bit版Windowsでの利用
- AJFGをMinGWで使う場合の導入方法
- AJFGをVisualC++2010で使う場合の導入方法
- 旧バージョンのチュートリアル
- 実機での使用例
会社情報
- 会社概要
- 商品のご購入について
- 求人情報
- イベント案内
- MITOUJTAG講習会
- ET2005
- ET2006
- ET2008
- ET2009
- ET2010
- ET2011
- ET2012
- FPGAカンファレンス2007
- FPGAカンファレンス2008
- FPGAカンファレンス2009
- ボードコンピュータ展2008
- IPAX2007
- IPAX2008
- IPAX2009
- テクノフロンティア2009
- ESEC2007
- EDSFair2009
- EDSFair2010
- FPGAカンファレンス2009
- ルネサスRXセミナ2012
- Interface誌2012年1月号 特設ページ
- CEATEC2011
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の解説は下記のページに準備しています。
一番簡単なアプリケーション作成方法(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.



