ENC28J60和AS3990的網絡UHF讀寫器設計
2.2 LwIP協(xié)議棧移植
①完成LwIP協(xié)議內部使用的數(shù)據(jù)類型的定義,如u8_t、s8_t、u16_t、u32_t等。這樣使得協(xié)議棧內部使用的數(shù)據(jù)類型不再受移植平臺處理器和編譯器的影響,增強了協(xié)議棧的可移植性。移植時,根據(jù)編譯器和移植平臺事先定義好這些數(shù)據(jù)類型,定義如下:


②定義臨界區(qū)保護函數(shù)用于開關中斷,定義結構體封裝宏以避免編譯器地址自動對齊。LwIP的實現(xiàn)基于這樣一種機制,即上層協(xié)議已經明確知道了下層所傳上來的數(shù)據(jù)的結構特點,上層直接使用地址計算得到想要的數(shù)據(jù),而避免了數(shù)據(jù)遞交時的復制與緩沖。所以需定義結構體封裝宏,禁止編譯器的地址自動對齊以防止數(shù)據(jù)結構被打亂。
③實現(xiàn)與信號量和郵箱操作相關的函數(shù),比如建立、刪除、等待、釋放等。LwIP使用郵箱和信號量來實現(xiàn)上層應用程序與協(xié)議棧間、下層硬件驅動與協(xié)議棧問的信息交互。這些函數(shù)可以通過調用μC/OS-II提供的信號量、郵箱函數(shù)來實現(xiàn)。
評論