上一页 1 2 3 4 5 6 ··· 24 下一页
摘要: 分层概念: 驱动程序向上注册的原理: 比如:输入子程序一个input.c作为一层,下层为Dev.c和Dir.c,分别编写Dev.c和Dir.c向上Input.c注册;如图所示 分离概念: 分离概念主要是讲,设备驱动程序分成两个部分,也将引进另一个新概念bus_dri_dev模型 总线-驱动-设备模式 阅读全文
posted @ 2017-02-13 20:14 我有一壶酒 阅读(748) 评论(0) 推荐(0) 编辑
摘要: 3.2:控制传输过程1:root hub的控制传输在前面看到,对于root hub的情况,流程会转入rh_urb_enqueue().代码如下:static int rh_urb_enqueue (struct usb_hcd *hcd, struct urb *urb){ //如果是中断传输的端点 阅读全文
posted @ 2017-02-13 14:40 我有一壶酒 阅读(2850) 评论(0) 推荐(0) 编辑
摘要: 三:传输过程的实现说到传输过程,我们必须要从URB开始说起,这个结构的就好比是网络子系统中的skb,好比是I/O中的bio.USB系统的信息传输就是打成URB结构,然后再过行传送的.URB的全称叫USB request block.下面从它的接口说起.3.1:URB的相关接口1:URB的创建URB的 阅读全文
posted @ 2017-02-13 14:36 我有一壶酒 阅读(2436) 评论(0) 推荐(0) 编辑
摘要: 首先我们来看USB设备描述符的结构: 在USB总线识别设备阶段就将USB描述符发送给了USB总线驱动程序,设备的数据传输对象是端点,端点0是特殊端点,在USB总线驱动程序识别阶段, 会分配一个地址给USB设备,然后发送命令来获取USB描述符,来获取给USB设备信息,如厂家ID等: 本次通过USB鼠标 阅读全文
posted @ 2017-02-13 14:34 我有一壶酒 阅读(506) 评论(0) 推荐(0) 编辑
摘要: USB驱动编程原理: 当我们把USB设备插入USB口时会提示需要安装相对应的驱动,如USB鼠标、USB键盘等,这些电脑自己自身已经自带有相对于的驱动程序, 当电脑检查到该USB设备类型相同就去帮你安装相对于驱动,但有些由于系统没有自带有相对于的USB驱动程序,需要联网或者厂家资料自带有 就需要手动安 阅读全文
posted @ 2017-02-13 10:13 我有一壶酒 阅读(1081) 评论(0) 推荐(0) 编辑
摘要: 上节我们主要是对fb_info结构体的配置,对fb_info结构体的配置主要分为一下步骤: static int lcd_init(void){ /* 1. 分配一个fb_info */ s3c_lcd = framebuffer_alloc(0, NULL); /* 2. 设置 */ /* 2.1 阅读全文
posted @ 2017-02-12 15:53 我有一壶酒 阅读(358) 评论(0) 推荐(0) 编辑
摘要: LCD显示原理: 在JZ2440上,想要让LCD显示,需要几个部分1、LCD硬件 2、开发板上的LCD控制器 3、SDRAM内存存放数据FramBuffer 4、可能还需要一个调色板(实际上是一块内存,里面数据可以组成各种颜色) 显示原理:在开发板上操作LCD控制器,使得开发板向SDRAM内存里去除 阅读全文
posted @ 2017-02-12 15:28 我有一壶酒 阅读(536) 评论(0) 推荐(0) 编辑
摘要: I2C讲解: 在JZ2440开发板上,I2C是由两条数据线构成的SCL,SDA;SCL作为时钟总线,SDA作为数据总线;两条线上可挂载I2C设备,如:AT24C08 两条线连接ARM9 I2C控制器,通过控制来控制I2C设备的识别设备地址、读、写操作;如图所示 从中所知:I2C线上可以挂载很多个I2 阅读全文
posted @ 2017-02-12 11:13 我有一壶酒 阅读(18064) 评论(3) 推荐(2) 编辑
摘要: 答案:一、 int strcmp(char *source, char *dest) { /* assert的作用是现计算表达式 expression ,如果其值为假(即为0),那么它先向stderr打印一条出错信息, 然后通过调用 abort 来终止程序运行。 */ assert((source! 阅读全文
posted @ 2017-02-09 09:27 我有一壶酒 阅读(2049) 评论(0) 推荐(0) 编辑
摘要: 答案:全局变量(外部变量)的说明之前再冠以static 就构成了静态的全局变量。全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方式。 这两者在存储方式上并无不同。这两者的区别虽在于非静态全局变量的作用域是整个源程序, 当一个源程序由多个源文件组成时,非静态的全局变量在各个源文件中都是有效 阅读全文
posted @ 2017-02-09 09:01 我有一壶酒 阅读(789) 评论(0) 推荐(0) 编辑
上一页 1 2 3 4 5 6 ··· 24 下一页