新闻中心

EEPW首页 > 网络与存储 > 设计应用 > 基于嵌入式TCP/IP软件体系结构的优化设计与实现(06-100)

基于嵌入式TCP/IP软件体系结构的优化设计与实现(06-100)

——
作者:北京邮电大学 电信工程学院 廖日坤 纪越峰时间:2008-04-03来源:电子产品世界收藏

  另外,一般采用C语言或者混合汇编,而使用可重入函数和一般指针(generic pointer)使得程序代码增大,运行速度变慢。所以使用函数指针时,应手动重建调用树(Call tree),或将函数指针调用的函数设置为可重入函数,同时使用“指定存储类型”的指针(memory-specific pointer),防止数据包的不必要的拷贝以及优化计算校验和和内存拷贝函数。另外,Reentrant类型的函数比一般函数速度要慢很多,但是某些时候为了程序结构的需要必须使用Reentrant,这就需要在速度和结构之间作一个选择。

本文引用地址:http://www.eepw.com.cn/article/81179.htm

  嵌入式的实现

  的嵌入式实现一般通过以软件方式嵌入到ROM中,然后通过轻通讯技术与专用嵌入式网关连接,在嵌入式处理器中运行TCP/IP协议,提供TCP/IP到用户的轻型的连接和路由功能。

  内存管理方法和无多余数据包拷贝的实现

  嵌入式TCP/IP的内存管理可以用链表方法,即根据数据包大小分配相应大小的内存块。如图4所示,链表将内存块链接起来,used字段表示该内存块是否正在使用,pSstart和pEend则表示数据部分有效数据的开始地址和结束地址。

  分配时,搜索内存链表找到一个没有分配的比所需空间大的内存块,截取所需的大小。该内存块被截取以后可能还有较多剩余,这时将剩余部分从原内存块中分离出来,成为一个新的内存块,并插入链表。释放时,将used值置为假,如果pNext或者pPre指向的链表单元也是空闲的,则将其和自己合并,以防止内存分片。在协议层之间传送数据包只需传送内存块的起始地址。这种内存管理方法空间浪费小但是运算量相对较大。

tcp/ip相关文章:tcp/ip是什么




关键词: 网络 TCP/IP Internet

评论


相关推荐

技术专区

关闭