• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Atmel Studioのeepromアドレス)

Atmel StudioのEEPROMアドレス

このQ&Aのポイント
  • Atmel Studio6.2でATmega88pマイコンのプログラミングを行っています。EEPROMアドレスへのデータ書き込みが逆になる問題が発生しています。
  • AVR studio4.19 + winAVRとAtmel Studio6.2の違いによって、EEPROMアドレスの配置が逆になっています。
  • 最初のアドレスに割り当てるためには、コードを逆にして記述する必要がありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • kabasan
  • ベストアンサー率44% (264/588)
回答No.1

単に変数宣言しただけだけでは変数の実アドレスはコンパイル環境依存であり、 プログラムからメモリ位置を制御できません。 WinAVRもAS6も同じGCCですがバージョンが異なります。 そもそも変数名でアクセスすれば実アドレスは関知しなくて良いはずですし、 自分で分かる実アドレスに配置したいならポインタを使うものです。

techhouse
質問者

お礼

回答頂きありがとうございます。 #define EEPROM __attribute__((section(".eeprom"))) save_eeprom_data_t EEPROM save_eeprom_data; このように save_eeprom_data_t 構造体にまとめて、アドレス位置を決めるように設定してみました。 https://sourceforge.jp/projects/cc1101driver/scm/svn/commits/2557 助かります。

関連するQ&A

専門家に質問してみよう