|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
我們想用ZLG的TCP/IP模塊,可不知穩(wěn)定性如何? |
| 作者:musich 欄目:ARM技術(shù) |
不知內(nèi)部的東東是自己寫的,還是PHILIPS或其它公司的. |
| 2樓: | >>參與討論 |
| 作者: local_mach 于 2006/1/13 15:07:00 發(fā)布:
很多東西要自己修改,看你產(chǎn)品的等級(jí)程序。 我修改了一個(gè)多月才算好用一點(diǎn) |
|
| 3樓: | >>參與討論 |
| 作者: Herowa 于 2006/1/13 15:59:00 發(fā)布:
是這樣嗎 我也想用,還想靠它實(shí)現(xiàn)SNMP,就是不知從何下手,請(qǐng)各位指點(diǎn)! |
|
| 4樓: | >>參與討論 |
| 作者: eleven11 于 2006/1/13 16:06:00 發(fā)布:
我誠心誠意的推薦zlip 雖然流控制還是不完整,但整體結(jié)構(gòu)和性能要好很多,而且移植比較簡單,如果你不是很苛求性能的話 * - 本貼最后修改時(shí)間:2006-1-13 16:07:44 修改者:eleven11 |
|
| 5樓: | >>參與討論 |
| 作者: yamoon 于 2006/1/13 16:44:00 發(fā)布:
我也改了好久... 還是不好用...性能上始終不能滿足要求 |
|
| 6樓: | >>參與討論 |
| 作者: local_mach 于 2006/1/14 16:58:00 發(fā)布:
很多是邊邊角角的問題,只有使用過程中才會(huì)慢慢發(fā)現(xiàn)。 |
|
| 7樓: | >>參與討論 |
| 作者: wangkj 于 2006/1/14 20:55:00 發(fā)布:
看來還是用linux arm會(huì)更好 有完整的tcp/ip協(xié)議,成本就得200-300,批量大還可以。 |
|
| 8樓: | >>參與討論 |
| 作者: eleven11 于 2006/1/14 21:33:00 發(fā)布:
有的協(xié)議棧還不錯(cuò)的 占資源也小 * - 本貼最后修改時(shí)間:2006-1-14 21:48:13 修改者:eleven11 |
|
| 9樓: | >>參與討論 |
| 作者: yutu2 于 2006/1/14 22:49:00 發(fā)布:
to eleven11 zlip連udp都不支持,怎么用呀 |
|
| 10樓: | >>參與討論 |
| 作者: zlg315 于 2006/1/15 0:15:00 發(fā)布:
完全是我們自己寫的,而且已經(jīng)有幾萬個(gè)產(chǎn)品的實(shí)用案例! 當(dāng)然,學(xué)習(xí)開發(fā)套件的版本是最初級(jí)的,如果有一定的基礎(chǔ)是可以通過適當(dāng)?shù)男薷氖褂玫。如果需要穩(wěn)定的商業(yè)化版本,我們不提供任何形式的代碼,甚至包括OBJ文件,因?yàn)楹苌儆腥俗鹬貜S商的知識(shí)產(chǎn)權(quán),所以我們不對(duì)外銷售源代碼,但是可以購買我們公司的TC/IP轉(zhuǎn)換器系列產(chǎn)品,或者購買我們即將推出的ARM嵌入式工控模塊,一些模塊是內(nèi)嵌了TCP/IP軟件代碼的,雖然已經(jīng)加密,但是完全供用戶二次開發(fā)調(diào)用。 |
|
| 11樓: | >>參與討論 |
| 作者: eleven11 于 2006/1/15 8:21:00 發(fā)布:
to yutu2 UDP協(xié)議是很簡單的,因?yàn)橹皇翘砑訄?bào)頭轉(zhuǎn)到IP層發(fā)送出去,我這里有示范性的代碼,你可以看看,協(xié)議棧一旦有了完整的網(wǎng)絡(luò)協(xié)議會(huì)提供免費(fèi)版本的 void UDPRecv(MEM_PCB XDATA *pMem, BYTE NetIfNo) REENTRANT { UDP_SOCKET XDATA *pUCB; UDP_HEAD XDATA *pUdpHead = (UDP_HEAD XDATA *)(pIPHead + IPHeadLen);//計(jì)算UDP首地址 #ifdef Little_End WORD UdpTotalLen = ntohs(pUdpHead->UDPTotalLen);//計(jì)算UDP總長度 #else WORD UdpTotalLen = pUdpHead->UDPTotalLen; #endif #if UDP_CHECKSUM_EN == 1 if (TCP_UDPCHECKSUM(pIPHead, UdpTotalLen) != 0)//UDP效驗(yàn) { MemFree(pMem); return; } #endif if (pUCBList != NULL)//若UDPSOCKET鏈表不為0 { pUCB = pUCBList;//搜索鏈表,找對(duì)應(yīng)SOCKET do { if (pUCB->RemoteIP == pIPHead->SourIP) if (pUCB->SinIP == pIPHead->DistIP) if (pUCB->RemotePort == pUdpHead->SourPort) if (pUCB->SinPort == pUdpHead->DistPort) { pUCBList = pUCB; goto UDP_Process; } pUCB = pUCB->pNext; } while (pUCB != pUCBList); } ICMPUnarrival(pMem, ICMP_CODE_PORT_UNARRIVAL);//若未找到,返回icmp MemFree(pMem); return; UDP_Process://UDP進(jìn)程,根據(jù)端口號(hào)分支 SWITCH (pUdpHead->SourPort) { case DHCP_CLIENT_PORT://DHCP break; case DHCP_SERVES_PORT://DHCP break; default: pUCB->UDPDataRecv((BYTE XDATA *)pUdpHead + UDP_HEAD_LEN, UdpTotalLen - UDP_HEAD_LEN);//無特點(diǎn)含義端口的數(shù)據(jù)接收 break; } MemFree(pMem); //釋放內(nèi)存塊 } void UDPSend(MEM_PCB XDATA *pMem, UDP_SOCKET XDATA *pUCB) REENTRANT { UDP_HEAD XDATA *pUdpHead; pMem->UsedSize += UDP_HEAD_LEN;//添加要發(fā)送的數(shù)據(jù)數(shù)目 //以下添加UDP報(bào)頭 pUdpHead = (UDP_HEAD XDATA *)(POINT_IP(pMem->MemAddr) + IP_MIN_HEAD_LEN); pUdpHead->CHECKSUM = 0; #ifdef Little_End pUdpHead->SourPort = ntohs(pUCB->SinPort); pUdpHead->DistPort = ntohs(pUCB->RemotePort); pUdpHead->UDPTotalLen = ntohs(pMem->UsedSize); pUdpHead->CHECKSUM = ntohs(TCP_UDPCHECKSUM(pIPHead, pMem->UsedSize)); #else pUdpHead->SourPort = pUCB->SinPort; pUdpHead->DistPort = pUCB->RemotePort; pUdpHead->UDPTotalLen = pMem->UsedSize; pUdpHead->CHECKSUM = TCP_UDPCHECKSUM(pIPHead, pMem->UsedSize); #endif IPSend(pMem, pUCB->RemoteIP, IP_PCOL_UDP);//轉(zhuǎn)到IP層發(fā)送 } * - 本貼最后修改時(shí)間:2006-1-15 8:23:47 修改者:eleven11 |
|
| 12樓: | >>參與討論 |
| 作者: Herowa 于 2006/1/15 9:08:00 發(fā)布:
謝謝eleven11 你用過SNMP協(xié)議嗎,能不能指導(dǎo)我一下,謝謝! |
|
| 13樓: | >>參與討論 |
| 作者: arwei 于 2006/1/15 16:49:00 發(fā)布:
我花了很大的時(shí)間完善zlip 現(xiàn)在已經(jīng)移植到arm7上了,在修改原來的代碼基礎(chǔ)上加了udp嵌套口,加上了ping ,加上了基于udp的dgcp,telnet,加上了http服務(wù)器,以及cgi程序。還有smtp和pop3協(xié)議,完全可以收發(fā)電子郵件了。我看了周立功的以太網(wǎng)絡(luò)產(chǎn)品,上面的功能我都分析了,可以實(shí)現(xiàn)了。 其實(shí)tcp/ip協(xié)議沒有什么神秘的,有了很好的c語言基礎(chǔ),再分析一下網(wǎng)絡(luò)協(xié)議,最好是查看對(duì)應(yīng)的rfc文檔,然后在下栽一個(gè)監(jiān)視軟件,花點(diǎn)時(shí)間就可以搞定。 提醒想要一直zlip的朋友: 1,注意ads中指針類型的指定。 2,注意前后臺(tái)程序中后臺(tái)程序的循環(huán)查詢等待,要修改。 3,多處htons,htonl的錯(cuò)誤,希望有耐心去調(diào)試。 4,不修改協(xié)議的時(shí)候,發(fā)送tcp包的時(shí)候要注意不要發(fā)送大于1460的包。8019吃不消化。 5,一定要修改內(nèi)存分配部分,使4位對(duì)齊,否則必定死機(jī)。 6,在包結(jié)構(gòu)中放棄4字節(jié)對(duì)齊。加上關(guān)鍵字__packed 7,可以縮短時(shí)間中斷,以提高速度,但一定要修改對(duì)應(yīng)的預(yù)定義,使等待充發(fā)等時(shí)間不變。 |
|
| 14樓: | >>參與討論 |
| 作者: yamoon 于 2006/1/18 9:37:00 發(fā)布:
這里也有朋友在做snmp呀 能留個(gè)聯(lián)系方式嗎,最近一直在做snmp,苦于沒人一起討論,目前在ZLG的TCP/IP基礎(chǔ)上已實(shí)現(xiàn)snmp的基本操作,但還在功能上繼續(xù)完善,而且初步測試性能上也不行,主要原因應(yīng)該在于TCP/IP協(xié)議棧 有過做snmp經(jīng)驗(yàn)的或是將要做snmp的朋友可以加我MSN:yamoon@ciitz.net |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號(hào) |