- パワーサイクル (PD# を切り替えます)。
- 必要な構成でアクティブ レジスタに書き込み、出力クロックが期待どおりに動作することを確認します。
- R171[6] (REGCOMMIT) を 1 に設定して、アクティブ レジスタを SRAM にコミットします。
- 注:転送が完了すると、REGCOMMIT は自動的に 0 にクリアされます。
- R20[7] (ROM_PLUS_EE) を 1 に設定して、EEPROM オーバーレイを有効化します。
- R180 (NVMUNLK) を 234 に設定して、EEPROM のロックを解除します。
- 1 回のトランザクションで:
- R171[1] (NVMERASE) を 1 に設定して、EEPROM の内容を消去します。
- R171[0] (NVMPROG)を 1 に設定して、SRAM の内容を EEPROM に転送する EEPROM プログラミングを開始します。
- 注:ステップ 5 と 6 は、間にある他のレジスタトランザクションなしのアトミック (連続) 書き込みである必要があります。EEPROM プログラミングを成功させるために、シリアル通信割り込み (同じバス上の他のデバイスへのアクセスなど) も許可されません。
- R171[2] (NVMBUSY) をポーリングしてクリアされるまで、または約 500ms 待って、EEPROM のプログラミングが完了するのを待ちます。
- 注:EEPROM プログラミングを正常に行うには、NVMBUSY がクリアされるまで、電源を切ったり、PD# を切り替えたり、次の手順に進んだりしないでください。
- NVMUNLK を 0 に設定して EEPROM をロックします。
- 次の POR で EEPROM プログラミングが成功すると、EEPROM プログラム カウント R16 (NVMCNT) が 1 インクリメントされます。また、EEPROM オーバーレイ ビットが設定されている場合、アクティブ レジスタは EEPROM からロードされます。
16進数命令リスト:
R171 0x00AB40 # Set REGCOMMIT
R20 0x001480 # Enable EEPROM OVERLAY
R180 0x00B4EA # UNLOCK EEPROM
R171 0x00AB03 # ERASE and PROGRAM SRAM contents to EEPROM
while(READ_REG(NVMBUSY) != 0) # NVMBUSY is located in 0xAB, bit 2
R180 0x00B400 # LOCK EEPROM