AVR Studio 6

 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