コンテンツにスキップ

イレース・プログラム・ベリファイ範囲

ターゲットデバイスのメモリのうち、I.S.P-320がイレースする範囲、およびプログラムベリファイを行う範囲について説明します。

1. イレース範囲

I.S.P-320は、以下の範囲をイレースします。

  • 領域(コードフラッシュ, またはデータフラッシュなど)全体。

チップ全体を消去する場合

ターゲットデバイスの仕様など、条件によりチップ全体を消去の場合があります。 条件は品種によります。

イレースしない場合

例として、書込み時に自動で事前にイレースが行われるデバイス品種は、特にイレースを行わない場合があります。

1.1. STM32L011の例

ターゲットデバイス名 条件 イレース範囲 解説
STM32L011x3 プロテクト未設定 0x8000000~0x8001FFF メインフラッシュの領域全体がイレースされます。
STM32L011x3 #A プロテクト未設定 0x8080000~0x80001FF データフラッシュの領域全体がイレースされます。
STM32L011x3 ターゲットにプロテクト設定済み 0x8000000~0x8001FFF
0x8080000~0x80001FF
書込の際、プロテクトを外します。
その際、チップ全体がイレースされます。
こちらは、CPUの仕様によるものです。

2. プログラム・ベリファイ範囲

I.S.P-320は、以下の範囲をプログラム・ベリファイします。

  • ユーザーデータが存在する部分を含む、切りのいい範囲。

切りのいい範囲について

①範囲の単位は、0x10 ~ 0x400バイト程度です。こちらの値は、公開はしておりません。 ②データ前後の半端な空領域はUnused byteとみなされます。 ③ユーザーデータの先頭に0xFFが続いており、単位全体が0xFFとなる場合、データが無いものと見なす場合があります。
Unused byte

ROM全体を書き込む場合

例として、必ず領域全体を書き込む必要があるCPU品種は、ユーザーデータに関わらずROM全体を書込みます。

2.1. 例

  • ROM : 0x0000~0xFFFF
  • Unused byte : 0xFF
  • 範囲単位 : 0x100バイト
  • ユーザーデータ :
Address データ 解説
0x0000 – 0x00FF
0x0100 – 0x01FF 0xFF 0xFF … 0xFF 切りのいい範囲のルール③より、データは無いものとみなされます
0x0200 – 0x02FF 空 空 空0x03 0x04 0x05 … 0xFE 0xFF 切りのいい範囲のルール②より、空の部分はUnused byteとみなされます。
0x0300 – 0x03FF 0x00 0x01 0x02 0x03 … 0x46 0x47 0x48 空 空 … 空 切りのいい範囲のルール②より、空の部分はUnused byteとみなされます。
0xFE00 – 0xFEFF
0xFF00 – 0xFFFF

  • 実際に書き込まれるデータ :
Address データ
0x0200 – 0x02FF 0xFF 0xFF 0xFF 0x03 0x04 0x05 … 0xFE 0xFF
0x0300 – 0x03FF 0x00 0x01 0x02 0x03 … 0x46 0x47 0x48 0xFF 0xFF … 0xFF

関連項目

Unused byte