« 超Low-EndマイコンRS08を使おう - MC9RS08KA2で作る電子オルゴール (10) | メイン

R8Cマイコンの開発ツールを使ってみる

 今回は、R8Cマイコン用のソフト開発環境(HEW4)ができあがったので実際に使ってみます。

 R8Cマイコンのソフト開発環境は、先に紹介したとおり、ルネサス社のホームページに詳しく説明されています。

    はじめての R8C/Tiny 
  

 書き込みプログラムは、HEW4に追加した「M16C R8C FoUSB/UARTデバッガ」です。このソフト開発環境で使ったマイコンは、DIPサイズのR8C/15マイコンです。このデバイスについてのドキュメントがありませんので、独自のレポートになります。

1.デバッグ・アダプタについて
 ソフト開発環境としてインストールしたコンパイラ・パッケージは、次に示すようにユーザ・プログラム作成のための機能が追加されました。

2005年12月26日発行パッケージのツールニュースから
(3)   従来から製品に添付しているアセンブリ言語によるスタートアッププログラムに加えて、C言語によるスタートアッププログラムを新規追加しました。

 

 R8C/15マイコンの場合、この機能でオンチップ・デバッガとして指定できるのは「E8アダプタ」だけです。「RS232Cシリアル基板アダプタ」(以下UARTアダプタ)を指定することはできません。

08213sk200.jpg


 問い合わせると、ここへ「UARTアダプタ」の項目追加は「予定なし」との回答でした。今まで安価なRS232Cシリアル回路でオンチップ・デバッガとして使用していましたので、このような方針変更は残念です。
 従来のプロジェクト・タイプ「Application」のアセンブラ用は下記に説明書があります。今回の新機能の開発手順などのドキュメント作成は、同様に「予定なし」とのことです(執筆時点)。

 M16C R8C FoUSB/UARTデバッガユーザーズマニュアル
別冊 (R8C/14、R8C/15、R8C/16、R8C/17接続時の注意事項)
 

2.それでも使ってみる
 今回インストールした「M16C R8C FoUSB/UARTデバッガ」としては、UARTアダプタ(自作RS232Cシリアル基板)を使ったものです。また、このレポートは筆者が独自に調査したもので、メーカが推奨する方法ではありません。自己責任でお願いします。
 文中、メーカからの回答も合わせてレポートします。

テスト条件
・使用するデバッグ・アダプタ:RS232Cシリアル基板(自作)
・動作マイコン:R8C/15 サンハヤト製DIPマイコンSR8C15CP
・プログラム動作:タイマXの割り込みを利用した1秒ごとにLED点滅するプログラム(C言語)
・プロジェクトタイプ:C言語によるスタートアップ・プログラム
・バージョン:C言語コンパイラ・パッケージ・バージョンV5.4/UARTデバッガ・バージョン1.03

 うまく動いたソフト開発手順は、以下のとおりです。操作画面は、関係のある部分のみ掲載します。

(1) まず、HEW4を起動して、「新規プロジェクトワークスペースの作成」指定します。プロジェクト・タイプでは「C source startup Application」を指定し、C言語のスタートアップ・プログラムを使います。ワークスペース名は「ledonoff」としました。

08213sk02.jpg

(2) 続いて、使用するマイコンとして「R8C/Tiny」「15」を選ん先に進めます。次の画面で「Use OnChip debugging Emulator」は「E8]を指定することにします。本来、ここでは本来「UART」指定することになります(項目の追加予定はないそうです)。
 運良く「Firmware Address」はC000、「Size」は800と、UARTアダプタと同じ値なので、そのまま進めてみました。

08213sk04B.jpg

 今回インストールした「M16C R8C FoUSB/UARTデバッガ」がサポートするR8Cマイコン用デバッグ・アダプタは、UARTアダプタとFoUSBアダプタがあります。このFoUSBアダプタ(M3A-0665 FoUSB)は2007年12月で生産中止となっていました。

 純正 FoUSBオンチップデバッギングエミュレータ(アダプタ)の情報
  
 
(3) R8Cマイコンのターゲット・システム用のデバッガ選択は、画面のように「FoUSB/UART」と「Simulator」を指定します。

08213sk06.jpg

(4) 設定が終わるとにHEW4画面になります。左側ワークスペース・ウィンドウに生成されたファイルなどが表示され、それらは、確かにC言語用のスタートアップ関連のものです。

08213sk121.jpg

 ヘッダ・ファイルsfr_r815.hもここに生成されています。ユーザ・プログラムledonoff.cは空のmain()が作られています。

(5) ユーザ・プログラムledonoff.cに、LED点滅用ソース・コードを入力します。
  

08213sk123.jpg

(6) ビルドすると「タイマX」の割り込みルーチンのところで二重定義エラーになりました。このため、intprg.cファイルの81、82行目のところのコーディング、「タイマXの割り込み」部分のコーディングをコメントにしました

08213sk124B.jpg

(7) ここまでで、ビルドはエラーなしになりました。ただし、画面に示すワーニング・エラーは試用期間の終了を示すもので、以降毎回表示されるようになります。

08213sk125.jpg

*試用期間*
 試用期間は初めて評価版ソフトウェアをインストールした後、最初にビルドを行った日から60日間です。試用期限内は製品版と同じ、試用期限を過ぎるとリンクサイズが64Kバイト以内に制限されます。

 ただし、R8C/15は16kバイトなので実質制限がありません。


(8) これ以降の操作は、プロジェクト・タイプが「Application」のときと同じです。ターゲット・マイコン(R8C/15)のmode端子をGNDに落として書き込みモードにします。マイコンに書き込みを行うためには、画面の右上のデバッグ・セッションを「M16C R8C FoUSB/UART」に変更して起動します。

08213sk131.jpg

(9) デバッガが起動すると、このような設定画面が出ます。

08213sk133.jpg

(10) 通信ポートを確認して、「参照」ボタンを押しR8C/15マイコンを指定します。R5F21は「R8」を意味し、その後の2桁が15となっているのがR8C/15です。現在サポートしているマイコンは、まだR8C/25までです。新しいマイコンは、今後追加の予定だそうです。

08213sk135.jpg


(11) うまく、マイコンに書き込まれると、下記のようなデバッガ画面(クリックすると拡大)になります。デバッガの「GO」を実行することでで動きました。ただし、メーカが保証していませんので、今後ともうまく動作するかの保証はありません。
 試す人は、自己責任でお願いします。

08213sk138.jpg

(12) パソコンとの接続から取外したターゲット回路では、mode端子をプルアップして、リセットすると単独動作します。

 

LEDONOFFプログラムは、下記のプロジェクト・ファイル(ZIP)を参照ください。

LEDONOFF.ZIP R8C点滅プログラムプロジェクトファイル(89kバイト)


 記事は、執筆時点のものです。 

追加:
 ここでレポートした部分のドキュメントについては、2月13日に「現在準備中」と回答がありました。


 

後田敏

 

トラックバック

このエントリーのトラックバックURL:
http://www.eleki-jack.com/mt/mt-tb.cgi/1315

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

会社案内
情報セキュリティおよび個人情報の取り扱いについて

コメントとトラックバックは、spamを予防するために、編集担当が公開の作業をするまで非公開になっています。
コメントはそれぞれ投稿した人のものです。