上一页 1 ··· 12 13 14 15 16
摘要: 1.USB设备逻辑结构在USB设备的逻辑组织中,包含设备、配置、接口和端点4个层次。设备通常有一个或多个配置,配置通常有一个或多个接口,接口有零或多个端点。1.1 设备逻辑结构每个USB设备都可以包含一个或多个配置,不同的配置使设备表现出不同的功能组合,配置由多个接口组成。在USB协议中,接口代表一... 阅读全文
posted @ 2017-08-15 09:09 习惯就好233 阅读(544) 评论(0) 推荐(0) 编辑
摘要: 1.USB发展史USB(Universal Serial Bus ),通用串行总线,是一种外部总线标准,用于规范电脑与外部设备的连接和通讯。USB是在1994年底由英特尔、康柏、IBM、Microsoft等多家公司联合提出的,自1996年推出后,已成功替代串口和并口,成为当今个人电脑和大量智能设备的... 阅读全文
posted @ 2017-08-15 09:09 习惯就好233 阅读(1573) 评论(0) 推荐(0) 编辑
摘要: 一、SPI驱动子系统架构m25p80.c: static int __devinit m25p_probe(struct spi_device *spi) { struct flash_platform_data *data; s... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(651) 评论(0) 推荐(0) 编辑
摘要: 一、SPI子系统模型三个组成部分:SPI核心:连通了SPI客户驱动、SPI主控制器驱动SPI控制器驱动:驱动芯片中的SPI控制器SPI的FLASH(客户驱动)二、SPI控制器驱动分析 static int __init s3c24xx_spi_probe(struct platform_d... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(257) 评论(0) 推荐(0) 编辑
摘要: 一、SPI总线结构SPI(Serial Peripheral Interface)串行外设接口,是一种高速的,全双工,同步的通信总线。采用主从模式(Master Slave)架构,支持多个slave,一般仅支持单Master。SPI接口共有4根信号线,分别是:设备选择线(SS)、时钟线(SCK)、串... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(649) 评论(0) 推荐(0) 编辑
摘要: 一、自编设备驱动模型at24.c: static int __init at24_init(void) { io_limit = rounddown_pow_of_two(io_limit); return i2c_add_driver... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(302) 评论(0) 推荐(0) 编辑
摘要: 一、用户态驱动模型1.1 I2C通用驱动代码i2c_dev_init: static int __init i2c_dev_init(void) { int res; printk(KERN_INFO "i2c /dev ... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(500) 评论(0) 推荐(0) 编辑
摘要: 一、触摸屏驱动分析 static int __init tq2440ts_init(void) { struct input_dev *input_dev; adc_clock = clk_get(NULL, "adc")... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 一、MTD系统架构 1.MTD设备体验 FLASH在嵌入式系统中是必不可少的,它是bootloader、linux内核和文件系统的最佳载体。 在Linux内核中引入了MTD子系统为NORFLASH和NAND FLASH设备提供统一的接口,从而使得FLASH驱动的设计大为简化。 ... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(423) 评论(0) 推荐(0) 编辑
摘要: 一、输入子系统模型解析 1.为什么需要输入子系统按写按键驱动时:需要注册1个字符启动;open,read与用户程序交互;硬件设置。这些数据都是要输入的,所以可以全部整合成输入子系统。2.输入子系统的模型输入子系统由设备驱动层(input device driver),核心层(input core)和... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(256) 评论(0) 推荐(0) 编辑
摘要: DM9000数据发送编程: static int dm9000_start_xmit(struct sk_buff *skb, struct net_device *dev) { unsigned long flags; b... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 一、dm9000_porbe函数分析不同于u-boot代码,tq2440中的DM9000更加复杂,需要分析的点也很多: /* * Search DM9000 board, allocate space and register it */ stat... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(329) 评论(0) 推荐(0) 编辑
摘要: 一、网卡工作基本原理1.网络模型1.1 OSI七层模型OSI(Open SystemInterconnection),开放式系统互联参考模型 。它把网络协议从逻辑上分为了7层。 通过七个层次使不同的系统网络之间实现可靠的通讯。 1.2 Linux四层模型OSI参考模型的过于庞大、复杂招致了许多批评... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(277) 评论(0) 推荐(0) 编辑
摘要: 一、I2C总线介绍1.1 I2C电气特性 I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。I2C总线只有两根双向信号线。 SDA: Serial Data Line-数据线 SCL :Serial C... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(255) 评论(0) 推荐(0) 编辑
摘要: 1.块设备概念块设备是指只能以块(512Byte)为单位进行访问的设备,块大小一般是512个字节的整数倍。常见的块设备包括硬件,SD卡,光盘等。2.快速体验 insmod simple-blk.ko ls /dev/simp_blkdev0 m... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(235) 评论(0) 推荐(0) 编辑
摘要: 一、LCD驱动程序架构 1.裸机驱动代码分析①LCD初始化:控制器初始化,端口初始化,指明帧缓冲②LCD图形显示:将图形数据写入帧缓冲 void lcd_init() { lcd_port_init(); //初始化gpdcon和gpccon初始化... 阅读全文
posted @ 2017-08-15 09:08 习惯就好233 阅读(381) 评论(0) 推荐(0) 编辑
上一页 1 ··· 12 13 14 15 16