单片机的种类繁多,从低端到高端,有以51单片机为代表的8位单片机和以ARM为代表的32位单片机,不同档次的单片机实现网络接口的方法不同。对于像ARM等高端处理器一般都可以运行嵌入式操作系统,例如嵌入式Linux。对于无操作系统要求的单片机如何实现网络接入,我下面将这些方案按TCP/IP协议栈的不同归结为两大类:第一类是传统的软件TCP/IP协议栈方案;第二类是最新的硬件TCP/IP协议栈方案。下面我就这两类方案的实现方式进行分析。...
分类:
其他好文 时间:
2015-04-14 18:08:24
阅读次数:
281
这个教程会告诉你如如何将 mbed LPC114FN28连入AXEDA服务,实现物联网!
WIZ550io 是一个自动配置的以太网控制器模块,包含一个W5500(嵌入全硬件TCP/IP芯片TCP/IP及PHY),一个变压器及RJ45。支持SPI(主接口)。因此,即使主系统没有以太网接口或者TCP/IP软件协议栈(包含在RTOS中),主系统也可以轻松连接到网络。...
分类:
其他好文 时间:
2015-04-14 14:41:07
阅读次数:
637
socket可以看成是用户进程与内核网络协议栈的编程接口。socket不仅可以用于本机的进程间通信,还可以用于网络上不同主机的进程间通信。IPv4套接口地址结构通常也称为“网际套接字地址结构”,它以“sockaddr_in”命名,定义在头文件中struct sockaddr_in { uint8_....
分类:
其他好文 时间:
2015-04-12 06:42:58
阅读次数:
135
最近在移植新网卡驱动的时候学习了下TCP/IP的协议栈的框架模型做一个总结
1、硬件相关:硬件使用Emac+DMA
2、软件相关:RTT+LWIP
测试环境搭建:使用一台PCIP地址为192.168.1.5,板子IP地址搞成192.168.1.60,路由器为192.168.1.1在一个子网下进行通信。使用wireshark 抓包,PC ide JATG接口进行 DEBUG。追踪一个UDP...
分类:
其他好文 时间:
2015-04-07 21:52:02
阅读次数:
1159
转自: http://blog.chinaunix.net/uid-9112803-id-3212207.html 摘要: 本文剖析了浏览器输入URL到整个页面显示的整个过程,以百度首页为例,结合Wireshark俘获分组进行详细分析整个过程,从而更好地了解TCP/IP协议栈。 一、俘获分组 1.1...
分类:
其他好文 时间:
2015-04-05 17:25:29
阅读次数:
219
转自: http://blog.chinaunix.net/uid-9112803-id-3212041.html 摘要: 本文简单介绍了TCP面向连接理论知识,详细讲述了TCP报文各个字段含义,并从Wireshark俘获分组中选取TCP连接建立相关报文段进行分析。 一、概述 TCP是面向连接的可靠...
分类:
其他好文 时间:
2015-04-05 17:24:22
阅读次数:
195
计算机网络一、摘要 对之前几篇博文涉及到的网络通信协议进行分析,概述出TCP/IP的协议栈模型,最后根据实例对各层包头进行分析。 二、标准TCP/IP协议栈模型 标准TCP/IP协议是用于计算机通信的一组协议,通常被称为TCP/IP协议栈,以它为基础组建的互联网是目前国际上规模最大的计算机网络。.....
分类:
其他好文 时间:
2015-04-03 10:45:30
阅读次数:
146
目前公司商用的协议栈程序是支持分节点地址可配置的,与zigbee2007pro有很大的不同,因此也产生了一些问题,特别严重的就是本篇所讲述的更换设备导致的现象。本篇将深入代码分析冲突检测及处理的流程,并给出修改方法。...
分类:
其他好文 时间:
2015-04-02 22:42:08
阅读次数:
249
帧的接收
NAPI与netif_rx(非NAPI)
Linux内核获取网络帧到达通知的方式有两中:中断和轮询。(中断值设备向内核发出中断,轮询指linux内核主动轮询设备)
在早起的linux内核中,网络帧主要以中断的方式通知linux内核帧的到达。这是非NAPI方式。
现在的操作系统中,linux内核使用NAPI方式, 获取帧到达的消息。NAPI混合使用了中断和轮询。
netif_rx...
分类:
系统相关 时间:
2015-04-02 15:16:42
阅读次数:
268
网络帧在进入网络层时,需要区分不同的网络协议进行处理,这就需要涉及协议处理函数。
首先我们从驱动接收到一个数据帧,分析数据帧在协议栈中自下而上的传输流程。
设备驱动程序在接收到一个数据帧时,会将其保存在一个sk_buff缓冲区数据结构,并对其进行初始化。
struct sk_buff {
......
__be16 protocol:16;
......
} 在这个缓...
分类:
系统相关 时间:
2015-04-02 15:12:02
阅读次数:
317