本記事は ETロボコン Advent Calendar の20日目の記事です。
はじめに
7日目の2年目のETロボコンに向けてプラットフォームの知識を深めようの記事でTOPPERSの仕様書を読むことを薦められてましたね。
TOPPERSを使ってることを意識してなかったという人もいたのではないでしょうか?理解するには実際に動かしてみるのが一番!ということで、sample1を試してみましょう。
sample1とはTOPPERSには必ずついている、カーネルの基本的な動作を確認するためのサンプルプログラムです。詳しくはsampleフォルダ内のsample1.cのコメントを参照してください。
大会も終わってEV3が自由に使える人も限られているでしょうから、手持ちのPCと安価なボードで動作させることを前提としてみました。
ASPを試そう
ETロボコンで使用していたのはEV3RTというHRP2カーネルをベースにしたものでした。HRP2カーネルは、ASPカーネルにメモリ保護機能の追加をはじめとするいくつかの変更がなされたものです。TOPPERSの開発しているカーネルはASPカーネルがベースになっているものが多いので、今回は汎用性も考慮してASPカーネルを使ってみることにします。1
NUCLEO-F401REを使う
入手しやすい安価なボードとして、NUCLEO-F401REがあります。
NUCLEO-F401REは今なら秋月電子の通販で1800円で売っています。
TOPPERSが対応しているボードの中で一番お手頃なので選んでみました。
Windowsの場合
NUCLEO-F401RE で TOPPERS/ASP(RTOS)を動かすという記事がQiitaにあります。
Macの場合
Windows版を参考にNUCLEO-F401REでTOPPERS/ASPを動かす(Mac+Eclipse版)という記事をQiitaに作ってみました。
参考)他の方法で試すには
上記ボードが個人的にはお薦めですが、手持ちのものがあったり、PCだけで試したいなど他の方法で試してみたい方向けに他の方法も簡単に紹介しておきます。
WindowsとGR-PEACHで動かす
GR-PEACH で TOPPERS/ASP(RTOS)を動かす
上記「NUCLEO-F401RE で TOPPERS/ASP(RTOS)を動かす」のGR-PEACH版です。
PC本体だけでなんとかする
Windowsの場合
直接Windows上でASPカーネルを動かすものは提供されていませんが、Skyeyeシミュレータ簡易パッケージがダウンロードページにあります(私は試してみていませんが)
Macの場合
TOPPERS/ASPカーネル簡易パッケージのダウンロードには「Mac OS X用シミュレータ簡易パッケージ」があります。ただ、こちらは開発環境がGCCとなっています。最近のMacはClangのため、別途gccをインストールする必要があります。なので、後述のASP3を使用する方がよいでしょう。(新しいし )
ASP3を試す
TOPPERSには、ASPカーネルを拡張・改良したASP3カーネルがあります。
当初本記事はASP3を紹介しようと思っていましたが、手頃なボードに移植されていなかったので(移植して紹介する時間もなかったし)ASPの紹介記事としました。
カーネル開発者がMacを使用されているためか TOPPERS/ASP3カーネル簡易パッケージのダウンロードにはXcode対応のMac版があるのでMacで手軽に試してみたいならGCC対応のASPよりClang対応のASP3の方がお手軽かと思います。
また上記URLには、「GR-PEACH簡易パッケージ」というのもあります。GR-PEACHが手元にあるなら、こちらを利用してみるとよいでしょう。
さらに、TOPPERSのサイトではありませんが、Raspberry Pi版も公開されています。手元にあるなら、こちらで試してもよいですね。
Raspberry PiでTOPPERS(TRON系OS)
終わりに
本記事ではsample1を動かすための環境の紹介にとどまっていますが、ぜひボードを使ってセンサーやモーターを動かしてみてください 。
-
もちろんHRP2のターゲットボードが手元にあれば試してみるのもよいでしょう。 ↩