マイクロチップのロゴ

MICROCHIP PIC24 フラッシュプログラミング

MICROCHIP-PIC24-フラッシュプログラミング-PRO

製品情報

フラッシュプログラミング
dsPIC33/PIC24 ファミリのデバイスには、ユーザー コードを実行するためのプログラム可能なフラッシュ プログラム メモリが内蔵されています。このメモリをプログラムするには、次の XNUMX つの方法があります。

  • テーブル命令操作
  • インサーキットシリアルプログラミング (ICSP)
  • アプリケーション内プログラミング (IAP)

テーブル命令は、dsPIC33/PIC24 デバイスのフラッシュ プログラム メモリ空間とデータ メモリ空間の間でデータを転送する方法を提供します。TBLRDL 命令は、プログラム メモリ空間のビット [15:0] から読み取るために使用されます。TBLWTL 命令は、フラッシュ プログラム メモリ空間のビット [15:0] に書き込むために使用されます。TBLRDL と TBLWTL は、ワード モードまたはバイト モードでフラッシュ プログラム メモリにアクセスできます。

テーブル命令は、フラッシュ プログラム メモリ アドレスに加えて、書き込まれるフラッシュ プログラム メモリ データのソース、またはフラッシュ プログラム メモリの読み取り先となる W レジスタ (またはメモリ位置への W レジスタ ポインタ) も指定します。

このセクションでは、フラッシュ プログラム メモリをプログラミングする方法について説明します。dsPIC33/PIC24 ファミリのデバイスには、ユーザー コードを実行するためのプログラム可能なフラッシュ プログラム メモリが内蔵されています。このメモリをプログラミングする方法は、最大 XNUMX つあります。

  • ランタイム セルフ プログラミング (RTSP)
  • インサーキット シリアル プログラミング™ (ICSP™)
  • 拡張インサーキット シリアル プログラミング (EICSP)

RTSPは実行中にアプリケーションソフトウェアによって実行されますが、ICSPとEICSPはデバイスへのシリアルデータ接続を使用して外部プログラマから実行されます。ICSPとEICSPを使用すると、RTSPよりもはるかに高速なプログラミングが可能になります。RTSPのテクニックについては、セクション4.0「ランタイムセルフプログラミング(RTSP)」で説明します。ICSPとEICSPプロトコルは、各デバイスのプログラミング仕様書で定義されており、マイクロチップからダウンロードできます。 web地点 (http://www.microchip.comC 言語でプログラミングする場合、フラッシュ プログラミングを容易にするいくつかの組み込み関数が利用できます。組み込み関数の詳細については、「MPLAB® XC16 C コンパイラ ユーザーズ ガイド」(DS50002071) を参照してください。

製品使用説明書

フラッシュ プログラム メモリをプログラムするには、次の手順に従います。

  1. デバイス データ シートを参照して、ファミリ リファレンス マニュアルのセクションが使用しているデバイスをサポートしているかどうかを確認します。
  2. Microchip Worldwideからデバイスデータシートとファミリーリファレンスマニュアルのセクションをダウンロードしてください。 Webサイト: http://www.microchip.com.
  3. メモリをプログラムするには、3 つの方法 (テーブル命令操作、インサーキット シリアル プログラミング (ICSP)、インアプリケーション プログラミング (IAP)) のいずれかを選択します。
  4. テーブル命令操作を使用する場合は、TBLRDL命令を使用してプログラムメモリ空間のビット[15:0]から読み取り、TBLWTL命令を使用してフラッシュプログラムメモリ空間のビット[15:0]に書き込みます。
  5. 書き込むフラッシュ プログラム メモリ データのソース、またはフラッシュ プログラム メモリの読み取り先として、W レジスタ (またはメモリ位置への W レジスタ ポインタ) を指定してください。

フラッシュ プログラム メモリのプログラミングに関する詳細情報については、dsPIC33/PIC24 ファミリ リファレンス マニュアルを参照してください。

テーブル命令操作

テーブル命令は、dsPIC33/PIC24 デバイスのフラッシュ プログラム メモリ空間とデータ メモリ空間の間でデータを転送する方法を提供します。このセクションでは、フラッシュ プログラム メモリのプログラミング中に使用されるテーブル命令の概要を示します。基本的なテーブル命令は XNUMX つあります。

  • TBLRDL: テーブル読み取り低
  • TBLRDH: テーブル読み取り高
  • 翻訳: テーブル書き込み低
  • 結論: テーブル書き込み高

TBLRDL命令は、プログラム メモリ空間のビット[15:0]から読み取るために使用されます。TBLWTL命令は、フラッシュ プログラム メモリ空間のビット[15:0]に書き込むために使用されます。TBLRDLとTBLWTLは、ワード モードまたはバイト モードでフラッシュ プログラム メモリにアクセスできます。

TBLRDH および TBLWTH 命令は、プログラム メモリ空間のビット [23:16] の読み取りまたは書き込みに使用されます。TBLRDH および TBLWTH は、ワード モードまたはバイト モードでフラッシュ プログラム メモリにアクセスできます。フラッシュ プログラム メモリは 24 ビット幅しかないため、TBLRDH および TBLWTH 命令は、存在しないフラッシュ プログラム メモリの上位バイトをアドレス指定できます。このバイトは「ファントム バイト」と呼ばれます。ファントム バイトの読み取りは 0x00 を返します。ファントム バイトへの書き込みは影響しません。24 ビットのフラッシュ プログラム メモリは、16 つの隣り合った 15 ビット空間と見なすことができ、各空間は同じアドレス範囲を共有します。したがって、TBLRDL および TBLWTL 命令は、「下位」プログラム メモリ空間 (PM[0:31]) にアクセスします。TBLRDH および TBLWTH 命令は、「上位」プログラム メモリ空間 (PM[16:31]) にアクセスします。 PM[24:XNUMX] への読み取りまたは書き込みは、ファントム (未実装) バイトにアクセスします。いずれかのテーブル命令がバイト モードで使用される場合、テーブル アドレスの最下位ビット (LSb) がバイト選択ビットとして使用されます。LSb は、上位または下位のプログラム メモリ空間のどのバイトにアクセスするかを決定します。

図 2-1 は、テーブル命令を使用してフラッシュ プログラム メモリをアドレス指定する方法を示しています。24 ビットのプログラム メモリ アドレスは、TBLPAG レジスタのビット [7:0] と、テーブル命令で指定された W レジスタの有効アドレス (EA) を使用して形成されます。24 ビットのプログラム カウンタ (PC) は、参考のために図 2-1 に示されています。EA の上位 23 ビットは、フラッシュ プログラム メモリの場所を選択するために使用されます。

バイト モード テーブル命令の場合、W レジスタ EA の LSb を使用して、16 ビット フラッシュ プログラム メモリ ワードのどのバイトをアドレス指定するかを選択します。'1' はビット [15:8] を選択し、'0' はビット [7:0] を選択します。ワード モードのテーブル命令では、W レジスタ EA の LSb は無視されます。フラッシュ プログラム メモリ アドレスに加えて、テーブル命令は、書き込まれるフラッシュ プログラム メモリ データのソース、またはフラッシュ プログラム メモリの読み取りの宛先である W レジスタ (またはメモリ位置への W レジスタ ポインタ) も指定します。バイト モードでのテーブル書き込み操作の場合、ソース ワーキング レジスタのビット [15:8] は無視されます。MICROCHIP-PIC24-フラッシュプログラミング- (1)

テーブル読み取り命令の使用
テーブルの読み取りには 2 つの手順が必要です。

  1. アドレス ポインターは、TBLPAG レジスタと W レジスタの 1 つを使用して設定されます。
  2. アドレス位置のフラッシュ プログラム メモリの内容を読み取ることができます。

 

  1. 単語読み取りモード
    Exに示すコードampル 2-1 および例amp図 2-2 は、ワード モードでテーブル命令を使用してフラッシュ プログラム メモリのワードを読み取る方法を示しています。MICROCHIP-PIC24-フラッシュプログラミング- (2) MICROCHIP-PIC24-フラッシュプログラミング- (3)
  2. バイト読み取りモード
    Exに示すコードamp表 2-3 は、下位バイトの読み取り時のポストインクリメント演算子を示しています。これにより、ワーキング レジスタのアドレスが 0 ずつ増加します。これにより、1 番目の書き込み命令で中間バイトにアクセスするために、EA[0] が 'XNUMX' に設定されます。最後のポストインクリメントにより、WXNUMX が偶数アドレスに設定され、次のフラッシュ プログラム メモリ位置が示されます。MICROCHIP-PIC24-フラッシュプログラミング- (4)
  3. テーブル書き込みラッチ
    テーブル書き込み命令は、不揮発性プログラム メモリに直接書き込みません。代わりに、テーブル書き込み命令は書き込みデータを格納する書き込みラッチをロードします。NVM アドレス レジスタには、ラッチされたデータを書き込む最初のアドレスをロードする必要があります。すべての書き込みラッチがロードされると、特別な命令シーケンスを実行して、実際のメモリ プログラミング操作が開始されます。プログラミング中、ハードウェアは書き込みラッチのデータをフラッシュ メモリに転送します。書き込みラッチは常にアドレス 0xFA0000 から始まり、ワード プログラミングの場合は 0xFA0002 まで、行プログラミングがあるデバイスの場合は 0xFA00FE まで拡張されます。

注記: 書き込みラッチの数はデバイスによって異なります。使用可能な書き込みラッチの数については、特定のデバイスのデータシートの「フラッシュ プログラム メモリ」の章を参照してください。

制御レジスタ

フラッシュ プログラム メモリの消去および書き込み操作をプログラムするために、いくつかの特殊機能レジスタ (SFR) が使用されます: NVMCON、NVMKEY、および NVM アドレス レジスタ、NVMADR、NVMADRU。

NVMCON レジスタ
NVMCON レジスタは、フラッシュおよびプログラム/消去操作のプライマリ制御レジスタです。このレジスタは、消去操作またはプログラム操作を実行するかどうかを選択し、プログラムまたは消去サイクルを開始できます。NVMCON レジスタは、レジスタ 3-1 に示されています。NVMCON の下位バイトは、実行される NVM 操作のタイプを構成します。

NVMKEYレジスタ
NVMKEY レジスタ (レジスタ 3-4 を参照) は、フラッシュ メモリを破損する可能性のある NVMCON の偶発的な書き込みを防止するために使用される書き込み専用レジスタです。ロックが解除されると、WR ビットを設定して消去またはプログラム ルーチンを呼び出すことができる XNUMX つの命令サイクルの間、NVMCON への書き込みが許可されます。タイミング要件を考慮すると、割り込みを無効にする必要があります。
消去またはプログラミング シーケンスを開始するには、次の手順を実行します。

  1. 割り込みを無効にします。
  2. NVMKEY に 0x55 を書き込みます。
  3. NVMKEY に 0xAA を書き込みます。
  4. WR ビット (NVMCON[15]) をセットしてプログラミング書き込みサイクルを開始します。
  5. XNUMX つの NOP 命令を実行します。
  6. 割り込みを復元します。

MICROCHIP-PIC24-フラッシュプログラミング- (5)

割り込みを無効にする
フラッシュ操作を正常に実行するには、すべてのフラッシュ操作で割り込みを無効にする必要があります。NVMKEY ロック解除シーケンス中に割り込みが発生すると、WR ビットへの書き込みがブロックされる可能性があります。セクション 3.2「NVMKEY レジスタ」で説明されているように、NVMKEY ロック解除シーケンスは中断せずに実行する必要があります。

割り込みを無効にするには、グローバル割り込み有効化 (GIE ビット) を無効にするか、DISI 命令を使用します。DISI 命令は優先度 6 以下の割り込みのみを無効にするため、推奨されません。したがって、グローバル割り込み有効化方法を使用する必要があります。

CPU が GIE に書き込む場合、コード フローに影響を与えるまでに 2 つの命令サイクルが必要です。その後に XNUMX つの NOP 命令が必要ですが、NVMKEY のロードなどの他の有用な作業命令に置き換えることもできます。これは、設定操作とクリア操作の両方に適用されます。割り込みを再度有効にする場合は、以前に呼び出された関数が他の理由で割り込みを無効にしたときに、NVM ターゲット ルーチンが割り込みを許可しないように注意する必要があります。アセンブリでこれに対処するには、スタックのプッシュとポップを使用して GIE ビットの状態を保持できます。C では、RAM の変数を使用して、GIE をクリアする前に INTCONXNUMX を格納できます。割り込みを無効にするには、次のシーケンスを使用します。

  1. INTCON2 をスタックにプッシュします。
  2. GIE ビットをクリアします。
  3. NVMKEY への XNUMX つの NOP または書き込み。
  4. WR ビット (NVMCON[15]) をセットしてプログラミング サイクルを開始します。
  5. INTCON2 の POP で GIE 状態を復元します。MICROCHIP-PIC24-フラッシュプログラミング- (6)

NVM アドレスレジスタ
24 つの NVM アドレス レジスタ NVMADRU と NVMADR を連結すると、プログラミング操作用に選択された行またはワードの 16 ビット EA が形成されます。NVMADRU レジスタは EA の上位 XNUMX ビットを保持するために使用され、NVMADR レジスタは EA の下位 XNUMX ビットを保持するために使用されます。デバイスによっては、これらの同じレジスタを NVMADRL および NVMADRH と呼ぶ場合があります。NVM アドレス レジスタは、ダブル命令ワード プログラミング操作を実行するときは常にダブル命令ワード境界、行プログラミング操作を実行するときは行境界、ページ消去操作を実行するときはページ境界を指す必要があります。

レジスタ3-1: NVMCON: フラッシュメモリ制御レジスタMICROCHIP-PIC24-フラッシュプログラミング- (7) MICROCHIP-PIC24-フラッシュプログラミング- (8)

注記

  1. このビットは、パワーオン リセット (POR) 時にのみリセット (クリア) できます。
  2. アイドル モードを終了すると、フラッシュ プログラム メモリが動作可能になるまでにパワーアップ遅延 (TVREG) が発生します。詳細については、特定のデバイスのデータ シートの「電気的特性」の章を参照してください。
  3. NVMOP[3:0]の他のすべての組み合わせは実装されていません。
  4. この機能はすべてのデバイスで使用できるわけではありません。使用可能な操作については、特定のデバイスのデータシートの「フラッシュ プログラム メモリ」の章を参照してください。
  5. PWRSAV 命令を実行した後、省電力モードに入るかどうかは、保留中のすべての NVM 操作が完了することを条件とします。
  6. このビットは、RAM バッファ行プログラミングをサポートするデバイスでのみ使用できます。可用性については、デバイス固有のデータ シートを参照してください。

MICROCHIP-PIC24-フラッシュプログラミング- (9)

注記

  1. このビットは、パワーオン リセット (POR) 時にのみリセット (クリア) できます。
  2. アイドル モードを終了すると、フラッシュ プログラム メモリが動作可能になるまでにパワーアップ遅延 (TVREG) が発生します。詳細については、特定のデバイスのデータ シートの「電気的特性」の章を参照してください。
  3. NVMOP[3:0]の他のすべての組み合わせは実装されていません。
  4. この機能はすべてのデバイスで使用できるわけではありません。使用可能な操作については、特定のデバイスのデータシートの「フラッシュ プログラム メモリ」の章を参照してください。
  5. PWRSAV 命令を実行した後、省電力モードに入るかどうかは、保留中のすべての NVM 操作が完了することを条件とします。
  6. このビットは、RAM バッファ行プログラミングをサポートするデバイスでのみ使用できます。可用性については、デバイス固有のデータ シートを参照してください。

レジスタ 3-2: NVMADRU: 不揮発性メモリ上位アドレスレジスタ

MICROCHIP-PIC24-フラッシュプログラミング- (10)

レジスタ 3-3: NVMADR: 不揮発性メモリ アドレス レジスタ

MICROCHIP-PIC24-フラッシュプログラミング- (11)

レジスタ 3-4: NVMKEY: 不揮発性メモリ キー レジスタ

MICROCHIP-PIC24-フラッシュプログラミング- (12)

ランタイムセルフプログラミング (RTSP)

RTSP を使用すると、ユーザー アプリケーションはフラッシュ プログラム メモリの内容を変更できます。RTSP は、TBLRD (テーブル読み取り) および TBLWT (テーブル書き込み) 命令、TBLPAG レジスタ、および NVM 制御レジスタを使用して実行されます。RTSP を使用すると、ユーザー アプリケーションはフラッシュ メモリの 128 ページを消去し、特定のデバイスで XNUMX つの命令ワードまたは最大 XNUMX の命令ワードをプログラムできます。

RTSP 操作
dsPIC33/PIC24 フラッシュ プログラム メモリ アレイは、最大 1024 個の命令を格納できる消去ページに編成されています。ダブル ワード プログラミング オプションは、dsPIC33/PIC24 ファミリのすべてのデバイスで使用できます。さらに、一部のデバイスには行プログラミング機能があり、一度に最大 128 個の命令ワードをプログラミングできます。プログラミングおよび消去操作は、常に偶数のダブル プログラミング ワード、行、またはページ境界で行われます。プログラミング行の可用性とサイズ、および消去のページ サイズについては、特定のデバイスのデータ シートの「フラッシュ プログラム メモリ」の章を参照してください。フラッシュ プログラム メモリは、書き込みラッチと呼ばれる保持バッファを実装します。このバッファには、デバイスに応じて最大 128 個のプログラミング データ命令を格納できます。実際のプログラミング操作の前に、書き込みデータを書き込みラッチにロードする必要があります。RTSP の基本シーケンスは、テーブル ポインタ (TBLPAG レジスタ) を設定し、一連の TBLWT 命令を実行して書き込みラッチをロードすることです。プログラミングは、NVMCON レジスタの制御ビットを設定することによって実行されます。書き込みラッチをロードするために必要な TBLWTL および TBLWTH 命令の数は、書き込まれるプログラム ワードの数と同じです。

注記: TBLPAG レジスタは変更前に保存し、使用後に復元することをお勧めします。

注意
一部のデバイスでは、構成ビットは、プログラム フラッシュ ユーザー メモリ空間の最後のページにある「フラッシュ構成バイト」というセクションに保存されます。これらのデバイスでは、プログラム メモリの最後のページでページ消去操作を実行すると、フラッシュ構成バイトが消去され、コード保護が有効になります。したがって、ユーザーはプログラム メモリの最後のページでページ消去操作を実行しないでください。構成ビットが「デバイス構成レジスタ」というセクションにある構成メモリ空間に保存されている場合は、これは問題になりません。構成ビットがどこにあるかを確認するには、特定のデバイス データ シートの「メモリ構成」の章にあるプログラム メモリ マップを参照してください。

フラッシュプログラミング操作
RTSP モードで内部フラッシュ プログラム メモリをプログラムまたは消去するには、プログラムまたは消去操作が必要です。プログラムまたは消去操作は、デバイスによって自動的にタイミングが設定されます (タイミング情報については、特定のデバイスのデータ シートを参照してください)。WR ビット (NVMCON[15]) を設定すると、操作が開始されます。操作が終了すると、WR ビットは自動的にクリアされます。CPU は、プログラミング操作が終了するまで停止します。CPU はこの間、命令を実行せず、割り込みにも応答しません。プログラミング サイクル中に割り込みが発生した場合、その割り込みはサイクルが完了するまで保留されたままになります。一部の dsPIC33/PIC24 デバイスは、補助フラッシュ プログラム メモリを備えている場合があります (詳細については、特定のデバイスのデータ シートの「メモリ構成」の章を参照してください)。これにより、ユーザー フラッシュ プログラム メモリの消去および/またはプログラム中に、CPU 停止なしで命令を実行できます。逆に、ユーザー フラッシュ プログラム メモリからコードが実行されている限り、補助フラッシュ プログラム メモリは CPU 停止なしでプログラムできます。NVM 割り込みを使用して、プログラミング操作が完了したことを示すことができます。

注記

  1. RTSP 消去またはプログラミング操作の進行中に POR または BOR イベントが発生した場合、RTSP 操作は直ちに中止されます。デバイスのリセットが解除された後、ユーザーは RTSP 操作を再度実行する必要があります。
  2. RTSP 消去またはプログラミング操作の進行中に EXTR、SWR、WDTO、TRAPR、CM、または IOPUWR リセット イベントが発生した場合、デバイスは RTSP 操作が完了した後にのみリセットされます。

RTSPプログラミングアルゴリズム
このセクションでは、3 つの主要なプロセスで構成される RTSP プログラミングについて説明します。

変更するデータページの RAM イメージを作成する
変更するデータ ページの RAM イメージを作成するには、次の 2 つの手順を実行します。

  1. フラッシュ プログラム メモリのページを読み取り、データ「イメージ」としてデータ RAM に保存します。RAM イメージは、ページ アドレス境界から読み取る必要があります。
  2. 必要に応じて RAM データ イメージを変更します。

フラッシュプログラムメモリの消去
上記の手順 1 と 2 を完了したら、次の XNUMX つの手順を実行してフラッシュ プログラム メモリ ページを消去します。

  1. ステップ3から読み取ったフラッシュプログラムメモリのページを消去するには、NVMOP[0:3]ビット(NVMCON[0:1])を設定します。
  2. 消去するページの開始アドレスを NVMADRU レジスタと NMVADR レジスタに書き込みます。
  3. 割り込みが無効の場合:
    • a) WRビット(NVMCON[15])の設定を有効にするには、キーシーケンスをNVMKEYレジスタに書き込みます。
    • b) WR ビットを設定すると、消去サイクルが開始されます。
    • c) XNUMX つの NOP 命令を実行します。
  4. 消去サイクルが完了すると、WR ビットはクリアされます。

フラッシュメモリページのプログラミング
プロセスの次の部分は、フラッシュ メモリ ページをプログラムすることです。フラッシュ メモリ ページは、手順 1 で作成されたイメージのデータを使用してプログラムされます。データは、XNUMX つの命令ワードまたは行の増分で書き込みラッチに転送されます。すべてのデバイスには、XNUMX つの命令ワードのプログラミング機能があります。(行プログラミングが使用可能かどうか、またどのタイプが使用可能かを判断するには、特定のデバイスのデータ シートの「フラッシュ プログラム メモリ」の章を参照してください。) 書き込みラッチがロードされた後、プログラミング操作が開始され、書き込みラッチからフラッシュ メモリにデータが転送されます。これは、ページ全体がプログラムされるまで繰り返されます。フラッシュ ページの最初の命令ワードから始めて、XNUMX つのプログラム ワードまたは命令行のステップで増分し、ページ全体がプログラムされるまで、次の XNUMX つの手順を繰り返します。

  1. 書き込みラッチをロードします。
    • a) 書き込みラッチの位置を指すように TBLPAG レジスタを設定します。
    • b) TBLWTL 命令と TBLWTH 命令のペアを使用して、必要な数のラッチをロードします。
    • ダブルワードプログラミングには、TBLWTL命令とTBLWTH命令の2組が必要です。
    • 行プログラミングの場合、各命令ワード行要素ごとにTBLWTL命令とTBLWTH命令のペアが必要です。
  2. プログラミング操作を開始します。
    • a) NVMOP[3:0]ビット(NVMCON[3:0])を設定し、必要に応じてXNUMXつの命令ワードまたは命令行をプログラムします。
      b) プログラムするダブル命令ワードまたは命令行の最初のアドレスを NVMADRU レジスタと NVMADR レジスタに書き込みます。
      c) 割り込みが無効の場合:
      • キーシーケンスをNVMKEYレジスタに書き込んでWRビットの設定を有効にする(NVMCON[15])
      • WRビットを設定すると消去サイクルが開始されます
      • 2つのNOP命令を実行する
  3. プログラミング サイクルが完了すると、WR ビットはクリアされます。

必要な量のフラッシュ プログラム メモリをプログラムするには、必要に応じてプロセス全体を繰り返します。

注記

  1. RTSP を使用して消去できるフラッシュ プログラム メモリの最小量は、消去されたページ 1 ページだけであることを覚えておいてください。したがって、消去サイクルを開始する前に、これらの場所のイメージを汎用 RAM に保存することが重要です。
  2. フラッシュ プログラム メモリ内の行またはワードは、消去される前に 2 回以上プログラムしないでください。
  3. フラッシュの最後のページに構成バイトが保存されているデバイスでは、プログラム メモリの最後のページでページ消去操作を実行すると、構成バイトがクリアされ、コード保護が有効になります。これらのデバイスでは、フラッシュ メモリの最後のページを消去しないでください。

フラッシュの1ページを消去する
例に示すコードシーケンスample 4-1 は、フラッシュ プログラム メモリの XNUMX ページを消去するために使用できます。NVMCON レジスタは、プログラム メモリの XNUMX ページを消去するように構成されています。NVMADR レジスタと NMVADRU レジスタには、消去するページの開始アドレスがロードされます。プログラム メモリは、「偶数」ページ アドレス境界で消去する必要があります。フラッシュ ページのサイズを決定するには、特定のデバイス データ シートの「フラッシュ プログラム メモリ」の章を参照してください。
消去操作は、WRビット(NVMCON[15])を設定する前に、NVMKEYレジスタに特別なロック解除またはキーシーケンスを書き込むことによって開始されます。ロック解除シーケンスは、例に示すように正確な順序で実行する必要があります。amp4-1 では中断なしで実行できるため、割り込みを無効にする必要があります。
消去サイクルの後に、コードに 2 つの NOP 命令を挿入する必要があります。特定のデバイスでは、構成ビットはプログラム フラッシュの最後のページに保存されます。これらのデバイスでは、プログラム メモリの最後のページでページ消去操作を実行すると、フラッシュ構成バイトが消去され、結果としてコード保護が有効になります。ユーザーは、プログラム メモリの最後のページでページ消去操作を実行しないでください。MICROCHIP-PIC24-フラッシュプログラミング- (13)MICROCHIP-PIC24-フラッシュプログラミング- (14)

書き込みラッチのロード
書き込みラッチは、ユーザーアプリケーションのテーブル書き込みと実際のプログラミングシーケンス間のストレージメカニズムとして使用されます。プログラミング操作中、デバイスは書き込みラッチからフラッシュメモリにデータを転送します。行プログラミングをサポートするデバイスの場合、例:amp4-3 は、128 個の書き込みラッチ (128 個の命令語) をロードするために使用できる命令のシーケンスを示しています。フラッシュ プログラム メモリの行をプログラミングするために書き込みラッチをロードするには、128 個の TBLWTL 命令と 128 個の TBLWTH 命令が必要です。デバイスで使用可能なプログラミング ラッチの数を確認するには、特定のデバイス データ シートの「フラッシュ プログラム メモリ」の章を参照してください。行プログラミングをサポートしていないデバイスの場合、例:amp図 4-4 は、XNUMX つの書き込みラッチ (XNUMX つの命令ワード) をロードするために使用できる命令のシーケンスを示しています。書き込みラッチをロードするには、XNUMX つの TBLWTL 命令と XNUMX つの TBLWTH 命令が必要です。

注記

  1. Load_Write_Latch_Rowのコードは例に示すとおりです。ample 4-3およびLoad_Write_Latch_WordのコードはExに示されていますample 4-4. これらの例の両方のコードはamplesはその後の例で言及されているampレ。
  2. ラッチの数については、特定のデバイスのデータシートを参照してください。MICROCHIP-PIC24-フラッシュプログラミング- (15)

シングル行プログラミングEXAMPLE
NVMCONレジスタは、フラッシュプログラムメモリの15行をプログラムするように構成されています。プログラム操作は、WRビット(NVMCON[XNUMX])を設定する前に、特別なロック解除またはキーシーケンスをNVMKEYレジスタに書き込むことによって開始されます。ロック解除シーケンスは、例に示すように、中断することなく、正確な順序で実行する必要があります。ampしたがって、シーケンスを書き込む前に割り込みを無効にする必要があります。

注記: すべてのデバイスに行プログラミング機能があるわけではありません。このオプションが使用可能かどうかを確認するには、特定のデバイスのデータシートの「フラッシュ プログラム メモリ」の章を参照してください。

プログラミング サイクルの後に、コードに 2 つの NOP 命令を挿入する必要があります。MICROCHIP-PIC24-フラッシュプログラミング- (16) MICROCHIP-PIC24-フラッシュプログラミング- (17)

RAM バッファを使用した行プログラミング
一部の dsPIC33 デバイスでは、TBLWT 命令を使用してデータを転送するために保持ラッチを経由するのではなく、データ RAM のバッファ スペースから直接行プログラミングを実行できます。RAM バッファの位置は、書き込まれるプログラム データの最初のワードを含むデータ RAM アドレスがロードされる NVMSRCADR レジスタによって決定されます。

プログラム操作を実行する前に、RAM のバッファ スペースにプログラムするデータ行をロードする必要があります。RAM は、圧縮 (パック) 形式または非圧縮形式でロードできます。圧縮ストレージでは、00 つのデータ ワードを使用して、3 つの隣接するプログラム データ ワードの最上位バイト (MSB) を格納します。非圧縮形式では、プログラム データ ワードごとに 4 つのデータ ワードを使用し、24 つおきのワードの上位バイトは 9h になります。圧縮形式では、非圧縮形式と比較して、データ RAM のスペースが約 4/1 使用されます。一方、非圧縮形式では、上位ファントム バイトを含む XNUMX ビット プログラム データ ワードの構造を模倣します。データ形式は、RPDF ビット (NVMCON[XNUMX]) によって選択されます。これらの XNUMX つの形式を図 XNUMX-XNUMX に示します。

RAM バッファがロードされると、フラッシュ アドレス ポインター NVMADR および NVMADRU に、書き込むフラッシュ行の 24 ビット開始アドレスがロードされます。書き込みラッチのプログラミングと同様に、プロセスは NVM ロック解除シーケンスを書き込むことによって開始され、続いて WR ビットが設定されます。開始されると、デバイスは自動的に適切なラッチをロードし、すべてのバイトがプログラムされるまで NVM アドレス レジスタを増分します。例:ample 4-7 は ex を示していますampプロセスの終了。NVMSRCADRがデータアンダーランエラー状態が発生するような値に設定されている場合、URERRビット(NVMCON[8])がその状態を示すために設定されます。
RAM バッファ行プログラミングを実装するデバイスは、1 つまたは 2 つの書き込みラッチも実装します。これらは TBLWT 命令を使用してロードされ、ワー​​ド プログラミング操作を実行するために使用されます。MICROCHIP-PIC24-フラッシュプログラミング- (18)

ワードプログラミング
NVMCONレジスタは、フラッシュプログラムメモリの15つの命令ワードをプログラムするように構成されています。プログラム操作は、WRビット(NVMCON[XNUMX])を設定する前に、NVMKEYレジスタに特別なロック解除またはキーシーケンスを書き込むことによって開始されます。ロック解除シーケンスは、例に示すように正確な順序で実行する必要があります。amp4-8 は中断することなく実行されます。したがって、シーケンスを書き込む前に割り込みを無効にする必要があります。
プログラミング サイクルの後に、コードに 2 つの NOP 命令を挿入する必要があります。MICROCHIP-PIC24-フラッシュプログラミング- (19) MICROCHIP-PIC24-フラッシュプログラミング- (20)

デバイス構成レジスタへの書き込み
一部のデバイスでは、コンフィギュレーション ビットは「デバイス コンフィギュレーション レジスタ」と呼ばれるセクションのコンフィギュレーション メモリ空間に格納されます。その他のデバイスでは、コンフィギュレーション ビットは「フラッシュ コンフィギュレーション バイト」と呼ばれるセクションのプログラム フラッシュ ユーザー メモリ空間の最後のページに格納されます。これらのデバイスでは、プログラム メモリの最後のページでページ消去操作を実行すると、フラッシュ コンフィギュレーション バイトが消去され、コード保護が有効になります。したがって、ユーザーはプログラム メモリの最後のページでページ消去操作を実行しないでください。コンフィギュレーション ビットが配置されている場所を確認するには、特定のデバイス データ シートの「メモリ構成」の章にあるプログラム メモリ マップを参照してください。

構成ビットが構成メモリ空間に保存されている場合、RTSP を使用してデバイスの構成レジスタに書き込むことができます。また、RTSP を使用すると、最初に消去サイクルを実行せずに各構成レジスタを個別に書き換えることができます。構成レジスタは、システム クロック ソース、PLL、WDT の有効化など、デバイスの重要な動作パラメータを制御するため、構成レジスタに書き込むときは注意が必要です。

デバイス構成レジスタをプログラミングする手順は、フラッシュ プログラム メモリをプログラミングする手順と似ていますが、TBLWTL 命令のみが必要である点が異なります。これは、各デバイス構成レジスタの上位 23 ビットが未使用であるためです。さらに、構成レジスタにアクセスするには、テーブル書き込みアドレスのビット 70000618 を設定する必要があります。デバイス構成レジスタの詳細については、「dsPIC33/PIC24 ファミリ リファレンス マニュアル」の「デバイス構成」(DSXNUMX) および特定のデバイス データ シートの「特別な機能」の章を参照してください。

注記

  1. デバイス構成レジスタへの書き込みは、すべてのデバイスで使用できるわけではありません。デバイス固有のNVMOP[3:0]ビットの定義に従って使用可能なモードを確認するには、特定のデバイスのデータシートの「特別な機能」の章を参照してください。
  2. デバイス構成レジスタで RTSP を実行する場合、デバイスは内部 FRC 発振器 (PLL なし) を使用して動作している必要があります。デバイスが別のクロック ソースで動作している場合は、デバイス構成レジスタで RTSP 操作を実行する前に、内部 FRC 発振器 (NOSC[2:0] = 000) へのクロック スイッチを実行する必要があります。
  3. 発振器構成レジスタ (FOSC) のプライマリ発振器モード選択ビット (POSCMD[1:0]) が新しい値に再プログラムされている場合、ユーザーは、この RTSP 操作を実行する前に、FOSC レジスタのクロック スイッチング モード ビット (FCKSM[1:0]) の初期プログラム値が「0」であることを確認する必要があります。

構成レジスタ書き込みアルゴリズム
一般的な手順は次のとおりです。

  1. TBLWTL 命令を使用して、新しい構成値をテーブル書き込みラッチに書き込みます。
  2. 構成レジスタ書き込み用に NVMCON を構成します (NVMCON = 0x4000)。
  3. プログラムする構成レジスタのアドレスを NVMADRU レジスタと NVMADR レジスタに書き込みます。
  4. 割り込みが有効になっている場合は無効にします。
  5. キーシーケンスを NVMKEY レジスタに書き込みます。
  6. WRビット(NVMCON[15])を設定して書き込みシーケンスを開始します。
  7. 必要に応じて割り込みを再度有効にします。

Examp図 4-10 は、デバイス構成レジスタを変更するために使用できるコード シーケンスを示しています。MICROCHIP-PIC24-フラッシュプログラミング- (21)

レジスタマップ

フラッシュ プログラミングに関連するレジスタの概要を表 5-1 に示します。MICROCHIP-PIC24-フラッシュプログラミング- (22)

関連アプリケーションノート

このセクションでは、マニュアルのこのセクションに関連するアプリケーション ノートをリストします。これらのアプリケーション ノートは、dsPIC33/PIC24 製品ファミリ専用に書かれたものではないかもしれませんが、概念は関連しており、変更や制限事項を適用すれば使用できます。フラッシュ プログラミングに関連する現在のアプリケーション ノートは次のとおりです。

注記: マイクロチップにアクセスしてください web地点 (マイクロチップ) 追加のアプリケーション ノートとコード exampdsPIC33/PIC24 ファミリのデバイス用のファイル。

改訂履歴

改訂版A(2009年XNUMX月)
これはこのドキュメントの最初のリリース バージョンです。

リビジョン B (2011 年 XNUMX 月)
この改訂には次の更新が含まれています。

  • Exampレ:
    • 削除された例ampル 5-3 および例ampル5-4
    • 更新された例ampル 4-1、例ampル 4-5 および例ampル4-10
    • #WRへの参照は、Exで#15に更新されました。ampル 4-1、例ampル 4-5 および例ampル4-8
    • Exで次の内容を更新しましたamp4-3:
  • タイトル「ワードプログラミング」を「行プログラミング用の書き込みラッチのロード」に更新しました。
  • #ram_image への参照はすべて #0xFA に更新されました
    • 追加された例ampル4-4
    • Exのタイトルを更新しましたampル4-8
  • 注:
    • セクション4.2「フラッシュプログラミング操作」にXNUMXつの注記を追加しました。
    • セクション4.5.2「書き込みラッチのロード」の注記を更新しました。
    • セクション4.6「デバイス構成レジスタへの書き込み」にXNUMXつの注記を追加しました。
    • 表1-5に注記1を追加
  • レジスタ:
    • フラッシュメモリ制御(NVMCON)レジスタのNVM操作選択ビットであるNVMOP[3:0]のビット値を更新しました(レジスタ3-1を参照)。
  • セクション:
    • セクション5.2.1.4「ワード書き込みモード」および5.2.1.5「バイト書き込みモード」を削除しました。
    • セクション3.0「制御レジスタ」を更新しました
    • セクション4.5.5「ワードプログラミング」で次の内容を更新しました。
  • セクションタイトル「フラッシュメモリの1ワードのプログラミング」を「ワードプログラミング」に変更しました。
  • 最初の段落を更新しました
  • 2番目の段落の「1つの単語」という用語を「2つの単語」に変更しました。
    • セクション1「構成レジスタ書き込みアルゴリズム」に新しいステップ4.6.1を追加しました。
  • 表:
    • 更新された表5-1
  • プログラムメモリに関するいくつかの参照がフラッシュプログラムメモリに更新されました
  • 言語や書式の更新などのその他のマイナーアップデートがドキュメント全体に組み込まれました。

改訂版 C (2011 年 XNUMX 月)
この改訂には次の更新が含まれています。

  • Exampレ:
    • 更新された例ampル4-1
    • 更新された例ampル4-8
  • 注:
    • セクション4.1「RTSP操作」に注記を追加しました。
    • セクション3「フラッシュプログラミング操作」に注記4.2を追加しました。
    • セクション3「RTSPプログラミングアルゴリズム」に注記4.2.1を追加しました。
    • セクション4.5.1「フラッシュのXNUMXページの消去」に注記を追加しました。
    • セクション2「書き込みラッチのロード」に注記4.5.2を追加しました。
  • レジスタ:
    • 不揮発性メモリアドレスレジスタのビット15-0のビット説明を更新しました(レジスタ3-3を参照)
  • セクション:
    • セクション4.1「RTSP操作」を更新しました。
    • セクション4.5.5「ワードプログラミング」を更新しました。
  • 言語や書式の更新などのその他のマイナーアップデートがドキュメント全体に組み込まれました。

改訂D版(2011年XNUMX月)
この改訂には次の更新が含まれています。

  • セクション 2.1.3「テーブル書き込みラッチ」を更新しました。
  • セクション3.2「NVMKEYレジスタ」を更新しました
  • NVMCON: フラッシュメモリ制御レジスタの注記を更新しました (レジスタ 3-1 を参照)
  • セクション4.0「ランタイムセルフプログラミング(RTSP)」全体に大幅な更新が行われました。
  • 言語や書式の更新などのその他のマイナーアップデートがドキュメント全体に組み込まれました。

改訂版 E (2018 年 XNUMX 月)
この改訂には次の更新が含まれています。

  • 追加された例ampル 2-2、例ampル 4-2、例ampル 4-6 および例ampル4-9
  • セクション4.5.4「RAMバッファを使用した行プログラミング」を追加しました。
  • セクション1.0「はじめに」、セクション3.3「NVMアドレスレジスタ」、セクション4.0「ランタイムセルフプログラミング(RTSP)」、およびセクション4.5.3「シングル行プログラミング例」を更新しました。amp」
  • 更新された登録簿 3-1
  • 更新された例ampル4-7
  • 更新された表5-1

改訂F(2021年XNUMX月)
セクション3.2.1「割り込みの無効化」を追加しました。
更新された例ampル 3-1、例ampル 4-1、例ampル 4-2、例ampル 4-5、例ampル 4-6、例ampル 4-7、例ampル 4-8、例ampル 4-9 および例ampル 4-10.
セクション3.2「NVMKEYレジスタ」、セクション4.5.1「フラッシュの4.5.3ページの消去」、セクションXNUMX「単一行プログラミング例」を更新しました。ample」およびセクション4.6.1「構成レジスタ書き込みアルゴリズム」を参照してください。

Microchip 製品のコード保護機能に関する次の詳細に注意してください。

  • Microchip 製品は、それぞれの Microchip データ シートに記載されている仕様を満たしています。
  • Microchip 社は、意図された方法で、動作仕様の範囲内で、通常の条件下で使用される場合、同社の製品ファミリは安全であると考えています。
  • マイクロチップは、その知的財産権を尊重し、積極的に保護します。 マイクロチップ製品のコード保護機能に違反する試みは固く禁じられており、デジタルミレニアム著作権法に違反する可能性があります。
  • Microchip も他の半導体メーカーも、そのコードのセキュリティを保証できません。 コード保護は、製品が「壊れない」ことを保証することを意味するものではありません。 コード保護は常に進化しています。 Microchip 社は、自社製品のコード保護機能を継続的に改善することに取り組んでいます

この出版物およびここに記載されている情報は、Microchip製品の設計、テスト、およびアプリケーションとの統合を含め、Microchip製品でのみ使用できます。 この情報を他の方法で使用すると、これらの条件に違反します。 デバイスアプリケーションに関する情報は、お客様の便宜のためにのみ提供されており、更新によって置き換えられる場合があります。 アプリケーションが仕様を満たしていることを確認するのはユーザーの責任です。 追加のサポートについては、最寄りのMicrochip営業所にお問い合わせいただくか、次のURLで追加のサポートを受けてください。 https://www.microchip.com/en-us/support/design-help/client-supportservices.

この情報は MICROCHIP によって「現状のまま」提供されます。 マイクロチップは、非侵害、商品性、および特定の目的への適合性の黙示の保証を含むがこれらに限定されない情報に関連する、明示的または黙示的、書面または口頭、法定またはその他を問わず、いかなる種類の表明または保証も行いません。その状態、品質、または性能。 マイクロチップは、情報またはその使用に関連するあらゆる種類の間接的、特別、懲罰的、偶発的、または結果的な損失、損害、費用、または費用について、いかなる場合でも、たとえマイクロチップが事前に知らされていた場合でも、責任を負わないものとします。可能性または損害は予測可能です。 法律で認められる最大限の範囲で、情報またはその使用に関連するあらゆる請求に対する MICROCHIP の総責任は、お客様がその情報について MICROCHIP に直接支払った金額 (該当する場合) を超えないものとします。

生命維持および/または安全アプリケーションにおける Microchip デバイスの使用は、完全に購入者の責任であり、購入者は、かかる使用から生じるあらゆる損害、請求、訴訟、または費用から Microchip を防御し、補償し、免責することに同意するものとします。特に明記されていない限り、Microchip の知的財産権に基づくライセンスは、暗黙的またはその他の方法で譲渡されるものではありません。

マイクロチップの品質管理システムの詳細については、 www.microchip.com/quality.

商標

Microchip の名前とロゴ、Microchip ロゴ、Adaptec、AnyRate、AVR、AVR ロゴ、AVR Freaks、BesTime、BitCloud、CryptoMemory、CryptoRF、dsPIC、flexPWR、HELDO、IGLOO、JukeBlox、KeeLoq、Kleer、LANCheck、LinkMD、maXStylus、 maXTouch、MediaLB、megaAVR、Microsemi、Microsemi ロゴ、MOST、MOST ロゴ、MPLAB、OptoLyzer、PIC、picoPower、PICSTART、PIC32 ロゴ、PolarFire、Prochip Designer、QTouch、SAM-BA、SenGenuity、SpyNIC、SST、SST ロゴ、SuperFlash 、Symmetricom、SyncServer、Tachyon、TimeSource、tinyAVR、UNI/O、Vectron、および XMEGA は、米国およびその他の国における Microchip Technology Incorporated の登録商標です。 AgileSwitch, APT, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, IntelliMOS, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus ロゴ, Quiet-Wire, SmartFusion、SyncWorld、Temux、TimeCesium、TimeHub、TimePictra、TimeProvider、TrueTime、WinPath、および ZL は、米国における Microchip Technology Incorporated の登録商標です。

隣接するキー抑制、AKS、Analog-for-the-Digital Age、Any Capacitor、AnyIn、AnyOut、Augmented Switching、BlueSky、BodyCom、CodeGuard、CryptoAuthentication、CryptoAutomotive、CryptoCompanion、CryptoController、dsPICDEM、dsPICDEM.net、Dynamic Average Matching、DAM 、ECAN、Espresso T1S、EtherGREEN、G​​ridTime、IdealBridge、In-Circuit Serial Programming、ICSP、INICnet、Intelligent Paralleling、Inter-Chip Connectivity、JitterBlocker、Knob-on-Display、maxCrypto、maxView、memBrain、Mindi、MiWi、MPASM、MPF、MPLAB認定ロゴ、MPLIB、MPLINK、MultiTRAK、NetDetach、NVM Express、NVMe、Omniscient Code Generation、PICDEM、PICDEM.net、PICkit、PICtail、PowerSmart、PureSilicon、QMatrix、REAL ICE 、リップル ブロッカー、RTAX、RTG4、SAM-ICE、シリアル クワッド I/O、simpliPHY、SmartBuffer、SmartHLS、SMART-IS、storClad、SQI、SuperSwitcher、SuperSwitcher II、Switchtec、SynchroPHY、Total Endurance、TSHARC、USBCheck、 VariSense、VectorBlox、VeriPHY、 ViewSpan、WiperLock、XpressConnect、ZENA は、米国およびその他の国における Microchip Technology Incorporated の商標です。

SQTPは米国Microchip Technology Incorporatedのサービスマークです。
Adaptecのロゴ、Frequency on Demand、Silicon Storage Technology、Symmcom、およびTrusted Timeは、MicrochipTechnologyInc.のその他の国における登録商標です。
GestIC は、Microchip Technology Inc. の子会社である Microchip Technology Germany II GmbH & Co. KG の他の国における登録商標です。
ここに記載されているその他すべての商標は、それぞれの会社の所有物です。
© 2009-2021、Microchip Technology Incorporated およびその子会社。
無断転載を禁じます。
ISBN: 978-1-5224-9314-3

世界的な販売とサービス

アメリカ大陸

アジア太平洋

  • オーストラリア – シドニー
    電話: 61-2-9868-6733
  • 中国 – 北京
    電話: 86-10-8569-7000
  • 中国–成都
    電話: 86-28-8665-5511
  • 中国 – 重慶
    電話: 86-23-8980-9588
  • 中国–東莞
    電話: 86-769-8702-9880
  • 中国 – 広州
    電話: 86-20-8755-8029
  • 中国–杭州
    電話: 86-571-8792-8115
  • 中国–香港SAR
    電話: 852-2943-5100
  • 中国–南京
    電話: 86-25-8473-2460
  • 中国–青島
    電話: 86-532-8502-7355
  • 中国 – 上海
    電話: 86-21-3326-8000
  • 中国–瀋陽
    電話: 86-24-2334-2829
  • 中国–深セン
    電話: 86-755-8864-2200
  • 中国–蘇州
    電話: 86-186-6233-1526
  • 中国–武漢
    電話: 86-27-5980-5300
  • 中国–西安
    電話: 86-29-8833-7252
  • 中国–厦門
    電話: 86-592-2388138
  • 中国–朱海
    電話: 86-756-3210040
  • インド – バンガロール
    電話: 91-80-3090-4444
  • インド–ニューデリー
    電話: 91-11-4160-8631
  • インド–プネー
    電話: 91-20-4121-0141
  • 日本–大阪
    電話: 81-6-6152-7160
  • 日本 – 東京
    電話: 81-3-6880- 3770
  • 韓国–大邱
    電話: 82-53-744-4301
  • 韓国–ソウル
    電話: 82-2-554-7200
  • マレーシア–クアラルンプール
    電話: 60-3-7651-7906
  • マレーシア–ペナン
    電話: 60-4-227-8870
  • フィリピン – マニラ
    電話: 63-2-634-9065
  • シンガポール
    電話: 65-6334-8870
  • 台湾– Hsin Chu
    電話: 886-3-577-8366
  • 台湾–高雄
    電話: 886-7-213-7830
  • 台湾–台北
    電話: 886-2-2508-8600
  • タイ – バンコク
    電話: 66-2-694-1351
  • ベトナム–ホーチミン
    電話: 84-28-5448-2100

ヨーロッパ

  • オーストリア–ヴェルス
    電話: 43-7242-2244-39
    ファックス: 43-7242-2244-393
  • デンマーク – コペンハーゲン
    電話: 45-4485-5910
    ファックス: 45-4485-2829
  • フィンランド–エスポー
    電話: 358-9-4520-820
  • フランス – パリ
    電話: 33-1-69-53-63-20
    ファックス: 33-1-69-30-90-79
  • ドイツ – ガルヒング
    電話: 49-8931-9700
  • ドイツ–ハーン
    電話: 49-2129-3766400
  • ドイツ – ハイルブロン
    電話: 49-7131-72400
  • ドイツ–カールスルーエ
    電話: 49-721-625370
  • ドイツ – ミュンヘン
    電話: 49-89-627-144-0
    ファックス: 49-89-627-144-44
  • ドイツ – ローゼンハイム
    電話: 49-8031-354-560
  • イタリア–ミラノ
    電話: 39-0331-742611
    ファックス: 39-0331-466781
  • イタリア–パドヴァ
    電話: 39-049-7625286
  • オランダ– Drunen
    電話: 31-416-690399
    ファックス: 31-416-690340
  • ノルウェー–トロンハイム
    電話: 47-7288-4388
  • ポーランド – ワルシャワ
    電話: 48-22-3325737
  • ルーマニア – ブカレスト
    電話: 40-21-407-87-50
  • スペイン–マドリード
    電話: 34-91-708-08-90
    ファックス: 34-91-708-08-91
  • スウェーデン–ヨーテボリ
    電話: 46-31-704-60-40
  • スウェーデン – ストックホルム
    電話: 46-8-5090-4654
  • 英国–ウォーキンガム
    電話: 44-118-921-5800
    ファックス: 44-118-921-5820

注記:

このファミリ リファレンス マニュアルのセクションは、デバイス データ シートを補足することを目的としています。デバイスの種類によっては、このマニュアルのセクションがすべての dsPIC33/PIC24 デバイスに適用されない場合があります。現在のデバイス データ シートの「フラッシュ プログラム メモリ」の章の冒頭にある注記を参照して、このドキュメントが使用しているデバイスをサポートしているかどうかを確認してください。
デバイスデータシートとファミリーリファレンスマニュアルセクションは、Microchip Worldwideからダウンロードできます。 Webサイト: http://www.microchip.com.

ドキュメント / リソース

MICROCHIP PIC24 フラッシュプログラミング [pdf] ユーザーガイド
PIC24 フラッシュプログラミング、PIC24、フラッシュプログラミング、プログラミング
MICROCHIP PIC24 フラッシュプログラミング [pdf] ユーザーガイド
PIC24 フラッシュプログラミング、PIC24、フラッシュプログラミング

参考文献

コメントを残す

あなたのメールアドレスは公開されません。 必須項目はマークされています *