インテルのみ表示可能 — GUID: hvv1645775209835
Ixiasoft
インテルのみ表示可能 — GUID: hvv1645775209835
Ixiasoft
5.7.3.2. ネットワーク・インターフェイスのコンフィグレーション
µC/TCP-IPは、受信および送信されたデータをネットワーク・バッファー (受信バッファーおよび送信バッファーとも呼ばれる) に格納します。これらのネットワーク・バッファーのサイズは、ネットワーク・インターフェイスの最小および最大パケット・フレーム・サイズを満たす必要があります。
- Receive Large Buffer
- Transmit Large Buffer
- Transmit Small Buffer
大きなバッファーのサイズは最大フレームサイズのままにしておくのが最善である一方、小さなバッファーのサイズは小さくしてシステムのRAM使用量を減らし、システム・パフォーマンスをさらに向上させることができます。さらに、デバイスに割り当てられる受信バッファーと送信バッファーの数をコンフィグレーションできます。ネットワークごとに少なくとも1つのバッファーを指定する必要があることに注意してください。
ネットワーク・バッファーをコンフィグレーションしたら、それらを有効なメモリー位置 (メイン・システム・メモリーまたは専用記述子メモリー) にレジスターします。専用の記述子メモリーを使用している場合は、ソースコードで記述子メモリーの開始アドレスとメモリースパンを定義します。
µC/TCP-IPデザイン例におけるデフォルトのコンフィグレーションについては、ネットワーク・バッファーのコンフィグレーションの表を参照してください。ハードウェア・システムに専用の記述子メモリーが用意されており、受信バッファーにレジスターされます。送信バッファーは、メインメモリーに配線されます。
設定 | 説明 | デフォルト値 |
---|---|---|
.RxBufPoolType | 受信データバッファーのメモリー位置。 6 7 | NET_IF_MEM_TYPE_DEDICATED |
.RxBufLargeNbr | デバイスに割り当てられた受信バッファーの数。 | NUM_RX_BUFFERS 8 |
.TxBufPoolType | 送信データバッファーのメモリー位置。6 7 | NET_IF_MEM_TYPE_MAIN |
.TxBufLargeNbr | デバイスに割り当てられた送信バッファーの数。 | 5u |
.TxBufSmallSize | 小さな送信バッファーのサイズ。 | 60u |
.TxBufSmallNbr | デバイスに割り当てられた小さい送信バッファーの数。 | 5u |
.MemAddr | 専用記述子メモリーの開始アドレス。9 | SYS_DESC_MEM_BASE |
.MemSize | 専用記述子メモリーのサイズ (バイト単位)。 | SYS_DESC_MEM_SPAN |
uc_tcp_ip_init.c のデフォルトのネットワーク・インターフェイス・コンフィグレーション
static const NET_BUF_QTY NUM_RX_BUFFERS =
2 * NUM_RX_LISTS * ALTERA_TSE_MSGDMA_RX_DESC_CHAIN_SIZE;
static NET_DEV_CFG_ETHER NetDev_Cfg_Ether_TSE = {
.RxBufPoolType = NET_IF_MEM_TYPE_DEDICATED,
.RxBufLargeSize = 1536u,
.RxBufLargeNbr = NUM_RX_BUFFERS,
.RxBufAlignOctets = 4u,
.RxBufIxOffset = 2u,
.TxBufPoolType = NET_IF_MEM_TYPE_MAIN,
.TxBufLargeSize = 1518u,
.TxBufLargeNbr = 5u,
.TxBufSmallSize = 60u,
.TxBufSmallNbr = 5u,
.TxBufAlignOctets = 4u,
.TxBufIxOffset = 0u,
.MemAddr = SYS_DESC_MEM_BASE,
.MemSize = SYS_DESC_MEM_SPAN,
.Flags = NET_DEV_CFG_FLAG_NONE,
.RxDescNbr = 8u, // NOTE: Not configurable.
.TxDescNbr = 1u, // NOTE: Not configurable.
.BaseAddr = 0,
.DataBusSizeNbrBits = 0,
.HW_AddrStr = "",
};