怎么写usb驱动

1. 怎么做usb的驱动 你用的是笔记本吗?从本人的维修经验来看无法识别 , 一是电脑无法识别USB设备 。
二是USB设备不能被电脑识别 。我们先要判断是电脑的问题还是USB设备的问题 。我们可以用其他的USB设备来测试电脑有没有问题 。
如果是电脑的问题 。你的电脑是不是被病毒破坏 。USB2.0的驱动是不是安装完好或版本不兼容 。有没有软件冲突(先解决软件问题)一般情况出来一个安装驱动程序的提示 。
如果是电脑硬件问题 。我们先用万用表测量USB的四条线(红+5V 白DATA-数据- 绿DATA-数据- 黑 地线)万用表红表笔对地黑表笔测量(白线和渌线 。的阻值不相差50欧 , 这两条线都是从南桥出来的 , 如果阻值变化过大则可以判断是南桥问题 。说明USB在南桥内部的模块烧毁 。
在来看看外面的USB设备现在很多都要驱动程序 。即使没有驱动程序也不会出来无法识别的情况 。出现无法识别的情况有几种 。一USB数据线不通或接触不良一般都接触那个地方因为时间长可能里面生锈有胀东西还可能有东西在里面挡住了 。二 USB线不通 。红线不通什么反应也不会有 , 白线不通无法识别 。绿线不通也是无法识别 。白线和绿线不可以接反 。也是无法识别 。黑线不通也没有反应 , 这个测量的方法上面已经讲到 。
注意.红线5V电压低也可导致无法识别.
三 USB机板内部问题 。1晶振不良 , 不起振 。2晶振电容不良(20P)有两个
3复位电容电阻不良 。复位电压偏底偏高 4三端IC不良为IC提供电压不够5.
主IC不良
祝你好运!
2. 如何写一个Android USB接口驱动 说到 android 驱动是离不开 Linux 驱动的 。
Android 内核采用的是 Linux2.6 内核 (最近Linux 3.3 已经包含了一些 Android 代码) 。但 Android 并没有完全照搬 Linux 系统内核 , 除了对Linux 进行部分修正 , 还增加了不少内容 。
android 驱动 主要分两种类型:Android 专用驱动 和 Android 使用的设备驱动(linux) 。Android 专有驱动程序: 1)Android Ashmem 匿名共享内存; 为用户空间程序提供分配内存的机制 , 为进程间提供大块共享内存 , 同时为内核提供回收和管理这个内存 。
2)Android Logger 轻量级的LOG(日志) 驱动; 3)Android Binder 基于 OpenBinder 框架的一个驱动; 4)Android Power Management 电源管理模块; 5)Low Memory Killer 低内存管理器; 6)Android PMEM 物理内存驱动; 7)USB Gadget USB 驱动(基于 gaeget 框架); 8)Ram Console 用于调试写入日志信息的设备; 9)Time Device 定时控制设备; 10)Android Alarm 硬件时钟; Android 上的设备驱动: 1)Framebuff 显示驱动; 2)Event 输入设备驱动; 3)ALSA 音频驱动; 4)OSS 音频驱动; 5)v412摄像头:视频驱动; 6)MTD 驱动; 7)蓝牙驱动; 8)WLAN 设备驱动; Android 专有驱动程序 1.Android Ashmem 为用户空间程序提供分配内存的机制 , 为进程间提供大块共享内存 , 同时为内核提供回收和管理这个内存 。设备节点:/dev/ashmen .主设备号 10. 源码位置: include/linux/ashmen.h Kernel /mm/ashmen.c 相比于 malloc 和 anonymous/named mmap 等传统的内存分配机制 , 其优势是通过内核驱动提供了辅助内核的内存回收算法机制(pin/unoin) 2.Android Logger 无论是底层的源代码还上层的应用 , 我们都可以使用 logger 这个日志设备看、来进行调试 。
设备节点: /dev/log/main /dev/log/event /dev/log/radio 源码位置:include/linux/logger.h include/linux/logger.c 3.Android Binder IPC Binder 一种进程间通信机制 。他的进程能够为其它进程提供服务 ----- 通过标准的 Linux 系统调用 API 。