2017-07-10 8 views
0

ARMベースのEVBで作業していますが、メモリの場所に問題があります。新しいEVBが到着するまで:LD(GNUリンカ)のRAMアドレスを除外

特定のRAMアドレスまたはアドレス範囲を除外するようにLDに伝える最も簡単な方法は何ですか?特に、これを達成するためにリンカースクリプトを変更する方法は?

+1

'ld'が使用するリンカスクリプトを修正しますか? –

+0

拡張子 '* .ld'のファイルが必要です。そのファイルのSECTIONSでアドレス範囲を編集する必要があります。限り、私はリンカスクリプトファイルのアドレス範囲について知っている限り。 – Gaurav

+0

"最も簡単な"方法は、決して使用しないでバッファを意図的に置くことです(あなたのツールチェーンが 'at()' __attribute__'をサポートしていると仮定します)(ハードウェアは悪いRAMを書き込むときロックされません。しかし、正しい方法は、.ldファイル内のマップから削除することです。 –

答えて

0

.ldスクリプトを変更する代わりに、この場所に未使用の変数を作成することができます。すべてのコンパイラがそれをサポートするわけではありませんが、ここには例があります:http://www.keil.com/support/docs/2829.htm。この変数が最適化されていないか、リンクの最適化が無効になっていないことを確認するだけです。

関連する問題