はじめに
Windows上でEclipseベースのTrueSTUDIOを用いて.メモリ保護機能付きのRTOSであるTOPPERS/HRP2カーネル(以下,HRP2カーネル)をNUCLEO-F401REで動作させる方法について説明します.
基本的にはこちらの記事のHRP2版です.
HRP2はTOPPERS/EV3RTのRTOSとしても使われています.
用意するハードウェア
-
- 秋月電子やスイッチサイエンス等から2000円程度で購入可能です.amazonでポチるのが最も簡単な入手方法です.
- 様々な種類がリリースされていますが,現状はF401REのみをサポートしています.STM32F4シリーズを搭載しているNUCLEOなら簡単にポーティング可能です.ポーティング方法は別途記載します.
-
USB(miniB)ケーブル
- ボードには付属していないので用意して下さい.
-
Windows PC
- Windows7とWindows10で動作を確認しています.
ソフトウェア
-
- v7.1.1 で動作確認しています.これより古いバージョンは問題が発生する可能性があります.
- AtollicのサイトにアクセスするとDOWNLOAD NOW!というボタンがあるので押すとダウンロードが始まります.サイズが1G程度あるので注意して下さい.
- ダウンロード後インストールして下さい.
-
- 上記リンクからhrp2_nucleo_f401re_gcc-20170315.zipをダウンロードして展開して下さい.
ビルド&実行の手順
1.TrueSTUDIOを実行
TOPPERS/HRP2カーネルに含まれているTrueSTUDIOのプロジェクトファイルをエクスプローラからダブルクリックしてTrueSTUDIOを起動します.
TrueSTUDIOが起動するとワークスペースの指定画面が表示されるため適当なワークスペースを指定する..cprojectのフォルダの一つ上のフォルダを指定すると管理が楽です..cprojectと同じフォルダは指定しないで下さい.
3秒ほど宣伝画面が出るので"ウィンドウを閉じて下さい"のボタンが有効になるまで待って,有効になったらボタンを押して下さい.
左上のInformation Centerの右の×ボタンを押すとプロジェクトが表示されます.
左のペインのプロジェクトビューからsample1を選択し,ツリーを展開するとサンプルプログラムを見ることができます.
2.ビルド
3.ボードの接続
NUCLEO-F401REをUSBケーブルでwindowsPCに接続して下さい.ドライバのインストールが開始され,COMポートが1つ追加されます.
4.ダウンロード&実行
ボードの接続後,プロジェクトにあるhrp2_debug.launchを右クリックしてデバッグ->hrp2_debugを選択するとダウンロードが開始されます.
1回目はSTLINKのファームウェアのアップデートが発生する場合があります.その場合は,画面に従ってファームウェアをアップデートしてから,USBケーブルを一旦外してから,Teratermの再接続を行い,デバッグボタンを押して下さい.
次に上記で追加されたポートに対して,ターミナルを開きます.メニューのビューからターミナルを選択します.左下ペインにターミナルが追加されるので,接続ボタンを押して,接続タイプをシリアルとして,115200bps, 8bit, Parity none, Stop 1bit, フロー制御なしとてしてOKを押します.
ダウンロード後停止した状態なので,メニューから"再開"ボタンを押すとカーネルが起動して,main_taskの先頭で停止します.この状態で"再開"ボタンを押すと実行が再開されます.
ターミナルにはログが出力されます.入力も可能です.
おわりに
TrueSTUDIOを使用すると簡単にHRP2カーネルをビルド&実行させることが出来ますので,メモリ保護RTOSに興味がある方は試して下さい.