[1] 概要
マイコン内蔵のフラッシュの書き込みには大きく
・チップ単体での書き込み
・ターゲット・システム上のデバイスの書き込み
の2つがあります。
この2つの方法はターゲット・デバイスがどのような状態にあるかの違いだけで、
基本的な書き込み方法は共通です。
これ以外に、一部のデバイスでは自分自身で書き込みを行うセルフ書き込みをサポートしていますが、
ここでは触れません。
チップ単体での書き込みでは、ライタに加えて、
ターゲット・デバイスをセットするためのソケット・アダプタが必要になります。
通常はこの部分は (株)内藤電誠町田製作所のアダプタ (FAシリーズ)を用いるのが簡単です。
ターゲット・システム上のデバイスの書き込み (オンボード書き込みと呼びます)では、
電源の供給されたターゲット・システムとライタの間で必要な信号をやりとりするだけです。
[2] 必要なもの
書き込みに必要なものは以下の通りです。
・ライタ (例 NECエレクトロニクス:PG-FP4、内藤電誠町田製作所:FL-PR4)
・パラメータ・ファイル
(
開発ツール・ダウンロードよりダウンロード)
・制御するためのPC
・必要な配線の施された FAアダプタ (チップ単体書き込みの場合)
(オンボード書き込みではターゲット・システム)
[3] デバイスとライタのインタフェース
書き込むためにはデバイスとライタの間で信号をやりとりを行います。
基本的には、大きく
・電源/制御関係 (VDD, VPP, RESET)
・シリアル信号
・動作クロック (必要な場合)
の3種類の信号を用います。
電源/制御関係信号の中で VPP は書き込みの電源として使用する他に、
デバイスとライタの間のシリアル通信にどの方法を使用するかを指定するためにも用います。
また、VDD については、チップ単体での書き込みの場合にはライタ側から供給する事ができますが、
オンボード書き込みの場合にはボード全体を駆動するだけの容量はありませんので、
別途電源が必要です。
シリアル信号としては実際に使用する通信方法に合わせて信号を選択してください。
オンボード書き込みでは空いているシリアル・ポートのどれかを使用することになります
(ターゲット・デバイスによってサポートされている通信方法は異なりますので、
個々のデバイスに合わせて選択してください)。
なお、最も書き込み時間を短くできるのはハンドシェイク付きの3線式シリアル通信です。
ただし、これは FL-PR2 ではサポートされておりません。
動作クロックは、デバイス単体での書き込みでデバイス側にクロック発生機能を持たせない場合にはライタ側から供給することができます。
ただし、周波数はある程度制限されますので注意が必要です。
オンボード書き込みでは、基本的にクロックはターゲット・システムで発生しますので、
ライタ側からは供給する必要はありません。
[4] デバイスとライタの基本的なやりとり (初期化)
書き込みを行う場合に、ライタは先ず、デバイスに VDD を供給します。
電源の立ち上がり時間の後に VPP を供給し、立ち上がり時間を待った後で RESET を解除します。
その後、クロック発振安定時間待ちを行います。
デバイスは RESET解除とクロック供給 (発振) によりフラッシュ書き込みモードとなります。
この後、ライタは VPP をパルス状に変化させることによりどのようなインタフェースで通信を行うかをデバイスに通知します。
この処理は限られた時間以内に行わないといけないため、ライタが RESET を解除してから、
実際にデバイスの RESET が解除されるまでの時間を大きく遅延させるような回路が入らないようにしてください。
インタフェース条件の設定が完了すると、ライタはシリアル信号を使って、デバイスに初期化コマンドを最大16回送信します。
16回以内にデバイスから ACK信号が戻ればデバイスの通信準備ができたことになります。
(ここまでが正しくできなかった場合にはエラー・メッセージとして
Target initialize error
が表示されます。)
[5] 書き込みとベリファイ
通常、書き込みの場合には EPV コマンドを使用しますが、
この場合V (ベリファイ) 処理はデバイス内部でのベリファイ処理であり、
個々のデータのベリファイは行いません。
書き込みデータそのものをより確実に確認するには書き込み後に単独のベリファイ・コマンドを実行してください。
なお、フラッシュの書き込みデータはプログラム保護の観点から外部に読み出すことはできません。
また同じ観点から、ベリファイはアドレスを指定して行うこともできません。
[6] パラメータ・ファイル
パラメータ・ファイルは個々のデバイス毎に準備されています。
また、場合によってはデバイスのバージョンや使用するクロックやインタフェース条件により異なることがありますので、
書き込みたいデバイスに合ったものをご使用ください。