これまでどのように検索し、答えが出てこなかったのですか?リンカスクリプト - セクションをメモリ領域の最後に配置
Fake Address | Section
0 | text
7 | relocate
15 | bss
23 | stack
を私はヒープを置くスタックの最後に次のように
私のメモリレイアウトです。私は使用しているARMチップの完全な降順スタックです。
ここでは、1つのセクションを配置して、それを.persist
と呼びましょう。私はそれがRAMの最後に存在するようにしたいので、これを私のリンカースクリプトにプログラムしたいと思います。しかし、この.persist
セクションのサイズは私によって定義されていませんが、コンパイラがそれに含まれるシンボルから計算されます。
これまでのところ、私はそれを行う良い方法を考え出していません。私はRAMの開始アドレスとSIZEを知っているので、セクションのサイズを知っていれば、セクションがどこに行く必要があるかを計算するのは簡単です。しかし、the GNU linker documentation (pg 74)によると、それはようです:そのセクションが割り当てられている場合
SIZEOF(セクション)は、名前の セクションのサイズをバイト単位で返します。 これが評価されたときにセクションが割り当てられていない場合、リンカーは にエラーを報告します。
私はリンカスクリプトのセクションのサイズを計算することができません。なぜなら、配置する前にサイズを計算したいからです。
これを行うには良い方法がありますか?
それをやった同様の問題 がありました。これはあなたを助けますか? http://stackoverflow.com/a/19348569/911550 – parvus
これは部分的な解決策ですが、私は何をしていません。それはまだ他の誰かが助けに来た最も近いです。ありがとう! – nonsensickle