私は組み込みシステムで作業しており、リンカスクリプトを書いて外部のRAMに特定のセクションを配置しています。また、外部RAMにヒープをセットアップしようとしています。Cダイナミックアロケーションがリンカと連携してヒープの場所を定義する方法
私は「簡単に」シンボルが存在することが、彼らがポイントすべきかを予想することができる何をお知らせでしょうGNUやlibcのための任意のドキュメントを見つけるように見えることはできません。誰かが私にドキュメンテーションを指し示すことができたり、クイックランニングを与えることができればそれはすばらしいことになります。
私はラムに、代わりにだけではなく、外部RAMに.heapセクションを使用.dataセクションを拡張SBRKたの.dataのままにしたいと思います。
ほとんどの 'malloc'実装は、ヒープを取得するために、OS関数àla' sbrk'を呼び出します。だから、リンカスクリプトではなく、私があなたが悩まなければならないと思うOSやmallocの実装です。 –
@SteveSummit - このインスタンスにはOSがありません。 libc sbrk関数が呼び出されました。私の疑問は、sbrkがどの領域をどのように扱うべきかを知っていると思います。他のセクションについては、これはリンカにシンボルを追加して行います。私はこれを動作させるために必要な記号を見つけることを試みています。 – gettingSmarter
FreeRTOSのソースコードを見てください。これは、4つまたは5つの異なるmalloc実装を持っています。 @EugeneSh。 –