digitalfans

digitalfans

0个粉丝

8

问答

0

专栏

7

资料

digitalfans  发布于  2013-11-22 22:37:42
采纳率 0%
8个问答
5014

移植Microchip的TCPIP协议栈到STM32

 

最近移植了一套Microchip的协议栈到STM32+ENC28J60的系统上。 Microchip为自己的PIC系列单片机和ENC28J60等几款以太网芯片做了一个协议栈。这个协议栈跟uip,lwip之类的协议栈比起来,有几个优势: 1,特别省内存。协议栈充分利用了Microchip以太网芯片片内的RAM来存储各类数据,所以对CPU RAM消耗极小。ENC28J60可以提供4K RAM,而ENC624J600可以提供16K RAM。一套带Web server和两三个 Socket的程序,协议栈消耗的CPU RAM不到500字节,而且并不是以减小MSS为代价,也不像uip那样没有socket缓冲。 2,应用层协议丰富。HTTP,FTP,TFTP,TELNET,SNMP,DDNS,SNTP,SMTP等各类应用层协议都直接在协议栈内支持。其中HTTP还可支持SSL,SNMP可以支持V3,这在裸奔的系统里几乎是没有别的协议栈可以支持的。 3,配置灵活,可以根据需要灵活配置所需功能,简单修改一个config文件即可,而且提供图形化配置工具 4,协议栈不使用动态内存分配,不用担心内存碎片问题。 5,HTTP Server支持类似ASP的方式处理网页中的动态变量,也提供类似CGI的方式。完全支持GET.POST等各种文件操作,支持文件上传,支持web认证,支持SSL。而且支持多种文件方式提供网页文件,可以保存在CPU 代码空间,可以外挂在SPI Flash/EEPROM,也可以使用SD,U盘之类的通用文件系统。使用CPU 代码空间或EEPROM的时候,厂家提供了工具转换网页为C语言代码或EEPROM的镜像文件。工具支持网页源代码压缩,html文件的压缩率可以达到60-70%,可大大节省空间。转换的同时会自动将网页里的动态变量转换成函数框架,用户只需要在这些函数框架内添加处理代码即可。

当然,这个协议栈也有缺点,就是性能较差。这和第一个优点有关:因为很多变量都存在以太网芯片RAM里,而以太网芯片与CPU的接口是SPI,这就大大降低了性能。实测STM32F103+ENC28J60的TCP传输速度,大约每秒100K字节/秒左右,只有lwip的1/3左右,不过这个速度对于大部分网络应用来说基本还是足够了。

部分应用层协议尚未完全移植完成,但是所需的文件都已经在工程里,有兴趣的可以自己尝试。

下载链接:http://www.microchip.com/stellen... p;dDocName=en547784

易百纳技术社区文件: tcpip.rar
下载
我来回答
回答1个
时间排序
认可量排序

vote

0个粉丝

9

问答

0

专栏

7

资料

vote 2013-11-24 23:04:31
认可0
micium的东西还不错的,只是要收费啊
或将文件直接拖到这里
悬赏:
E币
网盘
* 网盘链接:
* 提取码:
悬赏:
E币

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
+ 添加网盘链接/附件

Markdown 语法

  • 加粗**内容**
  • 斜体*内容*
  • 删除线~~内容~~
  • 引用> 引用内容
  • 代码`代码`
  • 代码块```编程语言↵代码```
  • 链接[链接标题](url)
  • 无序列表- 内容
  • 有序列表1. 内容
  • 缩进内容
  • 图片![alt](url)
相关问答
无更多相似问答 去提问
举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

易百纳技术社区