Previous: 13. フラッシュメモリプログラミング |
Up: 13. フラッシュメモリプログラミング |
Next: 13.2. 書き換えの基本的手順 |
これまでバックアップレジスタやEEPROM等のメモリへの書き込み方法を見てきました。STM32の場合、ROMとして内蔵しているフラッシュメモリにも、ソフトウェアから書き込みを行うことができます。
バックアップレジスタと比較したときの、フラッシュメモリの特徴としては、
・電力の供給が停止しても消えない
・大容量である
・細かい単位での書き込みができない
・書き込みには時間がかかる
という点が挙げられるでしょう。
EEPROMと比較したときのフラッシュメモリの特徴としては、
・外部部品(EEPROM)の増設が不要
・交換ができない
という点が挙げられるでしょう。
またフラッシュメモリが、STM32が実行するプログラムを格納するために使用しているメモリだということも注目すべき点です。つまり、STM32で実行中のプログラムは、実行するプログラム自体を書き換えることができるということです。本書で紹介しているマイコンボードがUSB経由でプログラムを書き換える仕組みも、このフラッシュメモリプログラミングの機能を利用しています。
なおフラッシュメモリは記憶素子に使用されている酸化膜が劣化するため、繰り返しの書き込みには寿命があります。短命なものでは100回から300回ほどしか書き込みができません STM32のフラッシュメモリは少なくとも1万回の書き換えが可能であることが保証されています。開発者が開発デバッグの際に書き込みを行う際の許容回数と十分といえるでしょう。ただフラッシュメモリをRAMのように何度も書き換えるプログラムを組んでしまうと、あっという間に寿命がきてしまいますので注意しましょう。
DFUファームウェアが書き込まれているマイコンボードを使用している場合に、0x08000000番地から0x08003000番地までの間のフラッシュの領域を消去すると、DFUファームウェアが破壊されますので気をつけてください。
以下、フラッシュメモリの消去、書き込みを行うことをフラッシュメモリプログラミングと呼んで解説します。
Previous: 13. フラッシュメモリプログラミング |
Up: 13. フラッシュメモリプログラミング |
Next: 13.2. 書き換えの基本的手順 |