Version 5 (modified by 8 years ago) ( diff ) | ,
---|
TOPPERS/RCA(RTE/RTOS compatible with Arduino libraries)
クイックスタート(GDBデバッグ版)
機材の用意
- Windows PC (Makefileを整備すればMacでも動作するはず)
- 64bitだと設定を変更しなくてもよいので楽
- Arduino M0 Pro
- '!!Arduino M0 を買わないように注意!''''
- スイッチサイエンス, 秋月, マルツパーツ 等で購入可能.
ツールのインストール
- Arduino IDEのインストール.
- .org版(1.7.x)をインストールすること.
- インストーラに従ってインストールを実施する.
- Arduino IDE のインストールパスの設定
- C:\Program Files (x86)\Arduino にインストールした場合は必要ない
- インストールしたフォルダを以下のファイルに設定する
・example/do_path.bat SET ARDUINO_DIR=C:\Program Files (x86)\Arduino ・asp_1.9.1/target/arduino_m0_gcc/ ARDUINO_BASE_DIR_WIN = C:\Program Files (x86)\Arduino
パッケージのダウンロードと展開
- trunkをzipでダウンロードすると楽.
ビルド
- フォルダ ./example/basic を開く
- ./do_make.bat を実行
実行
- ボードの'PROGRAMポート'とPCのUSBを接続する.
- Arduino IDEを起動する(teraterm等でも可)
- ツール -> ポート -> COMx(Arduino M0 Pro (Programmmming Port)) を選択.
- ツール -> シリアルモニタ を選択してシリアルモニタを実行する.
- シリアルモニタの右下の速度を115200bpsに変更
- フォルダ ./example/basic を開く
- ./do_run.bat を実行
デバッグ
- フォルダ ./example/basic を開く
- ./do_debug.bat を実行
クリーン
- フォルダ ./example/basic を開く
- ./do_clean.bat を実行
クイックスタート(Atmel Studio使用版)
ツールのインストール
- Arduino IDEのインストール.
- 上記と同じ.
- Atmel Studio のインストール
- インストーラに従ってインストールを実施する.
プロジェクトを開く
- \example\basic\asp.atsln をタブルクリックするとAtmel Studioが起動する.
ビルド
- メニュー -> Build -> Build Solution を実行
実行
- メニュー -> Debug -> Start Debugging and Brake を実行
メモリに書き込まれるため,実行を開始する. ファイルメニューからrca_app.cpp を選択してブレークポイントを置くことが 可能.
プログラミングモデル
マルチタスク
マルチタスクによるプログラミングが可能.各タスク間はASPのAPIを呼び出す ことが可能である.
プログラム例
#include "rca.h" void setup() { pinMode(13, OUTPUT); } void loop() { digitalWrite(13, HIGH); delay(1000); digitalWrite(13, LOW); delay(1000); } void task1_setup() { Serial.begin(9600); } void task1_loop() { int sv = analogRead(A0); Serial.println(sv); delay(1); }
タスク名
Arduinoライブラリを実行するためのタスクとして,メインタスクとタスク1, タスク2,...(RCAタスク)を用意している.メインタスクは必ず生成され,RCA タスクは,幾つ生成するかはマクロで定義可能である.現状最大数は4個である.
それぞれのタスク名は次の通りである.
タスク | タスク名 |
メインタスク | RCA_MAINTASK |
タスク1 | RCA_TASK1 |
タスク2 | RCA_TASK2 |
タスク3 | RCA_TASK3 |
タスク4 | RCA_TASK4 |
各タスクは,次の関数を実行する.これらの関数の本体を記述する.
タスク | 関数 |
メインタスク | setup/loop |
タスク1 | task1_setup/task2_loop |
タスク2 | task2_setup/task2_loop |
タスク3 | task3_setup/task3_loop |
タスク4 | task4_setup/task4_loop |
各setup/loopの振る舞いはArduinoと同等である.
注意点
- Arduino IDEに含まれている M0 向けライブラリは開発されて日が浅いため不具合やコンパイルが通らない場合があるため注意が必要.
制限事項
- I2CやSPIライブラリは現状セマフォ等で排他制御していないため,複数タス
クで呼び出す場合はタスク側で排他が必要.
ライセンス
ファイル毎にライセンスが異なるので注意してください.
ディレクトリ名 | ライセンス |
lib | GNU GPL |
asp_1.9.2 | TOPPERS ライセンス |
exsample | GNU GPL |
arduino_lib | それぞれのファイルに指定されたライセンス(GNU GPL or BSD) |
Attachments (5)
- R2CA1.jpg (190.1 KB ) - added by 8 years ago.
- R2CA1.2.jpg (194.0 KB ) - added by 8 years ago.
- r2ca_20160314.zip (12.9 MB ) - added by 8 years ago.
- r2ca_20160521.zip (13.2 MB ) - added by 8 years ago.
- 20160702_R2CA.pdf (5.3 MB ) - added by 7 years ago.
Note:
See TracWiki
for help on using the wiki.