AVR Studio 改め Atmel Studio 6がリリースされたので、自分のノートPCにインストールしてみた。
AVR Studio 5.1で開発していたソリューション(プロジェクト)をビルドしてみたところ、「code」の宣言で次のようなエラーが出た。
variable 'XXX' must be const in order to be put into read-only section by means of '__attribute__((progmem))'
つまり「__attribute__( (progmem) )で変数XXXを read-only なセクションに置くなら const を付けろ」ということ。
ちなみにcodeはcompiler.hで次のように定義されている。
#define code PROGMEM
さらに PROGMEM は pgmspace.h で次のように定義されている
#define PROGMEM __ATTR_PROGMEM__
これは、データをプログラムメモリに置くためのアトリビュート。
ということで、ソースコード中の全てのcodeの前にconstを追加するか、compiler.hのcodeの定義を次のように変更することでエラー回避。
#define code const PROGMEM