2013年8月25日日曜日

AVRマイコンでデータをFlashROMへ置くには

AVRマイコンのTiny2313やTiny13は安価で楽しいのだがメモリーが限られる。しかもすっかり忘れていたことにハーバードアーキテクチャーなので、プログラム領域とデータ領域が分離されている。
ちょっとしたデータをプログラム側へ置きたかったのだが、少し事情が変わっているようでてこずった。
以前は
const char prog_char data[10] = { 初期値 };
みたいな感じだったようだが、prog_charはdeprecatedだそうで、avr-gcc-4.3.4だと以下のようにするらしい。
const char data[10] PROGMEM = { 初期値 };
アクセスは以前と同じで
char res = pgm_read_byte(&date[5]);
とかするようだ。
しかしすっかり忘れていたよ。ハーバードアーキテクチャー。。

0 件のコメント:

コメントを投稿