论文部分内容阅读
随着嵌入式应用的广泛发展,计算机技术和通信技术的进步以及Internet的广泛应用,“后PC时代”,网络连通性是嵌入式系统的必须要求,研究网络化的嵌入式系统有重要的实践意义。 本文研究了基于网关和基于RTOS的两种嵌入式系统Internet互连方案,比较了两种方案的优劣,并分析了EMIT和VxWorks实例,提出了嵌入式系统网络化应用特点和要求。 本文在分析了网络通信过程、Linux TCP/IP协议实现和Socket网络编程接口的基础上,指出提高协议处理性能的途径,并基于Linux的TCP和IP协议实现,做了适合嵌入式应用要求的改进:1)改变协议数据缓冲区的“分配-使用-释放”的内存使用模式,建立静态和动态分配相结合,静态分配为主的通信区,采用高效的“申请-使用-归还”的内存使用模式,实现策略和机制相分离的设计思想。2)为了减少对存储器访问次数,本文设计应用数据复制到协议缓冲区的同时计算数据校验和,以满足TCP差错控制的要求,可以减少一次对应用数据的遍历。3)对应用数据分块,使得数据块大小符合通信子网MTU有效负载的要求,避免IP层分片需要重新分配缓冲区、计算校验和以及数据复制的费时操作。 为了真实测试改进的效果,本文在协议处理中内嵌时间性能测试代码,记载进入TCP处理前和完成IP处理后的系统时间,为了减低由于测试所增加的协议处理开销,将性能参数写入应用数据中,采用客户/服务器的测试结构,由服务器测试程序对时间性能参数进行计算和可视化显示。实验表明,修改后的协议栈可以提高协议处理性能,对于发送1024字节大小的应用数据,性能可以提高12.66%。