マイコン入門spacer ad
トップページに戻る(マイコン徹底入門:STM32で始めるARM/Cortex-M3組み込み開発)
「マイコン徹底入門」とは? |  「マイコン徹底入門」を読む |  ダウンロード |  掲示板 |  筆者の自己紹介


Previous: 13.2. 書き換えの基本的手順

Up: 13.2. 書き換えの基本的手順

Next: 13.2.2. フラッシュの消去


マイコン徹底入門:周辺回路編:STM32のペリフェラルを活用: 13. フラッシュメモリプログラミング: 13.2. 書き換えの基本的手順:

13.2.1. フラッシュのアンロック

 STM32には、周辺回路として、フラッシュメモリの、消去、書き込みを行うためのフラッシュメモリコントローラが内蔵されています。フラッシュメモリプログラミングはこのコントローラへの指示という形で行います。

 STM32のフラッシュメモリは、誤って内容を書き換えてしまうことが無いように、初期状態では書き込みが禁止された状態(ロック状態)になっています。ロックを解除するために使用するのが、FLASH_Unlock関数(ライブラリ 20?1)です。

ライブラリ 20?1 FLASH_Unlock関数

関数プロトタイプ

void FLASH_Unlock ( void )

動作

フラッシュの消去回路のロックを解除します。

引数

無し。

戻り値

無し。

 サンプルプログラムでは冒頭部分で以下のようにしてフラッシュのロックを解除しています。

FLASH_Unlock();

 次に、実際にフラッシュメモリプログラミングを行う前に、フラッシュメモリコントローラの各種フラグをクリアしておきます。このために使用するのが、FLASH_ClearFlag関数(ライブラリ 20?2)です。

ライブラリ 20?2 FLASH_ClearFlag関数

関数プロトタイプ

void FLASH_ClearFlag ( uint16_t FLASH_FLAG )

動作

フラッシュコントローラのペンディング中のフラグをクリアします。

引数

FLASH_FLAG

クリアするフラグを以下のマクロの組み合わせで指定します。

FLASH_FLAG_EOP

処理完了フラグ

FLASH_FLAG_PGERR

プログラムエラーフラグ

FLASH_FLAG_WRPRTERR

書き込み保護エラーフラグ

戻り値

無し。

 サンプルプログラムでは以下のようにしてすべてのフラグをクリアしています。

FLASH_ClearFlag(FLASH_FLAG_BSY | FLASH_FLAG_EOP | FLASH_FLAG_PGERR | FLASH_FLAG_WRPRTERR);


Previous: 13.2. 書き換えの基本的手順

Up: 13.2. 書き換えの基本的手順

Next: 13.2.2. フラッシュの消去


このページはITと知的財産の法律情報「法務ネット」の管理人が制作・運営しています。
_Toc266801166