質問: ### 前提・実現したいこと マイコン用のソースから実行ファイルを生成するツールをIARのEWARMからGNUツールチェーンに移行したいと思っています。 Cソースのコンパイルはなんとか通ったようなので次はアセンブラソース(*.s)の記述をGNUアセンブラ用に書き換えています。 ただ、そこでIAR側の`MODULE ?cstartup`という文と`CSTACK`というシンボルの意味が解らず書き換えられません。 `MODULE`はIARでは「ライブラリモジュールの開始」らしいですが、リファレンス内にも説明がないためライブラリモジュールというのがいまいち理解できていません。そのため、GASでどう置き換えればいいのか調べられていないです。マクロのようなものなのでしょうか? また`?cstartup`の`?`は、単なるラベルの一部でいいのでしょうか。IARでは何かを明示するときにラベルに`?`をつける、などの慣習があるのかと思いましたがリファレンスには見当たらず、これも情報不足です。 `CSTACK`については、他のファイルからインポートしている気配がないのですが、IARの予約語かなにかでしょうか? ただ、IAR以外の資料で、リンカのほうで指定しているらしきものもあり、正体が判然としません。 これらの記述の意味や役割、GNUアセンブラにおいて代替となる記述などに心当たりのある方がいらっしゃればご教授いただきたいです。 もしくはIARからGNUツールチェーンへの移行の参考になりそうな情報など、よろしくお願いします。 ### 補足情報(言語/FW/ツール等のバージョンなど) GNU ARM Embedded Toolchain in launchpad ver6
回答: 少しググってみただけですが、少しでも参考になれば。 参照したドキュメントなどが質問の環境に該当するかどうかすら不明なので、あまりアテにはなりません。 ?cstartup ========== `?`が名前の一部かどうかは置いておくとして、cstartupモジュールを読み込んでいるっぽいので、それだけ分かれば十分ではないのでしょうか?(cstartupは名前の通りスタートアップモジュールだと思います) CSTACK ======= これはスタック領域の開始(もしくは終端)アドレスだと思うのですが、プロジェクト設定のようなものか、リンカで設定されていないでしょうか?(同様のものに**ヒープ領域**などがあります)