
Linux 其他驱动
gjy938815
在硬件、软件、算法等方面有多年工作经验
展开
-
USB 声卡 (转载)
近年来USB产品层出不穷,USB音频类在USB开发者论坛的努力下,成为一种标准的规范,USB声卡也开始在市场上悄然出现。因为USB声卡内置了DAC和有源功放,音频数据以数字方式进入USB声卡,完全杜绝了PC的内部干扰,所以,USB声卡将有可能成为现有内置声卡的替代品。本文介绍了一种基于ARM处理器的USB声卡设计。 USB声卡原理 由USB声卡数据流图(见图1)可以看出USB声转载 2013-07-02 17:03:44 · 4345 阅读 · 0 评论 -
USB驱动开发(3) .
在linux系统中USB驱动程序为如下结构: 若要进行驱动开发则只需要编写最上层的USB设备类驱动用于控制USB设备,还需要编写主机控制驱动程序。USBD是USB的核心用于控制数据的传输,控制HUB对设备进行连接和卸载等等,我们可以不用关注,有兴趣的可以深入研读。虽然USB核心的详细工作原理我们可以不了解,但是在编写USB设备驱动和主机控制器驱动需要对USB核心中的某些数据结构进行初始转载 2013-07-01 08:32:13 · 347 阅读 · 0 评论 -
USB驱动开发(1) .
usb是嵌入式系统中很重要的数据传输工具,所以linux usb驱动开发显得尤为重要。usb物理总线拓扑结构如下所示:usb总线接口包含主机和根集线器,根集线器用于连接子集线器和子设备构成树状拓扑结构,为USB物理设备构成的拓扑结构。以上只是描述了各USB物理设备的组成结构,那么主机和单个USB设备如何进行数据传输的呢?USB互联通信模型如下图所示 这里有几转载 2013-07-01 08:32:01 · 688 阅读 · 0 评论 -
USB驱动开发(2) .
在上一节中了解了大致模型,现在了解USB的硬件方面的原理。本人从事嵌入式硬件设计和linux驱动开发所以对硬件方面比较关注,软件开发人员可以跳过此节。USB设备端的连接器是由D+、D-及Vbus,GND和其它数据线构成的简短连续电路,并要求连接器上有电缆屏蔽,以免设备在使用过程中被损坏。有两种工作状态,即低态和高态。在低态时,驱动器的静态输出端的工作电压Vol范围为0~0.3V,接有一个15kΩ的转载 2013-07-01 08:32:06 · 666 阅读 · 0 评论 -
linux gpio接口 .
一.相关结构体1.gpio_chip代表一个芯片的一个gpio bankstruct gpio_chip { //gpio bank const char *label; //bank名 struct device *dev; //设备文件 struct module *owner; //模块所有者 int (*request)(struct gpio_chip *转载 2013-06-29 09:05:05 · 584 阅读 · 0 评论 -
usb触摸屏驱动 .
源码在/drivers/input/touchscreen/usbtouchscreen.c中static int __init usbtouch_init(void) //入口函数{ return usb_register(&usbtouch_driver); //注册usb触摸屏驱动}module_init(usbtouch_init);看usbtouch_dr转载 2013-06-29 09:03:09 · 924 阅读 · 1 评论 -
Linux串口编程
一 uboot传递参数'console=ttyXXX'的作用linux启动时uboot传递进console=ttyS0,115200n8的参数内核中用__setup()宏声明参数处理的方法关于__setup宏参考 early_param和__setup宏__setup("console=", console_setup);console_setup函数处理1.c转载 2013-06-29 09:20:59 · 1114 阅读 · 0 评论 -
一、usb子系统
一、usb子系统相关结构体 1. usb总线struct usb_bus { struct device *controller; int busnum; //总线号 const char *bus_name; //总线名 u8 uses_dma; u8 uses_pio_for_control; u8 otg_port; unsigned is_b_ho转载 2013-06-29 09:27:19 · 955 阅读 · 0 评论 -
linux特殊设备驱动 .
一. 内存设备结构体static const struct memdev { const char *name; mode_t mode; const struct file_operations *fops; struct backing_dev_info *dev_info;} devlist[] = { [1] = { "mem", 0, &mem_fops转载 2013-06-29 09:28:21 · 451 阅读 · 0 评论 -
linux input设备驱动 .
2012-12-21 22:54 370人阅读 评论(0)收藏举报一. 输入设备结构体 1. input_dev 输入设备struct input_dev { const char *name; //设备名 const char *phys; //设备系统层的物理路径 const char *uniq; // struct input_转载 2013-06-29 09:30:02 · 497 阅读 · 0 评论