最近移植了Mocrochip的TCP/IP协议到ARM,共享之
来源:互联网 发布:证大财富淘宝贷通过率 编辑:程序博客网 时间:2024/06/11 05:58
步骤,步骤即方法:
- 首先是编写以太网驱动,我目前写过三个:RT8019AS、LPC23XX、AT91SAM9260。
- 其次就是以太网驱动的移植,主要实现了ARP、ICMP(PING)、TCP、UDP、HTTP。
- 最后要知道自己的东西能不能用,得有个测试工具,我用的是sniffer。
下面对程序设计思想做个简单的解释:
- RT8019AS是个比较老的以太网控制器,10M,8K内置缓冲区。因为比较老,所以网上有很多例程,几年前的嵌入式以太网设备大部分是通过它实现的,致敬,哈哈。推荐老古论坛关于RT8019AS的文章,牛人用单片机实现了以太网,8位机都能跑以太网(以太网在嵌入式领域必有大的发展,以后网口会像串口一样在嵌入式设备上普及)。RT8019AS的驱动主要是得弄明白缓冲区的起始和结束地址,以及缓冲区的结构(前四个字节是包含数据包长度)。
- LPC23XX是一款带以太网控制器的ARM,其缓冲区配置需小心谨慎(实测发现发送和接收数据包个数分别为3和4(例程设置)才能正常工作,目前还没有搞清楚原因),此外其片内控制器不带PHY,需外接PHY(如DP83848,比较贵,可用其它PHY代替)才能组成完整的网络。
- AT91SAM9260也是一款带以太网控制器的ARM,ARM9系列,但又与AT91SAM9200所用的以太网控制器逻辑不一样,其以太网控制器是和高阶AVR所用的以太网控制器逻辑是一样的。它的接收缓冲区大小为128,发送缓冲区可设置为1536以上(这样设置有个好处,因为网络上大部分的数据包都是小包,将缓冲区设小可以非常有效的节约内存空间,相同内存可容纳更多的数据包)。它也需要外接PHY(一般为DM9161A,很便宜)。
- ARP协议主要是让网络上的计算机知道你的MAC地址。
- ICMP有很多功能,我只实现了它的PING功能,测试网络连通性,简单易用。
- TCP/UDP、HTTP不再班门弄斧了。
- 测试软件有很多,每个人使用习惯不一样,自己网上google吧。
传点代码大家做个参考,希望对大家有所帮助:
http://download.csdn.net/source/373034
- 最近移植了Mocrochip的TCP/IP协议到ARM,共享之
- TCP/IP协议栈lwip的移植
- TCP/IP协议栈lwip的移植
- TCP/IP协议栈lwip的移植
- 基于ARM的嵌入式TCP/IP协议的实现
- 基于ARM的嵌入式TCP/IP协议的实现
- 基于ARM的嵌入式TCP/IP协议的实现
- 基于ARM的嵌入式TCP/IP协议的实现方法
- 基于ARM的嵌入式TCP/IP协议的实现
- bbb上rtems的tcp/ip协议移植的想法
- TCP/IP协议栈uIP在S3C44B0上的移植
- TCP/IP协议之TCP
- TCP/IP之IP协议
- lwIP(TCP/IP)协议栈移植
- TCP/IP协议栈 之 TCP协议
- TCP/IP协议之IP协议详解
- TCP/IP协议栈 之 IP协议
- TCP/IP协议之IP协议
- 贪吃蛇V1.0
- 怎样下载优酷视频?
- 3月7日工作日志-zy
- Spring2.5支持OSGI、Aspect和完全基于注解配置
- 地磅称量系统之(59) 接收串口数据(串口控件的属性设置和超级终端的使用)
- 最近移植了Mocrochip的TCP/IP协议到ARM,共享之
- CEventSocket 0.1修正版
- HGE教程翻译(1)
- 页面之间传递参数得几种方法
- petshop4.0设计说明
- Linux 下串口编程
- excel 如何选择特定(倍数)的行
- 多线程 进度条 C# .net
- 项目经理是这样当的