- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Kenshow-san
Confirm to work this KBA.
Thanks
Jenna
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Jenna-san,
Japanese translation was over.
Please check below.
Original KBA:
Thanks.
==============================
タイトル: 書き込み保護設定でのF-RAMおよびnvSRAMデバイスのアドレスロールオーバースキームの違い - KBA88168
バージョン:**
質問:
F-RAMの最後のアドレスにデータが書き込まれると、ロールオーバーが発生しますでしょうか?nvSRAMとどのように異なるのでしょうか?F-RAMに書き込み保護ブロックがあるとどうなりますでしょうか?
回答:
F-RAMデバイスで一括書き込みが開始されると、その内部アドレスカウンタは、バイト書き込みが成功するたびに、次のメモリ位置に自動的にインクリメントします。内部アドレスカウンタがF-RAMデバイスの最後のメモリアドレスに到達すると、さらに自動インクリメントされて、アドレスカウンタがその開始アドレスにロールオーバーします。したがって、さらに書き込みを行うと、以前に書き込まれたデータが上書きされます。
64 Kビットデバイスについて考えた場合、8192の場所があり、64Kビットの場所にアクセスするには13ビットのアドレスが必要になります。書き込み操作を開始し、最後のメモリ位置(アドレス0x1FFF)の後でも書き込みを続行すると、内部アドレスカウンタはデバイスの開始アドレス(0x0000)にロールオーバーし、その位置から増加し続けます。たとえば、アドレス0x1FFCから書き込みを開始し、8バイトを順番に書き込む場合、アドレス0x1FFC、0x1FFD、0x1FFE、0x1FFF、0x0000、0x0001、0x0002、および0x0003に書き込みます。
ただし、メモリブロックが書き込み保護されている場合(ステータスレジスタのブロック保護ビットBP0およびBP1が設定されている場合)、nvSRAMデバイスとF-RAMデバイスには違いがあります。
nvSRAMでは、書き込みポインタが保護ブロックに入ると、アドレスカウンタは増加し続けます。ただし、実際の書き込みは行われません。アドレスカウンタが保護されていないブロック領域に到達すると、書き込みが再開されます。上位4分の1ブロック(アドレス0x1800〜0x1FFF)が書き込み禁止になっているnvSRAMについて考えてみます。一括書き込みがアドレス0x1700で開始され、保護ブロックに継続される場合、データはアドレス0x1700〜0x17FFに書き込まれますが、0x1800〜0x1FFFに書き込まれたデータは失われ、それ以降のデータは実際にはアドレス0x0000以降に書き込まれます。つまり、コントローラは保護されたブロックを考慮に入れ、保護されていないブロックに対してのみ一括書き込みを実行する必要があります。
一方、F-RAMデバイスでは、書き込みポインタが保護されていないブロックの最後のメモリ位置からインクリメントすると、アドレスのインクリメントが停止し、その結果、データの書き込みが保護されたメモリブロックで停止します。上部4分の1ブロック(アドレス0x1800〜0x1FFF)が書き込み禁止になっているF-RAMについて考えてみます。一括書き込みがアドレス0x1700で開始され、保護されたブロックに続く場合、データはアドレス0x1700〜0x17FFに書き込まれます。次のデータバイトはアドレス0x1800に書き込まれません。また、アドレスの増分はアドレス0x1800で停止します。以降の書き込みはすべて失われます。
==============================
25-August-2020