2017-06-07 43 views
0

私の組み込みアプリケーションは、LwIPライブラリを使用して内容に応じてさまざまな長さのUDPメッセージを送信します。UDPメッセージを送信するためのLwIPバッファ管理

今は、メッセージがPBUF_RAMを使用して送信する必要があるたびに、pbuf_alloc/pbuf_freeを呼び出しています。それは正常に動作するように見えますが、私はそれが長い間実行された後、メモリの断片化不毛につながることを心配しています。私は心配すべきですか?

また、PBUF_POOLは、のみを受信するためのものであり、送信するのではなく、です。

答えて

0

PBUF_POOLはRX専用です。考えられるのは、受信パケットとバッファされたTXセグメントのメモリプールを分離することです。ドキュメントについては、PBUF_POOL defineを参照してください。

メモリ・ヒープ内のPBUF_RAMおよび断片化に関して、ヒープの実装方法を決定するいくつかの構成があります。断片化に影響する可能性があります。だからあなたはあなたの設定を理解したいでしょう。

ヒープは、標準Cライブラリmalloc、さまざまな固定サイズの一連のプール、または1つの静的配列によって実装できます。後者を使用する場合、plug_holes()はmem_free()から呼び出され、フラグメントを処理する必要があります。 mem.c