15

1 つのセクションの内容を 2 つの連続していないメモリ領域に書き込むリンカー スクリプトを作成しようとしています。

このメーリング リストで、これに関する古いスレッドを見つけました:「 ldリンカ スクリプトと非連続メモリ領域」

この問題に対する C28x コンパイラの機能は、セクションを複数のメモリ セグメントに分割することです: (or 関数を使用)

セクション { .text: { *(.text) } >> FLASH1| フラッシュ3 }

ここで説明: http://processors.wiki.ti.com/index.php/C28x_Compiler_-_Understanding_Linking

私は成功せずに試しました。現時点では、最初のメモリ領域を手動で埋める必要があります。しかし、コード ウィッチの一部を検索するのは難しいため、将来的には変更せず、最初のメモリ領域に合わせて完全に埋めます。

GNUリンカのそのような機能は実装されていますか? または、この問題をどのように解決できるか、より良い考えを持っている人はいますか?

4

1 に答える 1

1

最も簡単な方法 (そしておそらく唯一の方法) は、セクションを 2 つのセクションに分割し、1 つのセクションを最初のメモリ領域に割り当て、2 番目のセクションを 2 番目のメモリ領域に割り当てることだと思います。

すでにご覧になっていると思いますが、リンク スクリプトのかなり簡潔な説明です: http://www.math.utah.edu/docs/info/ld_3.html

于 2013-03-12T19:21:37.617 に答える