随着互联网技术和嵌入式系统的不断发展,传统的嵌入式设备对于网络接入的要求日益加强。相关数据显示,在不久的将来,将有95%的连网设备将不仅仅是计算机,而更多的是带有网络功能的嵌入式产品。嵌入式设备连网是大势所趋,嵌入式网络协议栈的研究是嵌入式设备连网实现的核心。
TCP/IP协议栈是一个非常复杂和庞大的系统,它是互联网安全可靠通讯的重要组成部分,通常在有操作系统支持的通用计算机上实现。但是,嵌入式系统有限的处理能力以及存储资源的相对缺乏,使得传统的TCP/IP协议使用在嵌入式的环境里是不合适的。为了在嵌入式系统中既实现相应的网络功能又节省系统资源,需要对TCP/IP协议进行有针对性的裁减。一般采用TCP/IP协议簇的一个子集,比如包括IP、UDP、TCP和ICMP等协议的全部或部分功能,对协议进行有选择的实现,尽最大可能的使协议保持功能和机制上的完整,以满足网络应用的需要。
本文为基于STM32处理器的试验平台移植一种嵌入式网络协议栈UIP来接入网络的试验,着重讨论了DM9000网卡驱动程序的实现过程和UIP协议栈的整体架构。在硬件方面,本论文采用了低功耗、低成本的STM32F103ZF作为微处理器,以太网控制芯片采用了成熟的DM9000作为网络接口,搭建了一个基于STM32处理器接入以太网的实验平台。在软件方面,本论文介绍STM32处理器的相关外设接口的驱动,然后介绍DM9000以太网控制芯片的驱动程序,最后介绍嵌入式网络协议UIP的移植过程,分析UIP协议栈的架构。