- 博客(23)
- 资源 (37)
- 收藏
- 关注
原创 网卡 (五) LWIP ip模块
ip 协议输入输出收1/校验字节2/是否本地包 是: 2.1 是否分片 是: 组包,组包完成,发送到上一层 否: 直接发到上一层 否: 转发发1/填充报文2/用 ip_route 选择合适的网络接口3/用 ip_output_if 发送出去ap...
2019-03-30 00:36:10 288
原创 网卡 (十一) LWIP 应用层 DNS
应用层应用层有的建立在 tcp 上,有的建立在 udp 上如果建立在udp 上,则应用层应对可靠性负责(因为,在整个通信中,总得有模块对可靠性负责)之前说的一收一发 其实可以算是一个简单的协议,但是并没有什么实际用途有实际用途的应用协议其实 是封装了 多个 trans_send 和 trans_recv 的基础上做的一种协议....
2019-03-29 21:01:24 682
原创 网卡 (十) LWIP tcp模块
tcp 协议tcp 协议是 tcpip 协议族中 最复杂的一个协议,代码量占50%他要对可靠性负责.输入输出// 很复杂...api- 输入 tcp_input- 输出tcp_connect // 用户api tcp_output tcp_output_segment...
2019-03-29 20:56:35 230
原创 网卡 (九) icmp模块
icmp 协议输入输出- 收 1. reply 得到信息说某主机活着或死掉(5种状态) 2. 差错报告 直接在icmp协议中处理活着传送给传输层处理(LWIP中直接丢掉此报告)- 发 1. request 生成 reply 包 并 发送 3. 差错报告(被ip层及传输层调用)api- 收icmp_input- 发icmp_dest_unreach...
2019-03-29 20:49:01 266
原创 网卡 (七) LWIP 应用层模块
协议最简单的 一收一发// 可见,除了使用api,什么都没做收发udp_sendudp_recvapi直接用的是 udp 的api,并没有在 udp上封装什么东西
2019-03-29 20:33:01 263
原创 网卡 (六) LWIP udp模块
udp 协议// 本文章有些问题,请酌情看udp 只是 在 ip 上一层的协议,往下传的时候,要加ip头,udp维护了端口.除了这个udp 还 添加了数据包校验只要是 数据传送给 udp 协议,不管是 那个mac 地址,那个ip,哪个端口,发送来的数据,都会被udp 协议处理//udp 不负责建立连接,是个 ip 都可以给udp 直接发数据,不需要建立连接.// 可见 ,ud...
2019-03-29 20:30:23 347
原创 网卡 (四) LWIP arp模块
arp 协议输入输出底层(mac驱动)来数据 存储 mac ip 对,并发送原来存储的数据 arp 包 1.req 包,发reply 2.reply.无动作 ip包 传给ip层上层(ip层)来数据 如果找到 mac ,发送 如果找不到 mac ,存储数据,并发arp req 包 lwip arp...
2019-03-26 21:26:51 279
原创 网卡 (三) LWIP架构及LWIP协议栈
不管是裸机还是OS ,都分为三个模块上层协议栈(包括发数据)收数据下面只考虑收数据在中断中.OS 这三者之间是 通过 mbox 通信 ,sem 同步的.这三者分别属于三个线程(其中一个是中断)裸机三者之间是通过函数调用实现的,这三者在同一个线程内.(其中一个是中断)上层 协议栈 收数据之间的关系上层调用 api 并引用协议层 api 分为 netconn api,...
2019-03-26 21:16:14 656
原创 网卡 (二) LWIP 的移植
嵌入式网络那些事——LwIP协议深度剖析与实战演练先移植在看代码比较清除 NO OS 和 OS 中怎么处理数据的第五章(NO OS)和 第14章(OS) 分别讲了怎么移植 LWIPNO OS1 移植完成头文件的定义 cc.h lwipopts.h pref.h根据使用的具体网卡情况完成 src/netif/ethernetif.c 的编写2 ...
2019-03-26 21:03:20 555
原创 网卡 (一) 1 LAN简介
SOC与MAC及PHY的硬件关系1.soc(带mac和phy) -----差分信号-----RJ45接口网线2.soc(带mac,不带phy) -- RGMII/RMII ----phy -----差分信号-----RJ45接口网线3. soc(不带mac,不带phy) - mdio接口/spi接口/gpio接口-- mac(带phy) -----差分信号-----RJ45...
2019-03-24 18:50:42 4230
原创 SPI (二) 硬件操作
只要能产生SPI时序即可,至于通过什么硬件产生,无所谓,目前有两种方式1. GPIO2. SPI控制器GPIO SPI协议和OLED详解及裸机程序开发分析spi控制器 使用SPI控制器...
2019-03-20 09:30:31 493
原创 SPI (一) 协议
spi协议Documentation/spi/spi-summary读这个文档发现1.spi 没有固定的信道2.这是一个简单的“事实上的”标准,不够复杂,不足以获得一个标准化机构。 //Motorola公司提出的spi 信道三线一line CS SCK data四线一line CS SCK data rs(决定是命令还是数据)四线两line CS SCK MISO MO...
2019-03-19 21:35:28 1592
原创 I2C (五) linux I2C 与 sysfs
i2c adapter与 sysfs// 从 /sys/class 找到 i2c-adapter/sys/class # ls i2ci2c-adapter/ // 找到有三个 i2c adapter /sys/class/i2c-adapter # ls -llrwxrwxrwx root root 2015-01-05 07:37 i2c-0...
2019-03-19 17:36:13 889
原创 I2C (四) linux I2C 驱动代码
1/初始化 i2c core postcore_initcall(i2c_init); // 初始化 i2c core2/i2c adapter platform_device 注册 customize_machine of_platform_populate for_each_child_of_node of_platform_bus_creat...
2019-03-19 17:34:59 313
原创 I2C (三) linux I2C
linux I2Clinux对i2c的解读linux 对 i2c 做了很多工作,使得 硬件信息和驱动分离,i2c控制器和i2c设备分离. 硬件信息 // 存在于设备树中 1.i2c控制器 硬件信息 2.i2c设备 硬件信息 驱动 1.i2c控制器 驱动 drivers/i2c/buses中 2.i2c设备 驱动 driver...
2019-03-18 21:06:19 300
原创 I2C (二) 硬件操作
只要能产生I2C时序即可,至于通过什么硬件产生,无所谓,目前有两种方式1. GPIO2. I2C控制器GPIO 模拟I2C51单片机GPIO模拟I2C总线51单片机上没有i2c控制器,所以在51单片机上只能用gpio来模拟i2c控制器,拉高拉低gpio 来模拟 SCL SDAGPIO实现了I2C时序,那么这两根线就叫做I2C总线stm32单片机GPIO模拟I2C总线h...
2019-03-18 20:20:11 646
原创 I2C (一) 协议
I2C协议两条线 2条双向串行线,一条数据线SDA,一条时钟线SCL。 且两条线都被上拉电阻上拉协议包括START、ACK、NACK、STOP。尽管协议中规定START必须,其他几个非必须,但实际上其他三个仍旧非常重要。 主发从收:主 START -> 主发地址 -> 从 ACK -> (主发数据 -> 从 ACK (循环)) -> 主 ...
2019-03-17 20:27:28 279
原创 串口 (五) linux串口之应用
对串口 的使用1. 内核打印信息解读2. dmesg没有显示内核最开始的打印信息,如何调整.3. 控制台优先级及打印级别4. dmesg 的使用1. 内核打印信息解读pr_notice("%s", linux_banner);Linux version 4.4.76 (pop@ubuntu) (gcc version 5.4.0 20160609 (Ubuntu/Linaro...
2019-03-17 19:03:09 1036 1
原创 串口 (四) linux串口之驱动代码
early console 之 early printk需要平台侧实现 printchearly console 之 earlycon//驱动需要实现的代码 static void pl011_putc(struct uart_port *port, int c) { ...
2019-03-17 10:02:29 1549 1
原创 串口 (三) linux串口
# uname -r2.6.22.6-g8701f843-dirty# cat /proc/cmdline noinitrd root=/dev/mtdblock3 init=/linuxrc console=ttySAC0✗ find . -name "*.o"./s3c2410.o // CONFIG_SERIAL_S3C2410./built-in.o./serial_cor...
2019-03-16 22:48:41 326
原创 串口 (二) 串口硬件及操作-stm32
stm32 为 ARM cortex-m3 架构串口收发流程与51架构没有区别配置void USART1_Config(void){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; GP...
2019-03-16 12:31:12 657
原创 串口 (二) 串口硬件及操作-51单片机
串口操作(字节操作)发送1.配置void UsartConfiguration(){ SCON=0X50; //设置为工作方式1 TMOD=0X20; //设置计数器工作方式2 // 51单片机在串口通信时需要有一个定时器去调节与计算机通信的波特率,而定时器设置时需要中断寄存器 PCON=0X80; //波特率加倍 TH1=0XF3; //计数器初始值设置,...
2019-03-16 12:15:11 1260
原创 串口 (一) 协议
串口和并口串口和并口的定义在一个独立的信道上,每次同时传输1bit为串口,每次同时传输多个bit为并口。串口和并口的标准串口标准 RS232C、EIA232D、RS422、RS449、RS485、RS530、IEEE1394、IEEE1174、MIL-188C、USB并口标准 IEEE1284串口和并口的速度串口形容一下就是一条车道,而并口就是有8个车道同一时刻能..................
2019-03-16 12:14:34 1053 1
freetype2+SDL+SDL_ttf源码包及字符串转bmp图片demo
2017-03-07
linux-5.17 arm32 arm64 rv64 arch 下的 共同函数
2022-06-16
grub-build.log
2020-11-22
sdio_data_AllInOne.rar
2019-09-01
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人