TCP/IPプロトコル・スタックの省メモリ開発事例(前編) ――ミドルウェアの追加で既存の16ビット・マイコンがネット対応マイコンに変身
一方,商用ではなくライセンス・フリーで組み込みマイコン向けに公開されているTCP/IPプロトコル・スタックもあります.これらは非常にコンパクトにまとめられており,ROM使用量,RAM使用量とも小さく抑えられています.しかし,機能が大幅に制限されているため注2,応用範囲に制限が生じると考えられます.
筆者らが最初に対象とした16ビット・マイコン(M16C/62)の内蔵メモリは,ROMが128Kバイト,RAMが16Kバイトでした.TCP/IPプロトコル・スタックを搭載した応用システムを開発する場合,ユーザ・アプリケーション・プログラムやOSのための領域を残しておかなければならないことを考慮すると,ROM,RAMとも内蔵メモリの半分程度で実現したいところです.そこで,使用メモリの開発目標として,ROMは64Kバイト以内,RAMは8Kバイト以内と設定しました(図2).
ROMについては何とかなりそうに思えました.一方,RAMについては,この容量で実用的な通信速度を得るのはかなり難しそうです.
注2;おもに,フロー制御の機能などが制限されていることが多い.後述するように,フロー制御に失敗するとパケットの再転送が発生して通信速度が低下したり,再転送を繰り返した結果,通信不能になる場合もある.