ARM用のアセンブラーで小さなモジュールを作成し、ベアメタル組み込みアプリケーションとリンクしました。アプリケーションを再構築しているときに、「エラー[Lp002]:再配置に失敗しました:値が範囲外または不正です」というメッセージが表示されることがあります。さらに不可解なのは、Cモジュールのコードをコメントアウトした後にエラーが発生することです。
IARマニュアルは、「セクションまたはコードの並べ替え」についてあいまいです。しかし、コンパイラによって.cファイルから生成されたアセンブラファイルを見ると、それらのセクション宣言と私のものに違いはありません。私は実際にコードをCでスタブアウトしてから、アセンブルされたファイルを引き継ぐことから始めました。