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
近期下载者:
相关文件:
收藏者: