実現したいこと
LDのリンカースクリプトのORIGINをLDコマンドの引数から指定したい
発生している問題・エラーメッセージ
ARMのGNU Toolchainを使用して組み込みの開発をしています。
いくつかのプログラムからなるシステムで、あるプログラムのROMのアドレスをビルド時にMakefileで動的に決定し、指定したいという要求があります。
現在のリンカースクリプトは以下のようにORIGINに固定値が入っています。
LD
1MEMORY { 2 ROM (rx) : ORIGIN=0x0801A000, LENGTH=0x4000 3 .... 4}
これを、以下のような感じで、CのdefineのようにLDのコマンド引数から指定したいのですが、そのような方法はあるのでしょうか?
# こんな感じでLDの引数として値を渡したい > ld -DAPP1_ORIGIN=0x0801A000
LD
1MEMORY { 2 ROM (rx) : ORIGIN=APP1_ORIGIN, LENGTH=0x4000 3 .... 4}
試したこと
LDのリファレンスも読んでみましたが、それらしい記載は見つけられませんでした。
補足情報(FW/ツールのバージョンなど)
スクリプトで書き変えればいいのですが、もし引数以外でもより簡単な方法があればお伺いしたいです。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2024/07/22 14:15