您的当前位置:首页正文

RL-ARM实时库中RL-TCPnet详述

2021-01-19 来源:易榕旅网
1 RL- ARM实时库RL-TCPnet 此文章主要讲了RL-ARM 库中的RL-TCPnet 与ARM Development tools 中英文对照

我这里从UV4.6的帮助文档中抄过来的 第一英文为原文 第二是我的解释

第三下面的红色部分是正规翻译 RL – TCPnet

第一:RL- TCPnet is an implementation of the TCP/IP protocol stack. 第二:RL-TCPnet 是 实现 TCP/IP 协议栈。 第三:RL-TCPnet 是TCP/IP 协议栈的实现。()下面类似这样的写法 The focus of the stack is to reduce memory usage an code size. 这个重点栈 是减少 内存 使用代码 大小。

该协议栈的设计重点是减少内存的使用和代码的大小。

This makes it suitable for use by small clients with limited resources, 这是 做 合适 使用 小 客户 受限资源 这很适合资源受限的小客户使用. Such as embedded systems .

这样的 是 嵌入式系统 如嵌入式系统。

The RL-TCPnet library is a ground-up implementation of software routines for the ARM7(-tm),ARM9(-TM ),and cortex(-tm)M3 architectures.

这 RL-TCPnet 库 是 底层 实现 软件 常规 这ARM7 ARM9 Cortex –M3 结构 RL-TCPnet 库是ARM7 ARM9 cortex-M3 体系结构的软件的一个底层实现部分。

Programs are written using standard C constructs and compiled with the ARM Realview compiler.

程序是写 使用 标准C 修建的 和 编译 这ARM RealView(编译工具) 编译。 该程序是用标准的C构成,并使用ARM RealView 编译器编译。

To create applications ,you must include a special header file and link the RL-TCPnet library into your program.

到 创建应用,你 必须包含一个 特殊 头文件 并 链接 这个 RL-TCPnet 库 到 你的程序

如果需要生成应用文件,则必须包含一个专门的头文件将RL-TCPnet 库链接到程序。 Note

RL – TCPnet is not included with the Realview MDK – ARM Microcontroller Development kit. RL- TCPnet 是不 包含 这 RealView MDK –ARM 微控制器开发工具装置

RL-TCPnet 不包含在Realview MDK – ARM Microcontroller Development kit中。 It is available in the stand-alone product RL-ARM , 它是 获得 这个 脱机 产品 RL-ARM 它是一个独立的产品RL-ARM

Which also contains the RTX kernel(with source code ) , 哪一个 另外 包含 RTX 核(和 源代码) 它包含RTX核(带源码)、

Flash file system,CAN and USB drivers.

闪存文件系统 CAN 和 USB驱动。(意思就是说另外还包含文件系统CAN 和USB驱动)

Author: 朱伟伟 1 2 RL- ARM实时库RL-TCPnet

TCP Socket

The Transmission control protocol(TCP)runs on top of the internet protocol(IP). 这传送控制协议(TCP)运行 在上层 这个因特网 协议。 传输控制协议(TCP)在因特网协议(IP)之上运行。 TCP is connection-oriented and reliable byte stream service.

TCP 是连接 方向 和可靠的 字节流服务 TCP是一种面向连接的可靠的字节流服务

The term connection-oriented means that the two applications using TCP must establish a TCP connection with each other before they can exchange data.

这个 把—称为 连接-面向 方法 那个 这2 应用 使用 TCP 必须 建立一个 TCP链接 和 每 其他 之前他们 能 交易数据

面向链接是指连个应用程序使用TCP时,须在他们交换数据之前建立TCP连接。

TCP is a full duplex protocol ,this means that each TCP connection supports a pair of byte streams,

TCP 是满 有两部分的 协议 ,这个方法 那个 每 TCP连接 支持 一个 一副 字节流 TCP是一个全双工通信协议,就是说每个TCP连接支持一对字节流。 One for each direction . 一个 每个 用法说明 收发双方各一个

It takes care of retransmitting any data which does not reach the final destination due to errors

它取 保护 重复传输 任一个数据 哪一个 到达 这个 最终 目的地 应给与 错误 它对每一个由于错误没有到达目标文件的数据进行重传

It also takes care of retransmitting if there is data corruption of the received data. 它 同样 取 保护 重新传输 假如 在哪里 是数据 腐败 这接受数据 如果接受数据失败它也进行重传

TCP protocol delivers data (to the application ) in the same sequence as they were transmitted

TCP 协议 递交发送交出 数据 (到 应用) 这相同 数列 是 它们 是发送 当数据被传送时,TCP协议按相同的序列依次传递数据 Opening Tcp Connection

RL-TCPnet is bassed on the client/server model of operation, RL-TCPnet 是基于 这个客户/服务 模块 的操作, RL-TCPnet 是基于客户/服务器模式的操作

And the TCP connection setup is bassed on these roles as well 并且 这个TCP 连接 计划 是基于 这些 作用 是 健康良好的 并且TCP连接的设置也是基于此

Both ,the client and the server, prepare for the connection by performing an open operation .however,there are two different kinds of open .

两个都 这客户 和这服务 配备 这连接 执行一个打开操作,不管到什么程度,在哪

Author: 朱伟伟 2 3 RL- ARM实时库RL-TCPnet 里 是2 不同的方法打开。

客户和服务器都是通过一个打开操作来准备连接。然而,有2种打开方式。

Active open: a client process using TCP takes the “active role” and initiates the connection by actually sending a TCP message to start the connection (a SYN MESAGE).

主动打开:一个客户端过程使用TCP 取这个 “主动角色”并且 初始化连接 事实上发送一个TCP消息 到 开始 这个连接(一个 SYN 消息) 主动打开:客户机使用TCP扮演“积极角色”,处理并通过发送TCP消息来启动并初始化连接(SYN消息)。

Passive open : a server process, designed to use TCP,takes a more relaxed approach . 一个服务 过程 设计过的 到 使用TCP ,取一个多个 轻松的 方法途径 一个服务器进程,设计成使用TCP,使用一个更加宽松的方法。 It performs a passive open by contacting the TCP,

它 操作 一个 被动打开 与。。。联系 这个TCP 它通过被动方式打开TCP连接,

Which is like saying “I am here, and I am waiting for clients that may wish to talk to me to send me a message on the following port number ”.

那一个喜欢 说话“我在这里 并且我在等待客户端 那个 许可 希望 到说话 到 我 到发送我一个消息 上这个 后面 端口编号” 就想说“我在这,我在等待希望与我交谈并通过下面的端口号发送信息给我的客户机”。 The open is called passive because aside from indicating that the process is listening ,the server process does nothing.

这个打开是 呼叫 被动 因为 在旁边 从 表明 那个 这过程 是侦听 这个服务过程 没有东西。

这种打开方式称为被动,是因为除了知识进程以外,服务器没有做任何事

A passive open can,in fact ,fact,specify that the server is waiting for an active open from a specific client ,however,not all RL – TCPnet APis support this capability.

一个被动打开能,事实上,事实指定那个服务是等待一个主动从一个指定客户端,不管怎样 ,不是所有RL-TCPnet APis support 这是 能力

被动打开方式,事实上,是服务器在等待一个来自一特殊客户的主动打开。然而,不是所有的RL-TCPnet APis 支持该能力.

注意:到这里说明了RL-TCPnet 提供了主动 客户端 和被动 服务器的操作API而已。且并不是所有的都支持服务器模式。也就是可以把这个设备做成客户端去主动连接服务器。

TCP Active Open

Embedded applications use TCP Active open when trying to connect to remote server,for example to send an email, in this case ,the TCPnet system is the initiator of the TCP connection.

嵌入式应用使用 TCP 主动打开 当尝试 到链接 到 远程 服务 例子 到发送 一个 email ,这是实例,这个TCPnet 系统是初始化 这个TCP 链接 当试着;链接一个远程服务器时,嵌入式应用程序使用TCP Active open ,例如发送邮件,这种情况下,这个TCPnet 系统必须初始化连接

To open an active tcp connection ,the following steps must be taken; 到打开一个主动连接 这下面设置 必须 取得 打开活动的TCP链接须一下几步:

Author: 朱伟伟 3 4 RL- ARM实时库RL-TCPnet 1、 Enable the tcp socket in the net_config.c configuration file .

使能TCP 套接 网络配置文件。

在Net_Config.c配置文件中打开TCP socket.

2、 Allocate a free TCP socket with the tcp_get_socket() function call.

分配 一个自由 TCP 套接字 随着 tcp_get_socket() 函数呼叫 使用tcp_get_socket()函数分配TCP socket.

3、 Initiate the TCP connection by calling the tcp_connect()function.

初始化TCP连接呼叫这个tcp_connect()函数 通过调用tcp_connect()函数初始化TCP连接。

这3步骤非常重要,第一配置 Net_config.c 第二使用tcp_get_socket()分配一个套接字 第三 调用tcp_connect()初始化连接。 The following steps 每一步讲述。、

Static Configuration

RL – TCPnet must be configured for the embedded applications you create .all configuration settings are found int t he NET_Config.c file ,which is located in the \\Keil\\ARM\\rl\\TCPnet\\SRC folder,Configuration options allow you to configure;

RL- TCPnet 必须配置这个嵌入式设备,应应用创建,所有配置设置 发现在这个Net_config.c文件。哪一个是本地路径这 \\Keil\\ARM\\rl\\TCPnet\\SRC 文件夹,操作允许你去配置。 ➢ System Settings

1. Local host name 2. Memory poll size

3. System tick timer interval

4. Code for the system error function ➢ Ethernet Network interface

1. Enable or Disable Ethernet interface 2. Local MAC Address 3. Local IP Address 4. Subnet Mask

5. Default Geteway IP Address 6. Primary DNS Server 7. Secondayr DNS server

8. Enable or disable IGMP protocol 9. IGMP Membership Table size

10. Enable or Disable NetBIOS Name Service

11. Enable or Disable Dynamic host configuration 12. ARP Cache Table Size

13. ARP Cache Entry Timeout

14. Number of Retries to resolve an IP Address 15. ARP Resend Timeout ➢ PPP Network interface

1. Enable or Disable PPP interface 2.

➢ SLIP Network Interface

Author: 朱伟伟 4 5 RL- ARM实时库RL-TCPnet ➢ ➢ ➢ ➢ ➢ ➢ ➢

UDP Settings TCP Settings

HTTP Server Settings Telnet Server Settings TFTP Server Settings DNS Client Settings SMTP Client Settings

Author: 朱伟伟 5

因篇幅问题不能全部显示,请点此查看更多更全内容