今回は、R8Cマイコン用のソフト開発環境(HEW4)ができあがったので実際に使ってみます。
R8Cマイコンのソフト開発環境は、先に紹介したとおり、ルネサス社のホームページに詳しく説明されています。
書き込みプログラムは、HEW4に追加した「M16C R8C FoUSB/UARTデバッガ」です。このソフト開発環境で使ったマイコンは、DIPサイズのR8C/15マイコンです。このデバイスについてのドキュメントがありませんので、独自のレポートになります。
1.デバッグ・アダプタについて
ソフト開発環境としてインストールしたコンパイラ・パッケージは、次に示すようにユーザ・プログラム作成のための機能が追加されました。
2005年12月26日発行パッケージのツールニュースから
(3) 従来から製品に添付しているアセンブリ言語によるスタートアッププログラムに加えて、C言語によるスタートアッププログラムを新規追加しました。
R8C/15マイコンの場合、この機能でオンチップ・デバッガとして指定できるのは「E8アダプタ」だけです。「RS232Cシリアル基板アダプタ」(以下UARTアダプタ)を指定することはできません。
問い合わせると、ここへ「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」としました。
(2) 続いて、使用するマイコンとして「R8C/Tiny」「15」を選ん先に進めます。次の画面で「Use OnChip debugging Emulator」は「E8]を指定することにします。本来、ここでは本来「UART」指定することになります(項目の追加予定はないそうです)。
運良く「Firmware Address」はC000、「Size」は800と、UARTアダプタと同じ値なので、そのまま進めてみました。
今回インストールした「M16C R8C FoUSB/UARTデバッガ」がサポートするR8Cマイコン用デバッグ・アダプタは、UARTアダプタとFoUSBアダプタがあります。このFoUSBアダプタ(M3A-0665 FoUSB)は2007年12月で生産中止となっていました。
純正 FoUSBオンチップデバッギングエミュレータ(アダプタ)の情報
(3) R8Cマイコンのターゲット・システム用のデバッガ選択は、画面のように「FoUSB/UART」と「Simulator」を指定します。
(4) 設定が終わるとにHEW4画面になります。左側ワークスペース・ウィンドウに生成されたファイルなどが表示され、それらは、確かにC言語用のスタートアップ関連のものです。
ヘッダ・ファイルsfr_r815.hもここに生成されています。ユーザ・プログラムledonoff.cは空のmain()が作られています。
(5) ユーザ・プログラムledonoff.cに、LED点滅用ソース・コードを入力します。
(6) ビルドすると「タイマX」の割り込みルーチンのところで二重定義エラーになりました。このため、intprg.cファイルの81、82行目のところのコーディング、「タイマXの割り込み」部分のコーディングをコメントにしました
(7) ここまでで、ビルドはエラーなしになりました。ただし、画面に示すワーニング・エラーは試用期間の終了を示すもので、以降毎回表示されるようになります。
*試用期間*
試用期間は初めて評価版ソフトウェアをインストールした後、最初にビルドを行った日から60日間です。試用期限内は製品版と同じ、試用期限を過ぎるとリンクサイズが64Kバイト以内に制限されます。ただし、R8C/15は16kバイトなので実質制限がありません。
(8) これ以降の操作は、プロジェクト・タイプが「Application」のときと同じです。ターゲット・マイコン(R8C/15)のmode端子をGNDに落として書き込みモードにします。マイコンに書き込みを行うためには、画面の右上のデバッグ・セッションを「M16C R8C FoUSB/UART」に変更して起動します。
(9) デバッガが起動すると、このような設定画面が出ます。
(10) 通信ポートを確認して、「参照」ボタンを押しR8C/15マイコンを指定します。R5F21は「R8」を意味し、その後の2桁が15となっているのがR8C/15です。現在サポートしているマイコンは、まだR8C/25までです。新しいマイコンは、今後追加の予定だそうです。
(11) うまく、マイコンに書き込まれると、下記のようなデバッガ画面(クリックすると拡大)になります。デバッガの「GO」を実行することでで動きました。ただし、メーカが保証していませんので、今後ともうまく動作するかの保証はありません。
試す人は、自己責任でお願いします。
(12) パソコンとの接続から取外したターゲット回路では、mode端子をプルアップして、リセットすると単独動作します。
LEDONOFFプログラムは、下記のプロジェクト・ファイル(ZIP)を参照ください。
記事は、執筆時点のものです。
追加:
ここでレポートした部分のドキュメントについては、2月13日に「現在準備中」と回答がありました。
後田敏