検索
連載

マイコン内蔵EEPROMの使い方Q&Aで学ぶマイコン講座(77)(2/3 ページ)

マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。今回は、初心者の方からよく質問される「内蔵EEPROMの使い方」についてです。

Share
Tweet
LINE
Hatena

マイコン内蔵EEPROMの特徴

  • EEPROMに保存したデータは、マイコンの電源が切れても保持されるため、固有の設定データなどの保存に便利です。
  • メモリマップ上に割り当てられているため、RAMのようにアドレスを指定してアクセスすれば、簡単に消去/読み書きが可能です。
  • EEPROMは内蔵フラッシュメモリ(以下、フラッシュメモリ)と同様に不揮発性メモリ(non-volatile memory)ですが、消去単位が異なります。通常のフラッシュメモリは消去単位がページ(ブロック、セクターなどの場合もある)なので、バイト、ワード単位で消去できません(書き込みは可能)。一方、EEPROMはバイト、ワード単位での消去が可能です。
  • EEPROMの書き変え回数はフラッシュメモリよりも多く、1桁以上多い場合があります(図3参照)
<strong>図3:EEPROMの書き込み/消去時間</strong>[クリックで拡大]STM32L151のデータシートのTable 36. Flash memory and data EEPROM endurance and retentionから抜粋
図3:EEPROMの書き込み/消去時間[クリックで拡大]
STM32L151のデータシートのTable 36. Flash memory and data EEPROM endurance and retentionから抜粋

使用上の注意点

 1.リセット直後のEEPROMは書き込みが保護されているため、書き込む前に保護を解除する必要があります。

 2.EEPROMの初期値とフラッシュメモリの初期値が違う場合があります。多くの場合、フラッシュメモリの初期値は「1」ですが、EEPROMは「0」の場合が多いです。しかし、これは製品ごとに仕様が異なるため、必ずマニュアルやデータシートなどの仕様書を確認してください。

 3.フラッシュメモリにアクセスしている間、EEPROMの動作に制限がある場合があります。例えば、フラッシュメモリとEEPROMがバスなどのハードウェアを共有している場合、フラッシュメモリのアクセス中、EEPROMは動作を停止し、フラッシュメモリのアクセス終了後に動作を開始します。

 また、一部のハードウェアを共有している場合、フラッシュメモリのアクセス中にEEPROMの読み出しのみできるといった場合もあります。

 STの汎用8ビットマイコン「STM8Sシリーズ」*2)では、マニュアルに「プログラムメモリの読み出しや実行中に、データEEPROM への書き込み操作を行うことができます」と記載されています。このプログラムメモリは、フラッシュメモリを指しています。この場合、実行時間は最適化されます。一方、「プログラムメモリへの書き込み中にデータメモリを読み出すことはできません」とも記載されており、フラッシュメモリへの書き込み中には制限があるため注意が必要です。

 STM32L1シリーズは、もう少し複雑で、製品によって動作が異なります。フラッシュメモリとEEPROMなどを含む不揮発性メモリを構成するモジュールが2バンク構成の製品の場合、一方のバンクにあるフラッシュメモリにアクセス中に、もう一方のバンクにあるEEPROMは同時にアクセスできますが、同じバンク内にあるEEPROMにはアクセスできません。1バンク構成の製品の場合、フラッシュメモリへのアクセス中はEEPROMにアクセスできません(図4参照)

<strong>図4:STM32L151の不揮発性メモリブロックの構成</strong>[クリックで拡大]STM32L151のデータシートの表11. フラッシュメモリモジュール構成(Cat.5 デバイス)から抜粋
図4:STM32L151の不揮発性メモリブロックの構成[クリックで拡大]
STM32L151のデータシートの表11. フラッシュメモリモジュール構成(Cat.5 デバイス)から抜粋

*2)STM8Sシリーズ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る