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

ID 726952
日付 7/08/2024
Public
ドキュメント目次

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

このデザイン例では、µC/TCP-IPスタックに3つのコンフィグレーション可能なタスク (受信タスク、送信割り当て解除タスク、タイマータスク) があります。各タスクは、それぞれのタスク優先順位とタスク・スタック・サイズでコンフィグレーションされます。

タスクの優先度を高くする場合は、小さい値でレジスターする必要があります。また、その逆も同様になります。サードパーティー・ベンダーより、次に示すようにタスクの優先順位をコンフィグレーションし、最適なパフォーマンスを得られるようにすることが推奨されています。

  • ネットワーク送信 (TX) 割り当て解除タスク (最優先)
  • ネットワーク・タイマー・タスク
  • ネットワーク受信 (RX) タスク (最も低い優先度)
タスク・スタック・サイズは、使用するプロセッサー・アーキテクチャーとコンパイラーによって変わります。スタック・サイズのコンフィグレーションを4,096バイトにすると、ほとんどのアプリケーションでは十分だと考えられます。
表 36.  ネットワーク・タスクのコンフィグレーション
設定 詳細 デフォルト値
TX_TASK_PRIO ネットワークTX割り当て解除タスクの優先度 1u
RX_TASK_PRIO ネットワークRXタスクの優先度 3u
TMR_TASK_PRIO ネットワーク・タイマー・タスクの優先度 5u
TX_TASK_SIZE ネットワークTX割り当て解除タスク・スタック・サイズ 4096u
RX_TASK_SIZE ネットワークRXタスク・スタック・サイズ 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;