Nios® Vエンベデッド・プロセッサー・デザイン・ハンドブック

ID 726952
日付 10/31/2022
Public
ドキュメント目次

5.7.3.1. ネットワーク・タスクのコンフィグレーション

このデザイン例では、µC/TCP-IPスタックには、Receiveタスク、Transmit De-allocationタスク、Timerタスクの3つのコンフィグレーション可能なタスクがあります。各タスクは、独自のタスク優先度順とタスク・スタック・サイズでコンフィグレーションされます。

タスクの優先度を高くするには、低い値で登録する必要があり、その逆も同様です。サードパーティーのベンダーは、最適なパフォーマンスを得るために、以下に示すようなタスクの優先度順をコンフィグレーションすることをお勧めしています。

  • ネットワークTransmit (TX) De-allocationタスク (最高優先度)
  • ネットワーク・タイマー・タスク
  • ネットワークReceive (RX) タスク (最も低い優先度)
タスク・スタック・サイズは、使用するプロセッサー・アーキテクチャーとコンパイラーに依存します。ほとんどのアプリケーションでは、スタックサイズを4,096バイトにコンフィグレーションすれば十分であると考えられます。
表 23.  ネットワーク・タスクのコンフィグレーション
設定 説明 デフォルト値
TX_TASK_PRIO ネットワークTX割り当て解除タスクの優先度順 1u
RX_TASK_PRIO ネットワーク受信タスク優先度順 3u
TMR_TASK_PRIO ネットワーク・タイマー・タスクの優先度順 5u
TX_TASK_SIZE ネットワークTX割り当て解除タスク・スタック・サイズ 4096u
RX_TASK_SIZE ネットワーク受信タスク・スタック・サイズ 4096u
TMR_TASK_SIZE ネットワーク・タイマー・タスク・スタック・サイズ 4096u

uc_tcp_ip_init.c のデフォルトのネットワーク・タスク・コンフィグレーション

#define TX_TASK_SIZE  (4096u)
#define RX_TASK_SIZE  (4096u)
#define TMR_TASK_SIZE (4096u)

static const unsigned TX_TASK_PRIO  = 1u;
static const unsigned RX_TASK_PRIO  = 3u;
static const unsigned TMR_TASK_PRIO = 5u;