13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

個人開発者Advent Calendar 2016

Day 11

e2studioでTOPPERS/ASPを使用する方法

Last updated at Posted at 2016-12-11

#概要
RenesasのEclipse開発環境であるe2studioでTOPPERS/ASPカーネルを使用する方法を解説します。
TOPPERS/ASPはTOPPERSプロジェクトによって開発されている組込み向けのリアルタイムOS(RTOS)です。今日は私が非公式で移植、開発を行っているGCC対応のTOPPERS/ASP for RXの利用法の解説を行います。本記事は「個人開発者 Advent Calendar」の11日目としてお送りします。

今回はプロジェクトの作成からE1を使用してのプログラム実行までの解説です。アプリケーションはTOPPERSプロジェクトが提供するsample.cを使用します。

#事前準備
##開発環境

ハードウェアおよび評価機材

GR-SAKURA
GR-SAKURAはがじぇっとるねさすが開発した評価ボードです。今回はこのボードをターゲットとして解説を行います。製品としてGR-SAKURAとGR-SAKURA fullがありますが、ソフトウェアは両方とも共通の物が使用できます。しかし、両方ともデバッガの接続コネクタが実装されていないためデバッガ経由での書き込みを行う場合は2.54mmのピンを実装して使用してください。また、GR-SAKURA IIも発売されているようですが、基本的には同じソースコードが使えます
E1
E1はルネサスマイコンのJTAGデバッガです。今回はE1をターゲットとして解説を行います。
GR-KAEDE
GR-KAEDEはがじぇっとるねさすが開発した評価ボードです。GR-SAKURAよりも高性能なマイコンと大容量のRAMが使用できます。今回の解説では使用しませんが、GR-SAKURAと同様の手順で使用できます。GR-KAEDEはES版と製品版が存在しているようです。私が使用している物はES版のため写真のボード外形が異なるかもしれません。
E2エミュレータLite
E1の廉価版のデバッガです。RHや旧ラインナップのマイコンが非サポートになっています。RX、RL系列しか使用しないのであればこちらの方がいいかもしれません。
USB-Serial変換デバイス
標準入出力用にUSB-Seriral変換デバイスが必要です。私は秋月のFT232RL USBシリアル変換モジュールを使用しています。
### ホスト開発環境
Windows PC
開発用のホストPCとしてWindows PCを使用します。
e2studio
ルネサスが提供するEclipseベースの開発環境です。ユーザ登録が必要ですが、Windows環境でIDEとRX クロスコンパイラが使用できます。インストール時にRX、RZ、RL、RHコンパイラを選択できるのでRXを選択してください。他アーキテクチャについてはお好みでかまいません。クロスコンパイラのインストール時にKPITのユーザ登録が必要になるので登録してください。
Cygwin
TOPPERS/ASPのコンフィグレーションと依存性解析にLinux系の実行環境が必要になります。msysでも代用が可能です。 Windows Subsystem for Linuxでも実行できるかもしれませんが、試したことがありません。だれか試したら報告してください。
シリアルコンソロール
ボード入出力を観測するためにシリアルコンソロールを使用します。私はteratermを使用しています。
### TOPPERS/ASP 開発環境
TOPPERS/ASPカーネルRX版
TOPPERS/ASPカーネルをRX向けに移植しました。Gitでクローンするかzipでダウンロードしてください。
TOPPERS新世代カーネル用コンフィギュレータ
TOPPERS/ASPを使用するためのコンフィグレータです。WindowsとLinuxでファイル差し替えが必要なため別配布になっています。今回はwindows版を後述するディレクトリに保存してください。

##ディレクトリ構造
ディレクトリは以下の構成とします。toppers_appにアプリケーション用のソースコードを保存します。このディレクトリがソースコードのルートディレクトリになります。 TOPPERS/ASPカーネルRX版のソースコードはtoppers_appの下にtoppers_rxとして保存します。(e2studioがソースルート下のディレクトリでないとうまく解析してくれないため、このような構成になっています。)TOPPERS新世代カーネル用コンフィギュレータはtoppers_app/toppers_rx/asp/cfg/cfg/cfg.exeに保存してください。カーネルのmakeで使用します。

root/
 ├ e2s_proj/     --e2studioのプロジェクトディレクトリ
 └ toppers_app/    --TOPPERS/ASPのアプリケーション開発ルート
   └ toppers_rx/  --TOPPERS/ASPカーネルRX版
      ├ asp/
      │ ├ cfg/
      │   └ cfg/
      │     └ cfg.exe  --TOPPERSコンフィギュレータ
      ├ sample
      └ script

TOPPERS/ASPのターゲットコンフィグレーション

e2studioによるコンパイルの前にTOPPERS/ASPのGR-SAKURAターゲット向けコンフィグレーションを行います。今回はsample.cを使用するのでアプリケーション指定は行いません。

toppers_appのディレクトリに移動して以下のコマンドを実行してください。 3行目の -T sakura_gccを*-T kaede_gcc*にすればGR-KAEDE向けのコンフィグレーションになります。実行するとtoppers_app以下にMakefileやsample.c等が生成されます。

$ pwd
root/toppeers_app
$ perl ./toppers_rx/asp/configure -T sakura_gcc
$ make depend

e2studioを使用したコンパイル、実行

プロジェクトの構築

e2studioの起動

e2studioを起動してください。起動するとe2studioのワークスペースを選択するダイアログが開くためe2s_projディレクトリを指定してOKをクリックしてください。
make_e2proj.png

e2studioが立ち上がり初期画面が表示されます。ようこそのTABを閉じてIDEの画面を表示してください。
e2s_welcom.png

TOPPERS/ASPカーネルの登録

IDE画面が表示されたら、TOPPERS/ASPのソースコードを登録します。メニューのファイル(F)から新規(N)->Makefile Project with Existing Codeを実行してください。
e2s_load_mak_proj.png

既存のコードをインポートのダイアログが表示されるため、プロジェクトを登録していきます。既存のコードの場所にtoppers_appを指定し、toolchainにKPIT GNURX-ELF Toolchainを選択してください。 プロジェクト名は任意に設定可能です。今回はsampleをプロジェクト名としました。 終了をクリックするとe2studioがソースコードの解析を開始します。解析には時間がかかるため次の画面が表示されるまでe2studioを終了せず待ってください。

e2s_toppers_config.png

TOPPERS/ASPのコンパイル

ソースコードが登録されるとプロジェクト・エクスプローラーのViewにsampleプロジェクトが表示されます。
プロジェクトが表示されていることを確認したら、ソースコードのビルドを行います。 プロジェクト・エクスプローラーのsampleを右クリックし、**プロジェクトのビルド(B)**を実行してください。
e2s_build.png

ビルドが正常に終了すると右下のコンソロールViewにcheck completeのログとビルド完了しましたのメッセージが表示されます。これでビルドが完了です。実行ファイルはtoppers_appディレクトリのaspasp.srecです。aspは拡張子が記載されていませんが、ファイル形式はelfの実行可能ファイル形式です。デバッガでファイル書き込みをする場合はaspを使用します。Flash Programmerで書き込む場合はasp.srecを使用してください。

build_comp.png

TOPPERS/ASPの実行

次にプログラムを実行しています。今回はE1を接続してプログラムの書き込みを行います。以下の手順はGR-SAKURAにE1を接続して行ってください。また、実行時の標準入出力にUARTを使用するためUSB-SerialをボードとPCに接続してください。

デバッグ構成の設定をおこないます。メニューから実行(R)を選択してデバッグの構成(B)を実行してください。
debug_config.png

デバッグ構成コンソロールが開くため左のリストのRenesas GDB Hardware Debuggingをダブルクリックしてください。
debug_config_2.png

デバッグの設定タブが開くので実行環境を登録していきます。 メインタブを選択し、C/C++アプリケーションの項目toppers_app\aspを設定してください
debug_config_3.png

Debuggerタブを選択してデバッガの設定を行います。 Debug hardwareの項目にE1(RX)を設定します(E2 Liteを使用している場合はここを変更してください)。Target Deviceの項目にR5F563NBを設定してください。この項目はボードに実装されているチップの刻印と一致している事を確認してください。使用しているボードがGR-SAKURA IIの場合はこの項目を変更する必要があるかもしれません。

以上でデバッグの構成は終了です。適用(Y)ボタンをクリックした後、デバッグ(D)ボタンをクリックするとプログラムの書き込みが開始します。
debug_config_4.png

デバッグ開始時にコーディング用のViweを表示していると以下の様なダイアログが表示されます。この場合は**はい(Y)**をクリックしてください。
debug_config_5.png

プログラムを書き込むと以下のようなViewが表示されます。この状態ではプログラムはリセット直後の状態で停止しています。アイコンバーの緑色の三角のアイコンをクリックするとプログラムが実行されます。
debug_config_6.png

TOPPERS/ASPのログ取得

プログラムの実行ログはシリアルに出力されます。シリアルコンソロールを9600bpsに設定すれば実行ログを取得できるはずです。
正しく実行できていれば以下のようなログが観測できます。

teraterm_log.png

13
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
9

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?