プログラム内で利用する変数は、通常、SRAM上に配置されます。読み取り専用のデータ(つまり、変数定義時に初期化できる変数)は、フラッシュメモリにおいてSRAMを節約することができます。また、EEPROMにデータを格納することもできます。フラッシュメモリとEEPROMに配置したデータは、スケッチの中では「直接」利用することはできず(変数によるアクセスができません)、API(関数)を利用して一旦SRAM上の変数に値をコピーする必要があります。 フラッシュメモリのデータはスケッチ内で初期化できるだけで、スケッチの実行中の書き換えはできません。EEPROMに初期値を書き込むには、avr-gccの機能を利用する必要があります。 フラッシュメモリ フラッシュメモリには、スケッチとブートローダが配置されます。プログラム内で利用する変数も格納することもできます。 フラッシュメモリにデータを格納には、スケッ
![Arduino Unoのメモリ](https://cdn-ak-scissors.b.st-hatena.com/image/square/798c7d4876fca7fb03026b52c19c216d4de9fa6d/height=288;version=1;width=512/https%3A%2F%2Fgarretlab.web.fc2.com%2Fimages%2Fgarretlab_ogp.png)