?? 自由風os夢工廠--實時操作系統uc-0s ii下tcp-ip協議棧的實現.htm
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<!-- saved from url=(0048)http://half.nease.net/ucos/article/ucostcpip.htm -->
<HTML><HEAD><TITLE>自由風OS夢工廠--實時操作系統uC/0S II下TCP/IP協議棧的實現</TITLE><!-- InstanceBegin template="/模板/Document.dwt" codeOutsideHTMLIsLocked="false" -->
<META
content="嵌入式系統,ucos,ucos ii,uc/os,vxworks,linux,os,arm,ppc,x86,embed,操作系統,單片機,實時操作系統,驅動,文件系統,網絡,計算機,tcpip,總線,通信,郭景峰,崔卿,自動控制"
name=Keywords>
<SCRIPT language=JavaScript type=text/JavaScript><!--function MM_reloadPage(init) { //reloads the window if Nav4 resized if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) { document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }} else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();}MM_reloadPage(true);//--></SCRIPT>
<!-- InstanceBeginEditable name="doctitle" --><!-- InstanceEndEditable -->
<META http-equiv=Content-Type content="text/html; charset=gb2312"><!-- InstanceParam name="OptionalRegion1" type="boolean" value="true" --><LINK
href="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/format.css" type=text/css
rel=stylesheet>
<META content="MSHTML 6.00.2600.0" name=GENERATOR></HEAD>
<BODY>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD align=middle width=150 height=55><A
href="http://www.textclick.com/viewmain.asp?name=guojingfen"><IMG
height=50 src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/logo.gif"
width=150 border=0></A></TD>
<TD colSpan=2 height=55>
<DIV align=right>
<OBJECT
codeBase=http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0
height=50 width=595 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000><PARAM NAME="movie" VALUE="/flash/Head.swf"><PARAM NAME="quality" VALUE="high">
<embed src="/flash/Head.swf" quality="high"
pluginspage="http://www.macromedia.com/go/getflashplayer"
type="application/x-shockwave-flash" width="595"
height="50"></embed></OBJECT></DIV></TD></TR></TBODY></TABLE>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD bgColor=#f7f7f7>
<TABLE cellSpacing=0 cellPadding=0 width=750 align=center border=0>
<TBODY>
<TR>
<TD colSpan=2 height=30>當前位置<IMG height=8
src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/arrow.gif"
width=12><A href="http://half.nease.net/main.htm">首頁</A><IMG
height=8 src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/arrow.gif"
width=12><!-- InstanceBeginEditable name="navigate" --><A
href="http://half.nease.net/ucos/index.htm">uC/OS-II</A><IMG
height=8 src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/arrow.gif"
width=12><A href="http://half.nease.net/ucos/article.htm">技術應用</A><!-- InstanceEndEditable --></TD>
<TD width=160 height=30>
<DIV align=center><IMG height=14
src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/home.gif" width=14
align=absMiddle> <A
onclick="this.style.behavior='url(#default#homepage)';this.setHomePage('http://half.nease.net')"
href="http://half.nease.net/ucos/article/ucostcpip.htm#"
target=_self>設為首頁</A> <IMG height=13
src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/fav.gif" width=15
align=absMiddle> <A
href="javascript:window.external.addfavorite('http://half.nease.net','自由風OS夢工廠--嵌入式系統開發')">收藏本站</A></DIV></TD></TR>
<TR>
<TD width=150 bgColor=#000000 height=1></TD>
<TD width=450 bgColor=#000000 height=1></TD>
<TD width=150 bgColor=#000000 height=1></TD></TR>
<TR>
<TD vAlign=top align=middle colSpan=3>
<P> </P>
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
<TBODY>
<TR>
<TD bgColor=#cccccc height=25>
<DIV align=center><FONT size=4><!-- InstanceBeginEditable name="title" --><FONT
size=4><STRONG>實時操作系統uC/0S II下TCP/IP協議棧的實現</STRONG></FONT><!-- InstanceEndEditable --></FONT></DIV></TD></TR>
<TR>
<TD bgColor=#ebebeb height=30>
<DIV align=center><!-- InstanceBeginEditable name="smalltitle" -->2003-08-09[中][摘][文]<FONT
color=#0000ff></FONT><!-- InstanceEndEditable --></DIV></TD></TR>
<TR>
<TD height=40>聲明:<FONT
color=#c60d0d>本網站資源來自本站原創、網友來稿和摘自別處等途徑,在此敬告各位網友,下載和使用時要充分尊重作品版權,對來自不同途徑的資源請分別參照<A
href="http://half.nease.net/info/declare.htm"
target=_blank>相關聲明</A>嚴格執行。本站拒絕一切具有商業化色彩的使用與下載。萬望注意,特此聲明!</FONT></TD></TR></TBODY></TABLE>
<TABLE borderColor=#000000 cellSpacing=0 cellPadding=0 width=700
border=1>
<TBODY>
<TR>
<TD borderColor=#ffffff bgColor=#666666 height=20>
<TABLE cellSpacing=0 cellPadding=0 width=700 border=0>
<TBODY>
<TR>
<TD width=25>
<DIV align=center><FONT face=Wingdings
color=#ffffff>1</FONT></DIV></TD>
<TD width=652> </TD>
<TD width=23>
<DIV align=center><A
href="javascript:window.close()"><FONT face=Wingdings
color=#ffffff>x</FONT></A></DIV></TD></TR></TBODY></TABLE></TD></TR>
<TR>
<TD vAlign=top borderColor=#ffffff align=middle
height=120><BR><!-- InstanceBeginEditable name="EditRegion1" -->
<TABLE cellSpacing=0 cellPadding=0 width=600 border=0>
<TBODY>
<TR>
<TD>
<P class=p4><SPAN class=p7>摘要: </SPAN></P>
<P class=p4><SPAN
class=p7>結合ez80和ARM7兩種系統上的具體實現,說明了如何在嵌入式實時操作系統uC/0SII上移植實現LwIP這套TCP/IP協議棧,使uC/0S
II成為支持網絡的RTOS。</SPAN></P>
<P><SPAN class=p7>關鍵詞: uC/0S
II,TCP/IP,LwIP,網絡設備驅動</SPAN><BR></P>
<UL>
<LI class=p4>1 引言 </LI></UL>
<P><SPAN
class=p4>隨著嵌入式系統與網絡的日益結合,在嵌入式實時操作系統中引入TCP/IP協議棧,以支持嵌入式設備接入網絡,成為嵌入式領域重要的研究方向。uC/0S
II是近年來發展迅速的一個開放源碼實時操作系統,但它只是一個實時的任務調度及通信內核,缺少對外圍設備和接口的支持,如沒有文件系統、網絡協議、圖形界面。筆者在多個嵌入式項目的開發過程中,以開源TCP/IP協議棧LwIP為基礎,給uC/0S
II加上了網絡支持。下面就以uC/0S II +LwIP分別在8位MCU ez80和32位MCU
ARM7TDMI上的實現為例進行說明。<BR>需要說明的是,筆者使用的ez80系統是Zilog公司的ez80190開發板,自帶網絡芯片。而ARM7系統是使用筆者參與開發的Skyeye,一個基于GDB的ARM7TDMI指令級軟件仿真器。Skyeye小組最近為Skyeye加上了軟件模擬的Ne2k兼容網絡芯片,可以運行帶網絡支持的μcLinux和uC/0S
II。以下的全部相關程序和代碼都可以在Skyeye網站(hpclab.cs.tsinghua.edu.cn/~skyeye/)下載。</SPAN></P>
<UL>
<LI><SPAN class=p4>2 基于uC/0S II的網絡平臺概述</SPAN> </LI></UL>
<P><SPAN class=p4>嵌入式操作系統uC/0S
II是一個公開源代碼的占先式多任務的微內核RTOS,其性能和安全性可以與商業產品競爭。uC/0S
II的特點可以概括為以下幾個方面:公開源代碼,代碼結構清晰、明了,注釋詳盡,組織有條理,可移植性好。可裁剪,可固化。內核屬于搶占式,最多可以管理60個任務。uC/0S
II自1992年的第一版(uC/0S)以來已經有好幾百個應用,是一個經實踐證明好用且穩定可靠的內核。目前國內對uC/0S
II的研究和應用都很多。<BR>TCP/IP是Internet的基本協議,以其實用性、高效性已經成為事實上的工業標準。嵌入式設備要與Internet網絡直接交換信息,就必須支持TCP/IP協議。目前嵌入式設備上TCP/IP方案有很多種,但面向低端應用的開源嵌入式網絡平臺還很少見。<BR>uC/0S
II是一個富有開放色彩的RTOS,只要買一本書就可獲得源代碼,對學校和教育的使用完全免費,商業應用的費用相對也很低。但是它目前的一些第三方TCP/IP支持都是完全商業化的,用戶需要付費才能獲得,很少給出源代碼,這影響了uC/0S
II的研究和推廣。通過把開放源代碼的TCP/IP協議棧LwIP移植到uC/0S
II上來,就獲得了一套可免費研究、學習的嵌入式網絡軟件平臺。系統示意圖如圖1:</SPAN></P>
<P align=center><SPAN class=p4><IMG height=194
src="自由風OS夢工廠--實時操作系統uC-0S II下TCP-IP協議棧的實現.files/ucostcpip.jpg"
width=287><BR>圖1 uC/0S II+LwIP系統示意圖</SPAN></P>
<UL>
<LI><SPAN class=p4>3 開源TCP/IP協議棧LwIP簡介</SPAN> </LI></UL>
<P><SPAN class=p4>LwIP是瑞士計算機科學院(Swedish Institute of
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -