R8C/34WマイコンにFDTを使ってプログラムを書き込もうとしたところ、上手くいきませんでした。
症状としては以下の通りです。
FDTを使用してシリアルケーブルで接続し書き込みを行おうとしたところ、プログレスバー40%程度でIDコードの入力を求められる。
入力部は全てffがあらかじめ入力されており、そのままOKボタンを押すと、「Error No 16194: IDコードが不一致です」と表示される。
書き込み時、マイコンのMODEピンには0Vを入力しています。
前回同じ方法で書き込みを行ったときにはIDコードの入力は求められませんでした。
何が問題なのか教えて頂きたくお願い申し上げます。
わわいです
FDTってのを使ったことないのでこれまたあてずっぽだが、
そのシリアルケーブルがきちんと動いてるのかチェックしてみてはどーでしょう
書き込み以外の動作(ってのができるかどうか知らんが)はきちんと出来てる?
R8C32HにE8aとFDT-Basicでロードする際に似たような話がありました。
手順書を作成したはずなので探したのですが見つかりません。
IDをディフォルトでなく手入力しろと書いたような記憶があります。
環境が無いので、トレースして確認もできません。
曖昧な記憶ですが、回答も無いようなので、書き込んでみました。
チョコです。
R8C/34Wのハードウェア マニュアルのフラッシュメモリの章の
「28.3.1 IDコードチェック機能」を見ると、「リセットベクタの3 バイト
(0FFFCh~0FFFEh番地)が“FFFFFFh”ではない場合、」にIDチェックを
行うように書いてあります。
おそらく、デバイスがブランク状態で書き込むとIDは求められないはずです。
この場合には何かのプログラムが書かれていたためにIDを求められたのでは
ないかと思います。
少し思い出してきましたが、非常にあいまいな記憶です。また、R8C32Hの話です。
idが何かわからないし、チョコさんの回答では二度と使えないことになってしまうという話になってしまい困ったと言うことですよね。
sect30.incを開くとidがあると思います。"FFFFFFFFFFFFFF"あたりと予想します。
あらかじめ入力されているヘキサ数と桁数が違ったような記憶があります。
よって、手入力しなければなりません。
不確かな情報です。ダメモトで試してみてください。
fujiと申します。
私も開発中に意図せずIDコードの不一致が発生してしまうことがあり、書き込みに使用したmotファイルが残って
いれば、以下のFAQを参考にIDコード値を確認するようにしております。
開発環境はHEW+M16C+E8aです。
ユーザーフォーラム FAQ 106850
ファイル名M16C_APN_ID_110607j.pdf で検索したら出てくると思います。
シミュレータにmotファイルを読み込ませてメモリを読み取る方法です。
ビルド環境はHEWでしょうか?
HEWでしたら上記手順書の通りに進めれば書き込んだIDコードの確認が出来る可能性があります。
IDの書き込み位置はメモリ上に分散して書き込まれていますので、使用されているマイコンのIDコードの書き込み
位置を調べて試されてはいかがでしょうか。
R8C/34WのIDはハードウェア マニュアルの「12. IDコード領域」に説明があります。
「図12.1 IDコード領域」にアドレスが記載されています。
また、「12.3 強制イレーズ機能」には、ライタ等からのID コードが、ASCII コードの
“ALeRASE”の場合にユーザROMを消せる(一部条件あり)ようなので、消してしまえば、
次はIDなしで書けるようにできるのではないでしょうか。
まずは、心を落ち着けてマニュアルを参照してください。
ここでの"ライタ等"はFDTで、FDTの機能とハードウェア マニュアルがつながらないのが問題なんだと思います。
記憶違いかもしれませんが、FDTがリリースされて、さらにRenesas Flash Programmerに統合されるような雰囲気もありFDT正規版が消えてしまった時期もあったと記憶してます。現状ではFDTの正規版も存在するようですが、私は、お試し版FDT-BASICで開発をしてしまってます。これはルネサス様に問い合わせできないと言うことです。一応、お試し版にも今一つ分かり辛いですがマニュアルはついてきます。
先日アンインストールしてしまったFDTお試し版を再インストールしてみました。適当なターゲットが無いので動作はさせてません。再ビルドをしてしまったと思うのでmotファイルは残っていないとは思いますが、"オプション"→"その他の設定"→"Auto Send ID..."で参照からmotファイルを呼び出せばIDを読み取ってくれるようです。
FF FF FF FF FF FF FFを入れてみるしかないと思います。0やブランクではもちろんダメですが、ffでそのままOKをクリックでもダメだったような記憶があります。
皆様ご返答ありがとうございます。
原因が判明しました。
通信に外付けUSBシリアルポートを用いていたのですが、それとFDTの相性が良くなかったようです。
詳しくは分かりませんが、OSのアップデート(ドライバのアップデートはしていないので)に伴い今まで書き込めていたのがダメになったのかもしれません。
表示されたエラーが通信関係でなく、シリアルポートもFDTでの通信以外では普通に使えていたので盲点となっていました。
お手数をおかけしました。