基于μCOS-Ⅱ的嵌入式系統以太網通信功能的實現
u C/OS-Ⅱ是一個源碼開放的搶占式實時操作系統。它內核短小精悍、可裁減、執行時間確定。系統大部分代碼采用C語言編寫,與硬件有關的部分都集中在兩個文件中,給出了規范的接口說明,移植相當方便,可應用于目前大多數型號的8位、16位、32位CPU。
u C/OS-Ⅱ提供的僅僅只是一個實時的調度及任務間通信的內核,沒有集成網絡協議。上網是當前嵌入式設備的廣泛需求,本文討論輕型TCP/IP協議棧的引入以及相關網絡設備驅動程序,實現嵌入式系統的網絡功能。
本文所用的硬件系統結構如圖1所示。開發板基于TMS320LF2407A的含DSP核微處理器和LAN91C111以太網控制器。在成功移植了μCOS-Ⅱ的基礎上進一步實現了以太網通訊功能。下面重點介紹TCP/IP協議棧的引入和LAN91C111驅動的編寫。
圖1 嵌入式以太網硬件系統結構圖
TCP/IP網絡協議棧的引入
在μCOS-Ⅱ上引入下TCP/IP協議棧,由于嵌入式系統的硬件資源有限,必須使用小型協議棧。這種協議棧很多,LwIP是其中之一。
關于}wIP簡介
LwIP是瑞士計算機科學院(SCICS)的Adam Dunkels等開發的一套用于嵌入式系統的開放源碼的輕型TCP/IP協議棧,但Lwip實現了較為完備的IP,ICMP, UDP, TCP協議,具有超時時間估計、快速恢復和重發、窗口調整等功能。IwIP在保持協議主要功能的基礎上減少對RAM和ROM的占用,一般它只需要幾十K的RAM和40K左右的ROM就可以運行,很適合同μCOS-Ⅱ相配合用在嵌入式系統中。
LwIP在設計時就考慮到了將來的移植問題,它把所有與硬件、操作系統、編譯器相關的部分獨立出來,放在/src/arch目錄下,因此LwIP在μCOS-Ⅱ上的實現就是修改這個目錄下的文件,其它的文件一般不需要修改。下面分別予以說明:
協議棧的實現
評論