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