TCP/IPプロトコル・スタックの省メモリ開発事例(後編) ――ROM 8Kバイト,RAM 0.5KバイトにTCP/IPプロトコル・スタックを収める

浅井 敬,佐藤 剛,坂本直史

tag: 組み込み

技術解説 2004年12月28日

● 迷った項目を再度見直す

 前回の開発で実装するべきかどうかを最後まで検討した項目のうち,以下の項目については,今回は実装を見送りました.

1) スロー・スタート,ふくそう回避

 データの送信時には,1パケットごとに確認応答を待つように仕様を変更したため,スロー・スタートやふくそう回避のための処理は不要となりました.

2) 遅延ACK

 これは転送性能や効率に関する機能であるため,実装しませんでした.

3) RTTの計測

 一般に,再転送の間隔やゼロ・ウィンドウ・プローブの送信間隔は,RTTに応じて動的に変更します.今回の開発では,再転送とゼロ・ウィンドウ・プローブの間隔を固定にしたため,RTTは不要となりました.

● 実装面でのくふう

 実装面では,ROMの使用量を低減するために,以下の方針で実装しました.

  • OSがなくても動作できるようにする
  • できるだけ類似の処理を共通化し,関数にする

 転送速度やプログラムの保守性をある程度犠牲にしながら,プロトコル処理の流れを見直しました.そのほか,マイコンの特徴を活用したり(例えば,使用頻度の高いグローバル変数を抽出して,それらに対するアクセスにはスタティック・ベース・レジスタ相対アドレッシングを使用するなど),コンパイラが生成するアセンブリ・コードに応じて,プログラムの記述を修正したりしました.

組み込みキャッチアップ

お知らせ 一覧を見る

電子書籍の最新刊! FPGAマガジン No.12『ARMコアFPGA×Linux初体験』好評発売中

FPGAマガジン No.11『性能UP! アルゴリズム×手仕上げHDL』好評発売中! PDF版もあります

PICK UP用語

EV(電気自動車)

関連記事

EnOcean

関連記事

Android

関連記事

ニュース 一覧を見る
Tech Villageブログ

渡辺のぼるのロボコン・プロモータ日記

2年ぶりのブログ更新w

2016年10月 9日

Hamana Project

Hamana-8最終打ち上げ報告(その2)

2012年6月26日