计算机应用 | 古代文学 | 市场营销 | 生命科学 | 交通物流 | 财务管理 | 历史学 | 毕业 | 哲学 | 政治 | 财税 | 经济 | 金融 | 审计 | 法学 | 护理学 | 国际经济与贸易
计算机软件 | 新闻传播 | 电子商务 | 土木工程 | 临床医学 | 旅游管理 | 建筑学 | 文学 | 化学 | 数学 | 物理 | 地理 | 理工 | 生命 | 文化 | 企业管理 | 电子信息工程
计算机网络 | 语言文学 | 信息安全 | 工程力学 | 工商管理 | 经济管理 | 计算机 | 机电 | 材料 | 医学 | 药学 | 会计 | 硕士 | 法律 | MBA
现当代文学 | 英美文学 | 通讯工程 | 网络工程 | 行政管理 | 公共管理 | 自动化 | 艺术 | 音乐 | 舞蹈 | 美术 | 本科 | 教育 | 英语 |

在TMS320VC5402上实现的嵌入式TCP/IP协议栈(2)

2017-08-04 01:26
导读:3 软件设计 3.1 DSP上嵌入式TCP/IP协议的汇编程序设计 由于DSP的资源有限,所以网络协议根据嵌入式应用进行了裁减。本设计中完成了ARP、IP、UDP等部分协议

3 软件设计

3.1 DSP上嵌入式TCP/IP协议的汇编程序设计

由于DSP的资源有限,所以网络协议根据嵌入式应用进行了裁减。本设计中完成了ARP、IP、UDP等部分协议,既能够保证DSP接入以太网,又使DSP资源能够满足嵌入式系统应用的要求。

首先介绍一下所设计的DSP接收和发送以太网数据包所使用的数据结构。作者选择了联合体结构作为DSP接收和发送以太网数据包的缓冲区。联合体允许大小和类型不同的定义临时存储在同一存储器空间。这样的好处是各层协议之间数据的传递,实质上是数据指针在传递,而不是数据拷贝传递。而且各层协议可以直接使用该缓冲区,因为缓冲区内的结构体完全是按照各个协议的帧格式设计的。在联合体databuf中有四个结构体成员—ethernetpkt、ippkt、udppkt、arppkt,分别对应着以太网数据帧、IP协议、UDP协议、ARP协议的帧格式。这4个结构体成员是按照它们各自协议的帧格式进行定义的。值得注意的是,因为databuf中存储的是RTL8019AS发送的以太网数据帧,联合体的成员共用databuf缓冲区,所以在各个结构体中要预留低层协议报头存储空间。例如,IP协议的结构体ippkt就要在结构体定义中留下ethernetpkt报头的存储空间,即ippkt定义中前9个整型空间不能使用,从第10个整型空间开始才是IP数据报的内容。

下面分4层介绍所完成的嵌入式TCP/IP协议。

①物理层:主要完成以太网控制器RTL8019AS的复位,寄存器的初始化,并设置RTL8019AS的工作方式、中断响应、DMA通道接收缓冲区的地址设置等。

初始化程序如下:

WRITE 0x21,CR /*设置命令寄存器,选中第0页*/

WRITE 0x4c,PSTART/*页起始地址寄存器初始化,设定接收缓冲区起始页地址*/

WRITE 0x80,PSTOP /*页停止地址寄存器初始化,设定接收缓冲区终止页地址*/

上一篇:SMW工法在深基坑中的应用(1) 下一篇:没有了