開発環境   


 1 PCについて 
 2 書き込み用ハードウエア 
 3 コンパイラソフト 
 4 書き込みソフト 
 5 R8C/M12Aを32kROMとして使う 
 6 臨時書込み端子 





 1 PCについて 
PCはデスクトップで自作品(集めてつないだだけ)。
OSはWindows8.1。
OSをwindows10に変更。2016.05.25
1 PCについて  おわり


 2 書き込み用ハードウエア  
 書き込みの装置は
  USB-シリアルコンバーター → MODE切り替えスイッチ → ターゲットボード
という接続になっています。リセットスイッチはターゲットボードにも必要だからターゲットボードに取り付けます。MODEスイッチはプログラムの書き込み時だけですからコンバーターと同じ位置と考えました。

USB-シリアルコンバーターは手元に3種類あって、いずれも RXDとTXDだけのものです。
 FT232RL使用のもの・・・3.3V/5V切り替えができる
 cp2102使用のもの・・・3.3V出力、入力は5Vトレラント
 PIC18spx使用のもの・・・5V出力専用
どれが良いのかは色々と使っている途中です。

なお、ブレッドボードには電源スイッチを付加しました。電源を切ったほうが書き込み時のエラーが少ないように思います。

(2018.01.02 追記) 上記写真の書込み時の回路構成は次のとおりです。


リセットスイッチは回路完成後も必要ですからターゲットボードに付けます。MODE切替関係はプルアップ抵抗はターゲットボードに付けますが書込み時にGNDに落とすSWは外部に置いています。

書込みは
1 書込みSWをprogにする(MOD端子をGNDに落とす)
2 リセットスイッチを押す(電源を一度切ってもリセットがかかります)
3 書込みプログラムを実行する
4 書込みスイッチをrunに戻す
5 リセットスイッチを押してリセットする
となります。

なお、書き込みソフトはsenshuさんのr8cprog-GUIが便利だと思います。HEWに組み込まなくても.motファイルをドラッグアンドドロップすることで書き込めます。ただサイトがなくなったので素晴らしい文化が消えることが残念です。興味がある方はメールでご連絡ください。
   2 書き込み用ハードウエア おわり



 3 コンパイラソフト 
素直に、HEW(ルネサス High-performance Embedded Workshop)を使っています。AVRの時はGCCを使っていましたので、汎用のエディタとコマンドプロンプトでした。HEWは汎用のエディタより狭いのですがGCCが使えないので(能力不足)いまはこれしかありません。
ビルド(コンパイラ)がワンクリックでできるのは便利です。HEWは多くのファイルを作るので、変更して新しいプログラムを作るときはコピーから変更することが困難です。新しいプロジェクトを立ち上げて、.cファイルをエディタでコピーすることにしています。

【無償評価版】M16Cシリーズ, R8Cファミリ用C/C++コンパイラパッケージ M3T-NC30WA V.6.00 Release 00 と
統合開発環境 High-performance Embedded Workshop V.4.09.01 フルアップデート
の両方共必要か。五里霧中で進めてきたからわからなくなった。

(2016.06.09追記) ルネサスのサイトが変わったようです。上記ではDLサイトへ繋がりません。
 https://www.renesas.com/ja-jp/products/software-tools/evaluation-software-tools.html にアクセスして、
M16Cシリーズ,R8Cファミリ用 C/C++コンパイラパッケージ(M3T-NC30WA)の 評価版ダウンロード から、nc30v600r00_ev.exeをDLします。この1本だけでIDEとコンパイラが使用できるようです。
  3 コンパイラソフト おわり




 4 書き込みソフト 
 senshuさんの r8cprog-GUI です。操作画面を次に示します。(この画面は常に最新版です)
ルネサスのソフトも使いましたが、これが最も気に入っています。<素晴らしい>

---------------------------------------------------------------------------------------------------
最新情報
緑の部分を選択して、赤のボタンを押せば書き込みが完了します。(実際には、毎回選択するのは mot File だけです。それもHEWのツールから呼び出すと自動的に選択されます。)
操作が1画面で、全体が見通せますから楽にできます。書き込み操作が極めて簡単で素晴らしいソフトです。
ROM 2kB,32kB,64kB 共にOKです。
.motファイルをドラッグ&ドロップできます。
GUIで、デバイスに書き込まれているプログラムの読み出しができます。
senshuさんの掲示板に登録すれば(趣旨に賛同すれば)ダウンロードできます。
http://www-ice.yamagata-cit.ac.jp/forum/index.php
HEWを使う人はHEWの「ツール」から起動するのがベストです。
HEWの設定
HEWを立ち上げて、メニューの「基本設定」→「カスタマイズ」→「メニュー」タブを選ぶ。
右上の「追加(A)」をクリック→「ツールの追加」窓の各欄に記入する。
  名前(N)  →r8cprog
  コマンド(M)→\r8cprog-GUI.exeのフルパスを選ぶ。
  引数(A)  →$(PROJDIR)\$(CONFIGNAME)\$(PROJECTNAME).mot
  初期ディレクトリ(I)→C:\WorkSpace (多分これでしょう)
OKで完了

変更するときは「アプリケーション内有効(P)」のr8cprogをダブルクリックすれば良い。

2015.08.07 r8cprog-150804版に改訂されました。
ID選択の"ALeRASE"は、(アマチュアが使うときには IDは all 0xff を変更する必要性はないと思いますが、何らかの不都合によりIDが不明な数値に置き換えられると読み書きが不能になります。) all 0xff以外のIDとなった時に工場集荷状態に戻すためにあります。"ALeRASE"を選択した時は Chip Erase しか必要がないので、この操作だけが有効になるように変更されました。
アマチュアはall 0xffで使い、万一変更されたらこの方法で工場出荷状態(all 0xff)にして使うのが良いと思います。


---------最新情報 おわり------------------------------------------------------------------------------

以下は過去の記録です-----
2015.07.26 r8cprog-150721版に改訂されました。
黄色の枠の部分が変更されています。実際には、何らかのトラブルでIDが書き換えられてR/W不能になったとき、ALeRASEを実行するとチップは工場出荷時の状態になります。緊急時の救護処置です。
こちらのページをご覧下さい→http://www-ice.yamagata-cit.ac.jp/forum/viewtopic.php?t=1540&start=160
2015.07.11 r8cprog-150710版に改訂されました。
2015.07.03 r8cprog-150703a版に改訂されました。
2015.07.03 r8cprog-150703版に改訂されました。
最近は私の理解できないところ(深いところ)で改良が行われています。
解説できなくてごめんなさい。
2015.06.25 r8cprog-150625版に改訂されました。
変更点を転載します。
1. r8cprog-GUI ver1.0.4に変更(Shell選択起動の有無を区別するため)
2. Mot File欄には、FolderもDrop可能
3. Mot File欄ダブルクリックでのShell起動は廃止
4.ALT+SでShell起動可能
2015.06.23 r8cprog-150623版に改訂されました。
インストールされている複数のshellを、motファイルの有るディレクトリで開けるようになりました。
私の場合はコマンドプロンプトだけですが。
2015.06.16 r8cprog-150615版に改訂されました。
アクセスキーを追加:(Windowsの設定が必要ですが)「Read」他のボタン名の文字下にアンダーラインが付いている文字があります。そのボタンは Alt+その文字 でマウスクリックと同じ動作をします。(Windows→個別設定→コンピュータの簡単操作センター→キーボードを使いやすくします→ショートカットキー…→ショートカットキーを使いやすくしますにチェックマーク)
CMDプロンプト起動が追加されました。motファイル上でダブルクリックするとmotファイルがあるディレクトリでCMDプロンプトが開かれます。
ALT+SHIFT+Mで16進ダンプ。
ALT+Mで MOTファイルの詳細表示されます。
2015.06.09 r8cprog-150608版に改訂されました。
「read」ボタンが追加されて、存在しない.motファイル名を指定して実行するとデバイスに書き込まれているプログラムが読み出せるそうです。そして、この.motファイルで書き込むこともできるそうです。
私はプログラムを書き込むだけ「Erase-Write-Verify」ボタンを押すだけですが...
2015.05.29 r8cprog-150529版に改訂されました。
GUIでない本体のデバイスからの読み取り機能などが改善されたようですが、私には理解できていません。
2015.05.26 r8cprog-150526版に改訂されました。操作画面には変更はありません。
・.motファイルがドラッグ&ドロップできる。
・書き込まれているプログラムを読み出せる(ただし、GUIではなく)。
私には理解できないところもあって...
変更点を掲示板から引用します。
r8cprogを使っていて、avrdude-GUIに比べ見劣りする部分を改良してみました。 最大の変更点は、読みだし機能強化ですが、GUI周りも見直しました。
(1) r8cprog-GUIの機能強化
・r8cprog-GUIのアイコンにMOTファイルをドロップすると、そのファイルを  MOTファイル欄にセットする
・CMDやbashで、r8cprog-GUI MOTファイルとして起動すると、同様の動作をする (ファイル指定では、*.motのような指定も可能)
これにより、CMD.exeやbashなどからの利用時も便利に使えます。これは、YCIT版 avrdude-GUIからの移植です。avrdude-GUIでは、以前からこのような利用が可能です。
「r8cprog-GUI .」での起動も便利です。現在のディレクトリがファイル欄セット されるので、ファイル指定の手間が削減できます。
(2) r8cprog に読み出しアドレスの設定機能を追加しました。(今のところ、 GUIからは読みだし機能は使えません)
-rを指定すれば、R8C内部のメモリを読み出せます。
-rによる読みだしは、-a で開始アドレス、-S でバイト数(以下の例では256 バイト)を16進数で指定します。開始アドレスは半端な値も指定できますが、 出力が見にくいので、下8ビットは00を指定してください。
-Sが100未満の時は、256Byte単位の指定と解釈します。

2015.05.26 r8cprog-150525版に改訂されました。新しく発見された64kBROMに対応します。(私のHEWではプログラムを書けませんが。)
変更点を掲示板から引用します。
 R8C/M12Aで最近発見?された32kBの追加部分に対応する r8cprogを作成しました。
 1. r8cprog.confの修正(拡張領域の対応)が主な修正点ですが、後半部分の 読みだしに対応しました。
 2. Verifyエラー表示の修正(エラー発生ページ全体を表示する)
 testdateフォルダにあるadc_test.motは、拡張領域使用のテストデータとして 利用してください。

2015.05.21 r8cprog-150520版に改訂されました。操作画面が変わって(青の矢印)、[Port Test]と[Port Update]になりました。「書き込みportが使えるか」、「現在使用可能なportはどれか」が分かります。(前の版では隠しコマンド?でした。)   --------------------------- ここから上は変更の日付が逆です ---------------------------
緑の部分を選択して、赤のボタンを押せば速い速度で書き込みが完了します。操作が1画面で、全体が見通せますから楽にできます。書き込み操作が極めて簡単で素晴らしいソフトだと思います。
senshuさんの掲示板に登録すれば(趣旨に賛同すれば)ダウンロードできます。メーカー製の書き込みソフトと違ってアマチュアが使いやすいように作られていますから快適です。メーカー製はプロの大量・安全生産に重点があるのでしょう。
このソフト(GUIでないところ)には、IDを調べたり、M12AのROM内容の書き出し機能があり、さらに、IDをリセットする機能もあるそうです。メーカーがいう「IDがわからなければ消去もできない。セキュリティ上大切である。IDを忘れたらルネサスも対応できない。」が空々しく聞こえます。

まだ、少ししか使っていませんが、これからはメインになると思います。

2015.04.19 r8cprog-150419.zipに改訂されました。上記の操作画面は新しいものに入れ替えました。
AllErase(ID)ボタンが付けられて、IDを忘れて使えなくなったデバイスも全消去して再び使えるようになります。(メーカーが見ると何というでしょうか) 使用法:AllErase(ID)ボタン→ChipEraseボタン
なお、同梱の r8cprog.exe を使って、 コマンドプロンプトから r8cprog -d R5F2M120 -P COM4 -s 9600 -V を実行するとIDを読み取ることもできます。

2015.04.20 r8cprog-150420.zipに改訂されました。IDのリードボタンが追加され、また、ID不明で全消去したいときは ChipErase ボタンで消去できるようになっています。(↓を見て下さい)
上の操作画面は最新版に変更しました。

2015.04.21 r8cprog-150420a.zipに改訂されました。[Erase ID]ボタンが付けられました。したがって、ID不明で全消去したいときは、R8CマイコンをResetし、 [Erase ID]→[ChipErase] の順にクリックします。
なお、今はUSB-シリアル変換にFT232RLを使っています。同じ装置でFDTを使うと「通信がうまくできない」ことが再三ありましたが、この r8cprog-GUI では完全に書き込めています。安定性は極めてよろしい、という感じです。

2015.05.02 遅くなりましたが、r8cprog-150423a.zipに改訂されました。プログラムROMとdata ROM が別に消去できるようになりました。ChipEraseを使うと同時に消去できます。

2015.05.09 r8cprog-150508版に改訂されました。操作画面は変更がありません。変更されたところなど引用します。
(Verify errorを除いたうえ) なお、r8cprog-GUIの機能も強化しました。
[All FFh]ボタンは、シフトキーを押下してクリックすると、[All 00h]の働きに なり、[Erase ID]ボタンもシフトキー押下でクリックすると、別の文字列をセット します。
IDが文字列の場合は、IDの右側に文字列を表示させることにしました。
また、MOTファイルが大きく書き込み終了までに時間がかかる場合、「応答なし」に なることがありましたが、これを修正しました。
まだ完全ではありませんが、初期のものに比べ確実に品質は向上しています。
今後は、2015年5月8日版を利用してください。


2015.05.14 r8cprog-150513版に改訂されました。操作画面は変更がありません。書き込みの待ち時間を調整されたとのことです。

2015.05.18 r8cprog-150518版に改訂されました。操作画面に Connect Test ボタンが新設されました。
変更点をsenshuさんの掲示板から引用します。
主な変更点
(1) r8cprog-GUIを二重起動禁止にした。
(2) r8cprog-GUIにCOMポート接続確認機能を追加した。
 →[Connect Test]ボタンでCOMポートの利用の可否を確認できる。
  このボタン以外のボタンも、通信可能な場合のみr8cprogを起動する。
(3) r8cprogの通信待ち時間を調整した。
これらの修正により、同一COMポートを利用するTeraTerm利用時の誤操作を低減できると思います。
なお、[Connect Test]ボタンは、[ID Check]ボタンとは異なり、r8cマイコンには一切の信号を送出しません。そのため、Reset SWの操作回数を減らすことができます。

2015.05.19 r8cprog-150519版に改訂されました。操作画面は変更がありません。
変更点を引用します。
Shiftキーを押しながら[Connect Test]をクリックすると、COMPortリストを 更新する。これにより、起動後でも最新のPortリストが得られます。
起動後にUSBコネクタを挿入した場合や、何らかの理由でUSBシリアルモジュール が認識されなかった場合に効果的に利用できます。

2015.05.20 r8cprog-150519版に改訂されました。版の名前は同じですが、操作画面のボタンの名称が変わりました。(上図)

その他の書き込みソフト
最初は見た目が簡単な FlashSta を使ってみました。操作は簡単で見た目もほどほどですが、書き込みに時間がかかることと、待ち時間の間、ソフトの窓が消えてしまうのが不安です。だれの発想でしょうか。何もないところを待っていてエラーストップでは残念です。

次に、FDT (ルネサス Flash Development Toolkit)を使いました。機能が多くて迷うのですがワークスペース名を適当に書いて、書き込み方法を決めます。デバイスはフィルタに「M12」と入れると選択しやすくなります。R5F2M120Aを選択します。USBのポート番号やデバイス名を毎回入れなくてもよいので、M12Aだけの私には便利です。なお、COM番号、ボーレートなどはあとでも変更できます。---現在(2015.05)は全く使っていません。


to Mr.Aleks download r8cprog-150824a,r8cprog-150824b.zip
  4 書き込みソフト おわり





 5 R8C/M12A を 32kROM として使う 
お聞きしたところによると R8C/M12A は本来32kBのROMと1.25kBのRAMを持っているそうですが、デバイスの規格がROM2kB、RAM256Bの製品として提供されているとのことです。他の製品と同じチップを使っているのがその理由とか。
メーカーがその規格で出しているから、メーカー製のHEWやFDTは2kBまでのプログラムを作り、書き込む仕様になっています。メーカー製のソフトウエアを書き換えれば32kROMとして使えることになります。
私は教えていただいた方法にしたがい、次の手順で32kROMとして使うことにしました。なお、上記のr8cprog-GUIは32kROMで使うことになっています。

1. R5F2M120A.fcfを書き換えます。(私の場合は、C:\Program Files\Renesas\FDT4.09\kernels\ProtD\R5F2M120A\Renesas\1_0_00にありました。)
RVF/RC45 blogさんのサイトから32k用のファイルfを戴きました。このページの下の方に「 ・M120AN 設定ファイル」というリンクが有ります。そのリンクから R5F2M120A.fcfをコピーでいただきました。メーカーのファイルは書き換えができなくなっているようですから、32k用のR5F2M120A.fcfをエクスプローラでペーストして置き換えました。警告は出ますが無視します。

2. HEWを使っていますのでコンパイル時に32kと認識させる必要があるので、HEWの設定を変えます。
HEWを立ち上げて、「ビルド」メニューから「Renesas M16C Standard Toolchain」を開きます。次に、「リンカ」タブを開き、「セクション」を選びます。現れるリストの 3段中の2段目の 0x0000E000 を 0x00008000 に変更します。これはワークスペースを新規作成する時に毎回必要となります。
HEWの使用時に toolchain→リンカ→セクション 中段のアドレス=0x00008000 に注意が必要だと思います。

この1、2の変更で32kROMとして使っています。(2kBを超えるプログラムが書けるのはいつの日か?)
  5 R8C/M12Aを32kROMとして使う おわり




 6 臨時書込み端子 
プログラム書込み用コネクタを付けないで実装したときにプログラムの変更を書き込むための臨時コネクタを作りました。
と言っても、ユニバーサル基板にピンをはんだ付けしただけでMCUの 5,8,14,16番ピンを挟み込んで接触しているだけです。
ピンの位置を間違わないように、誤接続しないように電源を切って装着してピンを確認してから電源を入れます。もちろん問題なく書き込めます。コネクタのない実装をためらわずできます。


  6 臨時書込み端子 おわり






















工事中 inserted by FC2 system