TCP/IPプロトコル・スタックの省メモリ開発事例(後編) ――ROM 8Kバイト,RAM 0.5KバイトにTCP/IPプロトコル・スタックを収める
1.さらなる省メモリ化への挑戦
R8C/Tinyシリーズ(開発当時はR8C/11グループが最新の製品だった)に内蔵されているメモリは,ROMが最大16Kバイト,RAMが最大1Kバイトです.アプリケーション・プログラムのメモリ使用量を考慮すると,TCP/IPプロトコル・スタックのメモリ使用量は,それぞれ8Kバイト,0.5Kバイト程度に抑える必要があります(図1).
今回の開発では,想定される課題が前回の開発とは正反対になりました.RAMの使用量については,送受信するパケットの最大サイズを制限し,転送速度をある程度犠牲にすることにより,所望のサイズに低減できる見通しが立ちました注2.一方で,ROMの使用量を大幅に低減するには,これまで実装していた機能を一から見直す必要がありました.
注2;IPパケットの最大サイズを1,500バイトから104バイトに制限した.これに伴い,転送速度は約1/15になると見積もった.また,最大サイズについてはカスタマイズできるようにTCP/IPプロトコル・スタックを設計した.