<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > STM32F207和DM9161A的以太網(wǎng)實(shí)現方案

STM32F207和DM9161A的以太網(wǎng)實(shí)現方案

作者: 時(shí)間:2013-01-11 來(lái)源:網(wǎng)絡(luò ) 收藏


2 軟件的實(shí)現
此部分的主要工作是在硬件平臺的基礎上實(shí)現TCP/IP協(xié)議棧,由于TCP/IP協(xié)議棧較復雜,功能實(shí)現比較困難,一般選擇成熟的TCP/ IP協(xié)議棧進(jìn)行移植,此次選擇開(kāi)源并且較成熟的LwIP協(xié)議棧。
LwIP(Light Weight IP)是瑞士計算機科學(xué)院開(kāi)發(fā)的一套用于嵌入式系統的開(kāi)放源代碼TCP/IP協(xié)議棧,可移植性強,對資源要求較低,在實(shí)現TCP/IP協(xié)議主要功能的基礎上減少對RAM的占用。一般它只需要幾百KB的RAM和40 KB左右的ROM就可以運行,這使得棧適合在低端的嵌入式系統中使用。
移植工作在ST公司提供的STM32F207接口驅動(dòng)的基礎上進(jìn)行,針對DM9161A芯片更改部分底層驅動(dòng)代碼,包括時(shí)鐘配置、端口配置及PHY地址配置等,移植工作一般需要幾個(gè)小時(shí)即可完成。
LwIP提供了在TCP/IP協(xié)議棧中比較常用的TCP及UDP兩種功能。TCP是一種面向連接(連接導向)的、可靠的、基于字節流的運輸層(transp ort layer)通信協(xié)議;UDP是OSI參考模型中一種無(wú)連接的傳輸層協(xié)議,提供面向事務(wù)的簡(jiǎn)單不可靠信息傳送服務(wù)。TCP一般用于對數據可靠性要求較高,但是數據傳輸速度較低的情況。而UDP的傳輸速度較快,但是可靠性較低,需要應用層保證數據到達的有效性,而在此應用中需要傳輸的數據量較小,但是對可靠性要求較高,因此選擇TCP通信模式。
LwIP提供了兩套API:底層的基于回調(callback)的raw API和高層的順序模型的API(類(lèi)似BSD Socket)。
順序模型的API為普通的順序程序提供使用協(xié)議棧的API,和BSD風(fēng)格的API很相似,也是基于阻塞的open-read-write-close模式。鑒于TCP/IP協(xié)議棧本身就基于時(shí)間,所以TCP/IP代碼和應用程序的代碼必須在不同的線(xiàn)程中,因此此種模式需要提供操作系統的支持。
而raw API可以讓?xiě)贸绦蚝蚑CP/IP協(xié)議棧代碼結合得更緊密。程序的執行也是基于事件的,使用回調函數的機制。這種方式TCP/IP代碼和應用代碼運行在同一個(gè)線(xiàn)程中,因此這種模式可以在沒(méi)有操作系統支持的情況下使用。
實(shí)際上,順序模型的API也是基于raw API實(shí)現的。此次實(shí)現使用的是raw API,降低對硬件及軟件資源的需求,而raw API是基于事件驅動(dòng)的,在數據的響應速度上也存在一定的優(yōu)勢。
raw API的操作方法與順序模型基本類(lèi)似,只是程序的運行模式不一樣,需要采用回調式的編程思想?;緞?dòng)作包括建立連接、發(fā)送數據、接收數據、關(guān)閉連接4類(lèi),每一類(lèi)根據不同的需求提供了不同的接口函數。

結語(yǔ)
經(jīng)過(guò)測試,在STM32F207處理器及DM9161A硬件平臺上移植??梢詫?shí)現TCP、UDP等功能并穩定地運行,為后續基于此平臺開(kāi)發(fā)的通信網(wǎng)絡(luò )提供良好的基礎。

本文引用地址:http://dyxdggzs.com/article/175924.htm
晶振相關(guān)文章:晶振原理

上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>