摘要: 一。TCP 网络模型程序设计 1. 网路编程模型函数化 1.1 创建套接字 socket 1.2 绑定地址函数 bind 1.2.1 地址类型 1.2.2 地址转换 ** in_addr_t inet_addr(const char *cp) 功能:将字符串形式的IP地址转化为整数型的IP地址(网络 阅读全文
posted @ 2017-01-08 21:59 吕晓宁 阅读(282) 评论(0) 推荐(0) 编辑
摘要: 串口驱动分析初始化 一 。串口驱动程序结构 1. Samsung.c 2. s3c2440.c 二 。串口驱动中重要的数据结构 •UART驱动程序结构:structuart_driver •UART端口结构:structuart_port •UART相关操作函数结构: structuart_ops 阅读全文
posted @ 2016-02-04 16:36 吕晓宁 阅读(263) 评论(0) 推荐(0) 编辑
摘要: TTY驱动程序架构设计 一 。TTY概念解析 1. dev/ttySAC0 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 •串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。 阅读全文
posted @ 2016-02-04 15:30 吕晓宁 阅读(332) 评论(0) 推荐(0) 编辑
摘要: 一 。阻塞性驱动程序设计 1. 阻塞的必要性 2. 内核等待队列 1、定义等待队列wait_queue_head_tmy_queue 2、初始化等待队列init_waitqueue_head(&my_queue 3、定义+初始化等待队列DECLARE_WAIT_QUEUE_HEAD(my_queue 阅读全文
posted @ 2016-02-03 10:28 吕晓宁 阅读(222) 评论(0) 推荐(0) 编辑
摘要: Linux 按键定时器去抖 一 。按键抖动 按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开。 因而在闭合及断开的瞬间总是伴随有一连串的抖动。 按键去抖动的方法主要有二种,一种是硬件电路去抖动;另一种就是软件延时去抖。 而延时又一般分为二种,一 阅读全文
posted @ 2016-01-29 20:36 吕晓宁 阅读(513) 评论(0) 推荐(0) 编辑
摘要: Linux 平台设备驱动模型 一。平台总线概述 1. 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线, 其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性 2. 二。平台设备 1. 平台设备使用structplatform_device来描述: 阅读全文
posted @ 2016-01-24 20:00 吕晓宁 阅读(319) 评论(0) 推荐(0) 编辑
摘要: 总线设备驱动模型 一. 总线模型概述 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的要求也越来越高, 2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux2.6内核开始提供了全新的设备模型。 二. 总线 1. 描述设备 1. 在Linux 内核中, 总线由bu 阅读全文
posted @ 2016-01-24 10:27 吕晓宁 阅读(485) 评论(0) 推荐(0) 编辑
摘要: 一。混杂设备驱动模型 1. 混杂设备驱动描述 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。 所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂设备。 Linux中使用struct mis 阅读全文
posted @ 2015-12-29 10:41 吕晓宁 阅读(540) 评论(0) 推荐(0) 编辑
摘要: 四。DM9000网卡驱动深度分析 1. DM9000的初始化 DM9000_init() { 1. 分配 net_device 结构 2. 从 platform_device 中获取地址中断号 3. 把获取的地址映射成虚拟地址 操作函数 io_remp()... 阅读全文
posted @ 2015-12-27 20:33 吕晓宁 阅读(224) 评论(0) 推荐(0) 编辑
摘要: 三。网络子系统深度分析 用户程序通过网络发送这个网络数据包 通过 SCI 协议无关接口 协议栈 《 UDP的实现 会选择路由 《 IP的实现 会建立这个邻居子系统,建立邻居信息 设备无关接口 驱动 函数调用关系(对应上面... 阅读全文
posted @ 2015-12-27 17:33 吕晓宁 阅读(304) 评论(0) 推荐(0) 编辑