摘要:
一。TCP 网络模型程序设计 1. 网路编程模型函数化 1.1 创建套接字 socket 1.2 绑定地址函数 bind 1.2.1 地址类型 1.2.2 地址转换 ** in_addr_t inet_addr(const char *cp) 功能:将字符串形式的IP地址转化为整数型的IP地址(网络 阅读全文
摘要:
串口驱动分析初始化 一 。串口驱动程序结构 1. Samsung.c 2. s3c2440.c 二 。串口驱动中重要的数据结构 •UART驱动程序结构:structuart_driver •UART端口结构:structuart_port •UART相关操作函数结构: structuart_ops 阅读全文
摘要:
TTY驱动程序架构设计 一 。TTY概念解析 1. dev/ttySAC0 在Linux系统中,终端是一类字符型设备,它包括多种类型,通常使用tty来简称各种类型的终端设备。 •串口终端(/dev/ttyS*) 串口终端是使用计算机串口连接的终端设备。Linux把每个串行端口都看作是一个字符设备。 阅读全文
摘要:
一 。阻塞性驱动程序设计 1. 阻塞的必要性 2. 内核等待队列 1、定义等待队列wait_queue_head_tmy_queue 2、初始化等待队列init_waitqueue_head(&my_queue 3、定义+初始化等待队列DECLARE_WAIT_QUEUE_HEAD(my_queue 阅读全文
摘要:
Linux 按键定时器去抖 一 。按键抖动 按键所用开关为机械弹性开关,当机械触点断开、闭合时,由于机械触点的弹性作用,开关不会马上稳定地接通或断开。 因而在闭合及断开的瞬间总是伴随有一连串的抖动。 按键去抖动的方法主要有二种,一种是硬件电路去抖动;另一种就是软件延时去抖。 而延时又一般分为二种,一 阅读全文
摘要:
Linux 平台设备驱动模型 一。平台总线概述 1. 平台总线(Platform bus)是linux2.6内核加入的一种虚拟总线, 其优势在于采用了总线的模型对设备与驱动进行了管理,这样提高了程序的可移植性 2. 二。平台设备 1. 平台设备使用structplatform_device来描述: 阅读全文
摘要:
总线设备驱动模型 一. 总线模型概述 随着技术的不断进步,系统的拓扑结构也越来越复杂,对热插拔,跨平台移植性的要求也越来越高, 2.4内核已经难以满足这些需求。为适应这种形势的需要,从Linux2.6内核开始提供了全新的设备模型。 二. 总线 1. 描述设备 1. 在Linux 内核中, 总线由bu 阅读全文
摘要:
一。混杂设备驱动模型 1. 混杂设备驱动描述 在Linux系统中,存在一类字符设备,它们拥有相同的主设备号(10),但次设备号不同,我们称这类设备为混杂设备(miscdevice)。 所有的混杂设备形成一个链表,对设备访问时内核根据次设备号查找到相应的混杂设备。 Linux中使用struct mis 阅读全文