現在Atmel Studio6.2でATmega88pマイコンのプログラミングを行っています。
https://sourceforge.jp/projects/cc1101driver/scm …
AVR studio4.19 + winAVR Cコンパイラで作成していたコードをAtmel Studio6.2に移してコンパイルを行ったところ、EEPROMアドレスへのデータ書き込みが逆になってしまう現象が起きました。
#define EEPROM __attribute__((section(".eeprom")))
ctl_data EEPROM gctl_data;
reg_slave EEPROM greg_slave[100];
intEEPROMeprom_level[14];
char EEPROM eprom_fixid[3];
char EEPROM test_mode;
char EEPROM monitor_state;
int EEPROM wdt_cnt;
int EEPROM cnt_loop_break;
このようなコードを”AVR studio4.19 + winAVR”の時からしているのですが、このときは
ctl_data EEPROM gctl_data;
こちらがEEPROMアドレスの0x0000番地から始まっていたのですが、Atmel Studio6.2の場合は、
int EEPROM cnt_loop_break;
こちら側が0x0000番地に配置するようになっていて、逆になってしまっています。
この場合、一番最初のアドレスに割り当てするには、コードも逆にして記述する必要がありますでしょうか?
どうぞ、ご教示頂きますようお願いいたします。
No.1ベストアンサー
- 回答日時:
単に変数宣言しただけだけでは変数の実アドレスはコンパイル環境依存であり、
プログラムからメモリ位置を制御できません。
WinAVRもAS6も同じGCCですがバージョンが異なります。
そもそも変数名でアクセスすれば実アドレスは関知しなくて良いはずですし、
自分で分かる実アドレスに配置したいならポインタを使うものです。
回答頂きありがとうございます。
#define EEPROM __attribute__((section(".eeprom")))
save_eeprom_data_t EEPROM save_eeprom_data;
このように
save_eeprom_data_t 構造体にまとめて、アドレス位置を決めるように設定してみました。
https://sourceforge.jp/projects/cc1101driver/scm …
助かります。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# 質問です 下記のコードを分かりやすく解説お願いします 初心者です #include ‹stdio.h 3 2022/05/26 22:03
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# pythonのファイルの並びでの読み込みとリストについて 4 2022/04/13 03:52
- C言語・C++・C# Microsoft Visual Studio Community 2019 タブキーが入力できない 1 2022/04/30 06:39
- その他(プログラミング・Web制作) Python - Excel で Webからデータを連続取得したいのですが エラーが出ます 1 2023/07/06 20:08
- Excel(エクセル) マクロ(データ取得と転記)について教えてください 3 2022/12/24 12:18
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
- C言語・C++・C# 変数のスコープ 5 2023/05/27 17:50
- その他(プログラミング・Web制作) atcoder python コードへの助言 2 2022/08/12 15:31
- ドライブ・ストレージ HDDのチェック方法 6 2022/05/04 09:49
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
メールをパスワードつきで送る方法
-
Excelのセルにユーザー名...
-
YouTubeが毎回ログインしないと...
-
大学定期試験過去問サイト「過...
-
メールを返信したら、英語のメ...
-
LINE TCBというところからLINE...
-
メールのマナー編
-
インスタの捨て垢で友達のスト...
-
メールアドレスで上付きのハイフン
-
エクセルで複数ファイルに同一...
-
「@」(アットマーク)の無いメ...
-
メールアドレス 上バーの入力...
-
CSVファイルを添付するときにパ...
-
URLとメールアドレス
-
メールエラー
-
メールアドレスから個人を特定...
-
高一男子です 僕が絶対に悪いん...
-
Outlookで、メールを他...
-
インスタグラムでブロックされ...
-
ワードに入力したメールアドレ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excelのセルにユーザー名...
-
メールをパスワードつきで送る方法
-
LINE TCBというところからLINE...
-
メールアドレス 上バーの入力...
-
大学定期試験過去問サイト「過...
-
メールエラー
-
メールのマナー編
-
メールアドレスで上付きのハイフン
-
インスタの捨て垢で友達のスト...
-
インスタのアイコンについてるN...
-
メールを返信したら、英語のメ...
-
steam版 apexのログアウト方法...
-
ビーリアルのユーザー名を変え...
-
メールアドレスから個人を特定...
-
携帯電話を解約してもSMSの受信...
-
「@」(アットマーク)の無いメ...
-
YouTubeが毎回ログインしないと...
-
解約済みの iPadについて 解約...
-
カカオで退会せずに、アプリだ...
-
CSVファイルを添付するときにパ...
おすすめ情報