- 博客(45)
- 资源 (20)
- 收藏
- 关注
转载 4.12 基于OHCI的USB主机 —— USB设备设置地址
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/282153设置地址设置地址需要注意的是该命令只能从地址0、端口0发送,等到执行成功以后,需要设置协议栈对象的usbAddr为新的地址,以后所有命令的收发都只能通过新地址进行:/*
2013-10-25 17:51:52 580
转载 4.11 基于OHCI的USB主机 —— USB设备去的配置描述符
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/282151 发送取配置描述符命令,实际上得到的是一组描述符,包括配置描述符、接口描述符和端点描述符,对于U盘来说,这些描述符总长度不会超过64字节:/** * 取得配置描
2013-10-25 17:50:01 523
转载 4.10 基于OHCI的USB主机 —— USB设备取得设备描述符
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/282149 取得设备描述符设备描述符是USB设备最基础的描述符,只有取得了设备描述符,才可以顺藤摸瓜得到其它所有的描述符:/** * 取得设备描述符 * @ret
2013-10-25 17:49:14 560
转载 4.9 基于OHCI的USB主机 —— USB设备获取描述符通用函数
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/282147取得描述符这是一个通用的取得描述符的函数,除了设置设备请求类型和设备请求字段之外,没有对其它字段进行设置:/** * 取得USB的描述符,包括设备、配置、接口、
2013-10-25 17:48:30 513
转载 4.8 基于OHCI的USB主机 —— USB设备常量定义
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/274093 USB设备枚举过程中使用到的常量定义如下:/*------------------------------------------------------------
2013-10-25 17:47:37 849
转载 4.7 基于OHCI的USB主机 —— USB设备其它数据结构
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/274088 USB设备信息该结构是用来保存USB设备的各种描述符的:#define MAX_EP 3/** * USB设备信息 */typedefstruct _
2013-10-25 17:47:07 500
转载 4.6 基于OHCI的USB主机 —— USB设备描述符数据结构
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/274087 根据USB规范,定义各种描述符的数据结构如下:/** * 设备描述符 */typedefstruct _DEVICE_DESC{ BYTEbL
2013-10-25 17:46:36 478
转载 4.5 基于OHCI的USB主机 ——USB设备枚举过程
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269446 主机对USB 设备的识别过程叫做枚举,一个完整的Windows 对USB 设备枚举的过程为:(1) Get Device Descriptor。主机的第一个命令要求得到设备描述符,此
2013-10-25 17:46:06 701
转载 4.4 基于OHCI的USB主机 —— 描述符说明
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269443 设备描述符:偏移值字段名称字段大小说明0 blength 1 描述符长度
2013-10-25 17:45:37 495
转载 4.3 基于OHCI的USB主机 —— USB标准请求
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269441 USB标准设备请求是用来完成USB设备枚举的命令。USB设备必须对标准设备请求做出响应,不管该设备是否已经被分配了一个默认的地址或该设备目前正在配置。所有的标准请求都是使用默认端点(0)来传
2013-10-25 17:45:03 622
转载 4.2 基于OHCI的USB主机 —— USB设备命令介绍
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269438 USB 协议能够在启动或是当设备插入系统时对设备进行备置,这就是USB设备为什么可以执插拨的原因。USB 设备被分成以下几类:显示器(Monitors)、通讯设备(Communi
2013-10-25 17:44:31 515
转载 4.1 随便说几句 —— 关于USB主机系列
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/269435 今天查看了一下自己的博客,发现《基于OHCI的USB主机》系列文章居然连载有三个多月了,一共有27篇文章,这可真是一个很难得的事情。当年开发这个系统的时候,天天搞到昏天黑地,每天都是在公
2013-10-25 17:43:48 563
转载 3.17 基于OHCI的USB主机 —— 中断处理程序
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/261181 在OHCI的体系下,判断数据是否传输完毕是需要通过中断程序来判断的,当USB主机设置了HcControl和HcCommandStatus寄存器开始传输数据后,AM9200 自动开始数据传
2013-10-25 17:43:08 622
转载 3.16 基于OHCI的USB主机 —— 中断向量处理
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/261143 使用芯片提供的例程,中断向量处理程序也非常简单。在上面的AIC中断配置中,中断产生不是直接调用用于处理中断事务的函数,而是调用一个用汇编语言编写的函数,该函数主要功能是在中断处理函数调用前后
2013-10-25 17:42:15 549
转载 3.15 基于OHCI的USB主机 —— 中断寄存器初始化
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/261074 在AM9200中,中断寄存器分为2个层次,一个是用来设置某个功能允许哪些中断产生,另一个是AIC中断寄存器,用来设置是否允许该功能产生中断。当AIC对应的中断产生时,需要读取相应功能的中
2013-10-25 17:41:46 895
转载 3.14 基于OHCI的USB主机开发 —— OHCI(批量端口写数据)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/253009 通过批量端口向U盘写数据的函数处理与上面类似,只不过ED[0]下面要有2个TD,一个是CBW,另一个是DATA。而ED[1]下只有1个TD,是CSW。在本函数内只处理Mass
2013-10-25 17:41:16 597
转载 3.13 基于OHCI的USB主机 —— OHCI(批量端口读数据)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/252090 对于U盘来说,进行U盘的数据传输时需要通过批量传输端口收发数据,所使用的协议为Mass Storage协议,参见《Universal Serial Bus Mass Storage Cl
2013-10-25 17:40:24 516
转载 3.12 基于OHCI的USB主机开发 —— OHCI(控制端口写数据)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/247246 在USB设备初始化枚举过程中,需要发送一些设置命令到USB设备上,需要调用本函数来完成。函数的处理跟控制端口读数据差不多,只不过TD的数据传输方向设置不一样:/**
2013-10-25 17:39:41 541
转载 3.11 基于OHCI的USB主机开发 —— OHCI(控制端口读数据)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/247245根据USB的规范,在系统初始化的时候需要从控制端口发送命令,其中有一些命令是包含数据的,对于这些命令,需要调用本函数来完成。函数内主要调用AM9200提供的OHCI接口:AT91F_Creat
2013-10-25 17:38:50 598
转载 3.10 基于OHCI的USB主机 —— OHCI(自定义数据结构)
原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://lancelot.blog.51cto.com/393579/244578 OHCI接口层用到的数据结构定义如下,这些数据定义都是我自己的程序里所使用的自定义数据结构,是根据OHCI的标准与程序的处理方式进行定义的:/** * USB设备
2013-10-25 17:37:45 526
转载 WINCE 500的WIFI设置
http://hi.baidu.com/coldfrost/item/3be5da0a25b92f13cd34ea7f WIFI----简单来说就是做用来组建无线局域网的,在嵌入式系统中做无线网卡的。它的功能基本上和CS8900以及DM9000差不多,没有什么神密的。只不过CS8900/DM9000上有线的,WIFI是无线的。有线的协议是802.3无线的是802.11.功能上是一样的。性能上
2013-10-24 15:37:22 628
转载 802.11电源管理模式
http://blog.csdn.net/magod/article/details/6862851在无线网路的终端设备中,应该是以手持式装置与膝上型电脑为大宗。这类型设备在使用时仰赖电池提供电力的趋势极为明显。因此IEEE 802.11便提供了几种不同的电源管理模式,尤其是诉求提高电池续航力的省电模式尤为重要。本文将介绍几种电源管理模式,供有志学习WLAN基础知识的工程师参考。
2013-10-21 16:08:58 608
转载 wifi详解(五)
http://blog.csdn.net/ylyuanlu/article/details/77153251 Android平台的Wifi模块移植要点1.1 Wifi结构user interfaceAndroid WiFiServiceWPA_SupplicantDHD DriverDongle BinaryBCM43xxHardware
2013-10-21 16:06:32 2081
转载 wifi详解(四)
http://blog.csdn.net/ylyuanlu/article/details/77114651 IOCTL的调用逻辑之所以要分析这个,是因为上层wpa_supplicant和WIFI驱动打交道的方式,多半是通过ioctl的方式进行的,所以看看它的调用逻辑(这里只列出其主要的调用逻辑): 上面便是用户ioctl调用的流程图,它最终分为两条线即有
2013-10-21 16:02:39 1746
转载 wifi详解(三)
http://blog.csdn.net/ylyuanlu/article/details/77114411 WLAN驱动结构介绍1.1 SDIO驱动在drivers/mmc下面是mmc卡,SD卡和SDIO卡驱动部分,其中包括host驱动,card驱动和core部分,由于网络接口卡挂接在SDIO总线上,所以在此之前我们先看一下SDIO的驱动结构。其驱动在driv
2013-10-21 16:01:39 1734
转载 wifi详解(二)
http://blog.csdn.net/ylyuanlu/article/details/77114331 Wifi模块解析和启动流程1.1 框架分析WIFI整体框架如图所示:首先,用户程序使用WifiManager类来管理Wifi模块,它能够获得Wifi模块的状态,配置和控制Wifi模块,而所有这些操作都要依赖 Wifiservice类来实现。
2013-10-21 16:00:06 598
转载 wifi详解(一)
http://blog.csdn.net/ylyuanlu/article/details/77113961 WLAN技术WLAN是英文WirelessLAN的缩写,就是无线局域网的意思。无线以太网技术是一种基于无线传输的局域网技术,与有线网络技术相比,具有灵活、建网迅速、个人化等特点。将这一技术应用于电信网的接入网领域,能够方便、灵活地为用户提供网络接入,适合于用户流动
2013-10-21 15:59:20 629
转载 wince下实现wifi无线网络的连接和配置(WLAN)
http://blog.csdn.net/songjinshi/article/details/7264154在 Windows CE 下自带有无线网卡的配置和连接程序,但是如果系统剪裁掉了资源管理器和任务栏,或者再CE的很多应用中,是不允许用户回到桌面去调用系统的连接程序的,这篇文章就来谈一下如何用那么可以利用微软自带的WZC函数来重新编写一个独立于系统的WIFI连接程序。
2013-10-21 09:54:49 1035
转载 USB Device Desctiptor 相关
http://blog.csdn.net/njuitjf/article/details/6295152前面有篇文章说到如何获取U盘描述符,最终我们读取描述符的时候是通过以下语句实现的:lpudd[i] = m_ppCDeviceOnPort[i]->m_deviceInfo.Descriptor;将驱动中保存的Desctiptor信息,赋值到传入的buffer中。因此,引出来一个问题
2013-10-19 17:18:07 555
转载 HCD中Root Hub对象的初始化
http://blog.csdn.net/njuitjf/article/details/6292218前面有篇文章,说到了如何获取USB设备的Descriptor。其中有一个步,通过调用CHcd类的成员变量m_pCRootHub(CRootHub)的GetDeviceList函数,来获取Root Hub上设备列表。此处的Root Hub是在什么地方被初始化的呢? 1、搜索代码发现,类
2013-10-19 17:16:56 546
转载 WinCE USB驱动CDevice::EnterOperationalState函数相关
http://blog.csdn.net/njuitjf/article/details/6298857USB驱动中,设备相关的类及其继承关系如下: CDevice (ADT) / / CFunction CHub (ADT)
2013-10-19 17:16:09 514
转载 Wince USB otg驱动中关于函数CHub::HubStatusChangeThread
http://blog.csdn.net/njuitjf/article/details/6303546该函数是USB驱动中,监视hub状态改变的线程函数。Root hub的监视线程在OTG_Init函数被调用时创建。External Hub的监视线程在External Hub插入到Root Hub时被创建。在线程刚启动的时候(在线程循环体之外),需要进行一些操作。 //
2013-10-19 16:55:37 760
转载 WinCE USB 驱动中IssueTransfer调用相关
http://blog.csdn.net/njuitjf/article/details/6342415IssueTransfer调用相关 在CHub类中的AttachDevice函数中,经常会调用到类CControlPipe的函数IssueTransfer。本文介绍一下函数CControlPipe::IssueTransfer的调用过程,以及具体实现。 首先说说对函数
2013-10-19 16:55:06 430
转载 wince usb驱动中的OTGHNP_IsADevice函数
http://blog.csdn.net/njuitjf/article/details/6384868函数OTGHNP_Init中调用了函数UsbSocHnpInit。 UsbSocHnpInit(dwHnpRegBase, fLegacyHost); 函数UsbSocHnpInit中对全局变量g_dwHnpRegBase进行赋值。 g_dwHnpRegB
2013-10-19 16:53:08 525
转载 OTGHNP_EventNotify
http://blog.csdn.net/njuitjf/article/details/6385139函数CHub::IdentifyOTGDevice中对m_bOtgDescriptor进行赋值 m_bOtgDescriptor = m_bOtgDesc[2]; 函数CDevice::CreateUsbConfigurationStructure中对m_bOtg
2013-10-19 16:52:25 516
转载 wince usb驱动中的CHub::AttachDevice函数
http://blog.csdn.net/njuitjf/article/details/6384843 wince usb驱动中的CHub::AttachDevice函数 函数CHub::AttachDevice在HubStatusChangeThread中被调用。当有设备插入的时候,该函数被调用。函数的注释如下:// This function i
2013-10-19 16:48:44 661
转载 wzctool工具使用详解
http://www.cnblogs.com/wodeyitian/archive/2011/07/27/2460209.html //=====================================================================//TITLE:// wzctool工具使用详解//AUTHOR:// norains
2013-10-18 18:50:13 575
转载 WINCE 500的WIFI设置
http://hi.baidu.com/coldfrost/item/3be5da0a25b92f13cd34ea7f WIFI----简单来说就是做用来组建无线局域网的,在嵌入式系统中做无线网卡的。它的功能基本上和CS8900以及DM9000差不多,没有什么神密的。只不过CS8900/DM9000上有线的,WIFI是无线的。有线的协议是802.3无线的是802.11.功能上是一样的。性能
2013-10-18 17:32:50 795
转载 调试OTM4001A液晶驱动的一点心得
http://blog.csdn.net/zhandoushi1982/article/details/5908490 这几天调试一块以OTM4001A作驱动芯片的LCM模组,调试完毕后,终于有结果OK了。之前对这块一直用的不太透彻,恰好趁这次摸清楚了。需要注意的几点记录如下:(1)关于信号类型的片选。在很多LCD芯片规格书上都有关于信号片选的描述,如M2/M1/M0,典型如下:
2013-10-08 18:44:37 774
转载 色度副载波和声音载频
http://blog.csdn.net/zhandoushi1982/article/details/5967977 首先要明白什么是副载波?首先你把信号调制在载波1上,出于某种原因,你决定对这个结果再进行一次调制,于是你把这个结果去调制到另外一个更高频率的载波2。这里载波1就叫做副载波。具体到实例中,首先是亮度信号调制在高频射频(幅度很小,波形不规则,经过高放AGC和中放AGC后才CV
2013-10-08 18:41:04 2515
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人