dsPICのEEPROMやFLASHメモリにC言語でアクセスする方法

dsPICボードには、SRAMに加えて、EEPROMやFLASHメモリがあります。C言語で普通にプログラミングすると、プログラムはFLASHに、変数データはSRAMに置かれます。しかし、SRAMは電源オフにすると消えてしまいますし、FLASHにくらべずっと小さい(6012Aで、SRAM 8192byte, FLASH 144Kbyte, EEPROM 4096byte) ので、データをFLASHやEEPROMに置きたくなることがあります。

ところが、MPLAB C30コンパイラには、C言語でEEPROMやFLASHメモリにアクセスする簡単な方法が用意されていません(定数をEEPROMに置く方法は用意されていますが...)。しかし、dsPIC自体にEEPROMやFLASHメモリにアクセスする能力が無いわけではないのです。その方法はdsPIC30F ファミリーリファレンスマニュアルの第5章に書かれています。

この方法をライブラリ化すればC言語から簡単にEEPROMやFLASHメモリにアクセスできるようになるはずです(作成中)。