RTL-lwIP-0.6

所属分类:Windows编程
开发工具:Unix_Linux
文件大小:831KB
下载次数:28
上传日期:2007-03-05 20:02:13
上 传 者fuwenxiang
说明:  RTL-lwIP is the porting of the lwIP TCP/IP stack to RTLinux-GPL.The focus of the RTL-lwIP stack is to reduce memory usage and code size, making RTL-lwIP suitable for use in small clients with very limited resources such as embedded systems.
(RTL-lwIP is the porting of the lwIP TCP/IP's tack to RTLinux- GPL.The focus of the RTL-lwIP's tack is to reduce memory usage and code size, making RTL-lwIP suitable for use in small clien ts with very limited resources such as embedded systems.)

文件列表:
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares.h (4536, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_compat.c (1629, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_destroy.c (1706, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_dns.h (3972, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_expand_name.c (4553, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_fds.c (1791, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_free_errmem.c (1334, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_free_hostent.c (1326, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_free_string.c (1154, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_gethostbyaddr.c (3569, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_gethostbyname.c (6594, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_init.c (6804, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_mkquery.c (5213, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_parse_a_reply.c (4701, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_parse_ptr_reply.c (4452, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_private.h (3898, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_process.c (16167, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_query.c (3028, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_search.c (6408, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_send.c (3014, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_strerror.c (2121, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares_timeout.c (2068, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\ares__close_sockets.c (1849, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\arpa\nameser.h (20783, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\arpa\nameser_compat.h (6113, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\arpa (0, 2007-03-05)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\netdb.c (7082, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip\netdb.h (1719, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\ares-1.1.1-lwip (0, 2007-03-05)
RTL-lwIP-0.6\RTL-lwIP-0.6\BSD.license (1528, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\CHANGELOG (3441, 2004-11-29)
RTL-lwIP-0.6\RTL-lwIP-0.6\CONTRIBUTORS (1279, 2004-11-26)
RTL-lwIP-0.6\RTL-lwIP-0.6\dirdep.awk (41, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man.pdf (119638, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_destroy.txt (892, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_expand_name.txt (1572, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_fds.txt (1328, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_free_errmem.txt (755, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_free_hostent.txt (960, 2004-11-18)
RTL-lwIP-0.6\RTL-lwIP-0.6\Documentation\ares\man_txt\ares_free_string.txt (587, 2004-11-18)
... ...

THIS IS THE RTL-LWIP v. 0.6 README VERSION /************************************************************************/ /* This file has been written by Sergio Perez Alcaiz */ /* */ /* */ /* Departamento de Informática de Sistemas y Computadores */ /* Universidad Politécnica de Valencia */ /* Valencia (Spain) */ /* */ /* The RTL-lwIP project has been supported by the Spanish Government */ /* Research Office (CICYT) under grant TIC2002-04123-C03-03 */ /* */ /* Copyright (c) March, 2003 SISTEMAS DE TIEMPO REAL EMPOTRADOS, */ /* FIABLES Y DISTRIBUIDOS BASADOS EN COMPONENTES */ /* */ /* This program is free software; you can redistribute it and/or modify */ /* it under the terms of the GNU General Public License as published by */ /* the Free Software Foundation; either version 2 of the License, or */ /* (at your option) any later version. */ /* */ /* This program is distributed in the hope that it will be useful, but */ /* WITHOUT ANY WARRANTY; without even the implied warranty of */ /* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU */ /* General Public License for more details. */ /* */ /* You should have received a copy of the GNU General Public License */ /* along with this program; if not, write to the Free Software */ /* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 */ /* USA */ /* */ /* Linking RTL-lwIP statically or dynamically with other modules is */ /* making a combined work based on RTL-lwIP. Thus, the terms and */ /* conditions of the GNU General Public License cover the whole */ /* combination. */ /* */ /* As a special exception, the copyright holders of RTL-lwIP give you */ /* permission to link RTL-lwIP with independent modules that */ /* communicate with RTL-lwIP solely through the interfaces, regardless */ /* of the license terms of these independent modules, and to copy and */ /* distribute the resulting combined work under terms of your choice, */ /* provided that every copy of the combined work is accompanied by a */ /* complete copy of the source code of RTL-lwIP (the version of */ /* RTL-lwIP used to produce the combined work), being distributed under */ /* the terms of the GNU General Public License plus this exception. An */ /* independent module is a module which is not derived from or based on */ /* RTL-lwIP. */ /* */ /* Note that people who make modified versions of RTL-lwIP are not */ /* obligated to grant this special exception for their modified */ /* versions; it is their choice whether to do so. The GNU General */ /* Public License gives permission to release a modified version */ /* without this exception; this exception also makes it possible to */ /* release a modified version which carries forward this exception. */ /************************************************************************/ WHAT IS RTL-lwIP? ====================================================================== RTL-lwIP is the porting of the lwIP TCP/IP stack to RTLinux-GPL. RTL-lwIP gives to RT-Tasks the chance of communicating via TCP/IP directly with other RT-Tasks or even with Linux user processes. The focus of the RTL-lwIP stack is to reduce memory usage and code size, making RTL-lwIP suitable for use in small clients with very limited resources such as embedded systems. In order to reduce processing and memory demands, RTL-lwIP uses a tailor made API that does not require any data copying. RTL-lwIP includes IP, ICMP, UDP and TCP protocols. It provides to RT-Tasks a socket-like API to communicate over a network. In this software package you'll find: * The TCP/IP stack (IPV4, IPV6, ICMP, UDP, TCP) * Asynchronous DNS resolver * Programming examples * Support for the REDD (RTLinux Ethernet Device Drivers, visit http://redd.sourceforge.net) drivers (3c59x, 8139too and e100). WHAT IS NOT RTL-lwIP? ====================================================================== RTL-lwIP is NOT a real time communication protocol since ethernet (802.3) and TCP/IP are not real time communication protocols. RTL-lwIP just gives communication via TCP/IP and all what it implies. REQUIREMENTS ====================================================================== In order to correctly compile and run RTL-lwIP you need: - RTLinux Ethernet Drivers: some Ethernet drivers for RTLinux were included in RTL-lwIP up to version 0.4. From version 0.5 on, Ethernet drivers are supported and mantained in another project: REDD (RTLinux Ethernet Device Drivers). Visit REDD to download and compile the drivers you need: http://redd.sourceforge.net - POSIX Signals: provides signals implementation for RT-Linux. POSIX signals are included in the RTLinux-3.2 distribution. You must check that option when compiling RTLinux. If you're using older distributions such as the 3.1 you can download the POSIX signals patch from: http://bernia.disca.upv.es/rtportal/apps/rtl-signals/ - POSIX Timers: allows a mechanism that can notify a thread when the time as measured by a particular clock has reached expired. POSIX timers are included in the RTLinux-3.2 distribution and depend on POSIX signals. You must check that option when compiling RTLinux. If you're using older distributions such as the 3.1 you can download the POSIX timers patch from:. http://bernia.disca.upv.es/rtportal/apps/rtl-timers/ How to use it? ====================================================================== RTL-lwIP consists of several files which are compiled and linked into one module: rtl_lwip_stack.o. Users may want to change or to select some parameters such as the network card, buffer sizes, the Ethernet cards' IP addresses, and others ... all of them are gathered together into a header file (rtl_lwipopts.h), so take a look at it and tune it. Also the path to the rtl.mk file must be properly set in the Makefile. Once this has been done, just compile (it's as simple as typing make). After compiling you can read the INSTALL file to see how to install the RTL-lwIP module. Once inserted, the stack offers a sockets-like API to the RT-Tasks that can be used to send and receive packets over a network. The sockets API is build over the "sequential API" (which is quite similar to the BSD socket API). The sequential API is a high performance API because it is designed to take advantage of the specific internal design of the stack. RTL-lwIP also offers another API called raw API which is not only faster in terms of code execution time but is also less memory intensive. See the Documentation in the RTL-lwIP home page to get reference manuals of these APIs. "So, the tools, the driver(s), and the stack are inserted... what do I do now?". You may want to write a real time application using RTL-lwIP, so you have to use the communications APIs described above and (at least once) the OSEL API (Operating System Emulation Layer). The OSEL API gives access to operating system specific calls and data structures (thread managing, semaphores, interrupts, etc...) and must be used at least for creating communication threads, or to register a thread (not created by means of the OSEL API) as a communication thread (this is for the TCIP/IP stack internal management). In the Documentation section there's a document describing the OSEL API and how applications should use it. In order to correctly access header files you should use the Makefile included with the distribution (just adding an entry for your application/s). If you don't want to use the Makefile, you can include in your own Makefile the file RTL-lwIP.mk, which gives the macro definitions needed to use RTL-lwIP. That's it. Take a look at the examples directory, it will be quite instructive. The stack by itself doesn't do anything, so you might want to compile examples?? > make examples RTL-lwIP home page: http://rtl-lwip.sourceforge.net Please send comments to Sergio Perez

近期下载者

相关文件


收藏者