- 博客(14)
- 收藏
- 关注
原创 TCP/IP协议学习笔记02:TCP连接三次握手与断开四次挥手
一、三次握手。第一步、发送端发送SYN包,TCP首部序列号字段为0, 标志字段中的SYN位置1, 选项段设置MSS,不携带数据。第二步:接收端发送响应包,序列号设置为0, 响应序列号设置为接收到发送端的序列号+1 = 1,表示期望收到发送端序列号为1的包。标志位SYN、ACK两个位置1。同时在选项段内设置自己的MSS(最大可接收报文段)。第三步:发送端再次发送响应包,序列号此时为1, 响应序列号为收到的接收端的序列号 + 1 = 1,表示连接完成。标志位ACK设置为1。wireshark数据包
2020-07-16 22:16:04
229
原创 TCP/IP协议学习笔记01:TCP协议首部
一、TCP协议首部,包括固定头部为20个字节+选项, 最大60个字节。二、wireshark抓包数据。1、源端口。2、目标端口。3、发送序列号。4、响应序列号。5、首部长度,占一个字节,最大只能填0xF, 实际数据 = 首部长度(40bytes) / 4(bytes) = 10。6、标志位,用来确认当前包是什么包,连接请求包时,也就是握手第一步,SYN置为1。发送响应包时,ACK置为1。7、本端窗口大小。表示最大一次可发送数据字节数。用来做TCP发送端的拥塞控制和接收端的流量控制。8
2020-07-16 20:58:45
239
原创 iTop4412 Uboot学习01:为什么内核启动地址是0x40008000?
内核版本: Linux3.5在内核目录 /Document/arm/Booting文档中有说明如下:5. Calling the kernel imageExisting boot loaders: MANDATORYNew boot loaders: MANDATORYThere are two options for calling the kernel zImage. If the zImageis stored in flash, and is linked correctly t
2020-07-12 14:33:51
922
原创 iTop4412驱动开发之十一:内核定时器的简单使用
#include <linux/module.h>#include <linux/init.h>#include <linux/platform_device.h>#include <linux/miscdevice.h>#include <linux/fs.h>#include <linux/timer.h>MODULE_LICENSE("GPL");struct timer_list g_timer;//定时
2020-07-07 22:22:28
233
原创 iTop4412驱动开发之十:SPI驱动
驱动部分:一、mach-itop4412.c 中注册SPI设备static struct s3c64xx_spi_csinfo spi2_csi[] = { [0] = { .line = EXYNOS4_GPC1(2), .set_level = gpio_set_value, .fb_delay = 0x2, },};static struct spi_board_info spi2_board_info[] __initdata = {{ { .modalias
2020-07-04 21:51:55
453
原创 iTop4412驱动开发之九:I2C应用程序
说明:当主板外接I2C设备时,无需单独编写驱动,可直接使用CPU的I2C适配器,在应用层即可直接控制设备。#include <stdio.h> //printf()#include <stdlib.h> //exit()#include <string.h> //strlen(), bzero();#include <sys/types.h>#include <sys/stat.h>#include <fcntl.h
2020-07-03 21:56:23
441
原创 iTop4412驱动开发之八:PWM方式蜂鸣器驱动
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <asm/io.h>#include <asm/sys
2020-07-03 21:44:10
851
原创 iTop4412驱动开发之七:RTC驱动
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <asm/io.h>#include <asm/sys
2020-07-03 21:36:36
237
原创 iTop4412驱动开发之六:ioremap物理地址映射到虚拟内存用法
说明:在linux系统内,一切程序都运行在虚拟内存中,无法直接操作物理内存地址,可用ioremap函数完成物理地址到虚拟内存的映射,然后通过虚拟地址实现操作硬件物理地址。void __iomem * ioremap (unsigned long phys_addr, unsigned long size);参数1 phys_addr:物理地址。参数2 size :从映射的物理地址开始,总共多少个字节。#include <linux/init.h>#include &
2020-07-03 21:30:56
395
原创 iTop4412驱动开发之五:中断处理驱动
#include <linux/init.h>#include <linux/module.h>#include <linux/cdev.h>#include <linux/types.h>#include <linux/fs.h>#include <linux/errno.h>#include <linux/mm.h>#include <asm/io.h>#include <asm/sys
2020-07-03 21:21:48
291
1
原创 iTop4412驱动开发之四:注册字符设备驱动
#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/miscdevice.h>#include <linux/fs.h>#include <linux/cdev.h>#include <linux/kdev_t.h>#include <linux/device.h
2020-07-03 21:08:03
205
1
原创 iTop4412驱动开发之三:驱动传递参数
#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/miscdevice.h>#include <linux/fs.h>#include <linux/gpio.h>#include <plat/gpio-cfg.h>#include <mach/gpio.h.
2020-07-03 21:01:00
137
原创 iTop4412驱动开发之二:LED驱动
#include <linux/init.h>#include <linux/module.h>#include <linux/platform_device.h>#include <linux/miscdevice.h>#include <linux/fs.h>#include <linux/gpio.h>#include <plat/gpio-cfg.h>#include <mach/gpio.h&
2020-07-03 20:50:18
357
原创 iTop4412驱动开发之一:第一个驱动,HelloWorld!
#include <linux/module.h>#include <linux/init.h>#include <linux/platform_device.h>#include <linux/miscdevice.h>#include <linux/fs.h>MODULE_LICENSE("GPL");//设备节点名#define NODE_NAME "hello_node"static int hello_open
2020-07-03 20:41:31
180
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人