LoginSignup
3
6

More than 5 years have passed since last update.

C-Firstボードをe2 studioのGCCで使ってみる

Posted at

C-Firstボードは書籍に付録DVDにC言語の開発環境CS+があり,本文でも使い方を紹介しています。このRL78の統合開発環境にはe2 studioがあると説明されていたので,使ってみた状況を紹介します。

e2 studioにはコンパイラとしてルネサスのCC-RLとGNUのGCCが使えます。
今回はGCCの紹介です。GCCを使うメリットは64KBを超える開発ができることとC++が使えることです。
e2 studioはここからダウンロードしておきます。
https://www.renesas.com/ja-jp/products/software-tools/tools/ide/e2studio.html#downloads
e2 studioにはコンパイラが含まれていませんが,インストール時にデフォルトでCC-RLの追加インストールも含まれています。
e2 studioを起動したらワークスペースに適当なフォルダ名を入力します。
image001.png

「ようこそ」のウィンドウが表示されていますが,閉じてしまいましょう。
image002.png

GCCがインストールされているかを確認しておきます。
image003.png

Renesasツールチェーンの追加を選びます。表示された中に「GCC for Renesas RL78」が表示されていればOKです。
image004.png

GCCが見当たらない場合はここからダウンロード,インストールした後に「追加」ボタンでインストールしたフォルダを指定します。
https://gcc-renesas.com/ja/

書籍で紹介されているサンプルは全てCC-RLなので,GCCではコンパイルできません。なので,ソースコードのみをポーティングします。
手順は,土台になる空のプロジェクトを作成して,main関数以降をコピーしてポーティングします。
先ず新規に「C/C++ project」を作成します。
image005.png

GCCを使って,実行可能なプロジェクトの作成を選択します。
image006.png

フォルダ名となるプロジェクト名を入力します。
image007.png

デバイスは「R5F104LE」,デバッガはEZ(RL78)に設定します。
image009.png

コード生成は使いません。
image010.png

その他のオプションはデフォルトのままでOKです。
image012.png
image013.png

プロジェクトの生成が終了したら空のmain関数があるので,これを編集して使います。
image015.png

ここではsample1_1.cのmain関数の中身をコピーしてみました。
image016.png

iodefine.hとiodefine_ext.hをソースに加えます。
ポーティングが完了したらビルドします。このボタンがビルドです。
build.png
プロジェクト名を右クリックしてもビルドメニューが表示されます。
エラーが無く「ビルドが完了しました」が表示されてOKです。

次はデバッグです。このボタンがデバッグです。
debug.png
▼をクリックして「デバッグの構成」を開けて「Renesas GDB Hardware」にプロジェクト名,ここではsample1_1Hardware Debugが表示されていて「Debugger」のタグを開き,EZ(RL78)が設定されていることを確認して,デバッグを開始します。
image017.png

パースペクティブ(表示されているウィンドウやメニューの並び)をデバッグに適したものに変更するかと言われるので,「はい」とします。
image018.png

実行の再開ボタンはこれです。
go.png

確認できたら実行を停止します。EZエミュレータとの接続解除も行うのはこのボタンです。
stop.png

以上でGCCにポーティングしたサンプルコードの実行までの作業でした。

設定さえ間違えなければ,意外とすんなりGCCへのポーティングも可能,という印象です。
割り込み処理も空の関数が生成されていますから,中身だけをポーティングすることですぐに動きそうです。

最初に書きましたがGCCはフリーのコンパイラですから,CC-RLのようなサポートは無いものの,C++が使えますし,64Kバイトを超えるサイズも制限がない点は嬉しいですね。

3
6
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
3
6