摘要:
一、概述U-boot中的TFTP用于发送较小的文件。下层使用UDP协议,发送使用UDP 69端口,每次发送的最大分组为512 Bytes。发送双方采用超时重传机制。数据传输模式为octet模式(二进制模式 )。在U-boot中使用tftp功能可以使用如下命令:tftp MemoryAddress FileName其中MemoryAddress为放入文件的内存首地址,FileName为传送文件的文件名(文件需放在tftp默认目录下)。二、使用TFTP使用TFTP传送文件的步骤:1使用时已经初始化以下变量:NetOurIP(本机IP地址,定义在Net.c文件)NetServerIP(TFTP服务器 阅读全文
摘要:
在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:bit31~bit302位为 “区别读写” 区,作用是区分是读取命令还是写入命令。bit29~bit1514位为 "数据大小" 区,表示 ioctl() 中的 arg 变量传送的内存大小。bit20~bit08 8位为 “魔数"(也称为"幻数")区,这个值用以与其它设备驱动程序的 ioctl 命令进行区别。bit07~bit00 8位为 &qu 阅读全文
摘要:
需要使用struct stat 类型时如果编译不过,修改Makefile:##CFG_INC := -I$(MPI_DIR)/api/so/##CFG_INC += -I$(BASE_DIR)/pub/includeCFLAGS += -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGE_FILE_SOURCE -D_LARGEFILE64_SOURCECFG_INC := ./libfile = libhiudisk.aUDISKLIB_OBJS = hi_udisk.o scsiexe.o all:$(libfile)$(warning ------- 阅读全文
摘要:
删除指定目录的其他文件(指定则文件保留)/*******************************************************************************/在Linux下opendir()、readdir()和closedir()这三个函数主要用来遍历目录。在使用这三个函数前必须先包括以下两个头文件:#include #include 函数原型DIR* opendir (const char * path );功能打开一个目录.参数及返回值:输入参数:文件或目录的绝对路径。输出参数:无返回值:在失败的时候返回一个空的指针,成功返回一个DIR*类型的 阅读全文
摘要:
USB主机在检测到USB设备插入后,就要对设备进行枚举了。为什么要枚举呢?枚举就是从设备读取一些信息,知道设备是什么样的设备,如何进行通信,这样主机就可以根据这些信息来加载合适的驱动程序。调试USB设备,很重要的一点就是USB的枚举过程,只要枚举成功了,那么就已经成功大半了。在说枚举之前,先大概说一下USB的一种传输模式——控制传输。这种传输在USB中是非常重要的,它要保证数据的正确性,在设备的枚举过程中都是使用控制传输。控制传输分为三个过程:①建立过程。②可选的数据过程。③状态过程。建立(Setup)过程都是由USB主机发起,它开始于一个Setup令牌包,后面紧跟一个DATA0包。如果是控制 阅读全文
摘要:
摘 要:基于一种新型USB 总线接口芯片CH372,设计出一种人机接口设备-USB 鼠标。阐述了CH372 的工作原理和特点,给出了系统的硬件电路图;在软件设计中,分析了HID 类设备描述符枚举过程,根据主程序流程图,写出了部分单片机本地端主程序。通过硬件和软件调试,最后成功模拟出鼠标左键和右键功能。 1 引言 USB(Universal Serial Bus,通用串行总线)是计算机上的一种新型接口技术,它使得计算机和外部设备的连接十分方便。HID 是Human InterfaceDvices 的缩写,即人机接口设备,是USB 协议中最早提出并支持的一种设备类。典型的HID 有键盘和鼠标等.. 阅读全文
摘要:
//============================================================================// 文件名: USBDESC.C// 用 途: USB描述符// 作 者: shenfei5// 时 间: 2007.2.3// 版 本: V1.10//============================================================================#include #include "usb.h" // USB模块#include "hid.h&quo 阅读全文
摘要:
//Linux设备驱动之HID驱动 源码分析http://blog.chinaunix.net/uid-20543183-id-1930836.htmlHID是Human Interface Devices的缩写.翻译成中文即为人机交互设备.这里的人机交互设备是一个宏观上面的概念,任何设备,只要符合HID spec,都可以称之为HID设备.常见的HID设备有鼠标键盘,游戏操纵杆等等.在接下来的代码分析中,可以参考HID的spec.这份spec可以在www.usb.org上找到.分析的代码主要集中在linux-2.6.25/drivers/hid目录下.对此设备结点的处理有两种接口,一种是rea 阅读全文
摘要:
Linux USB 鼠标驱动程序详解USB 总线引出两个重要的链表!一个 USB 总线引出两个重要的链表,一个为 USB 设备链表,一个为 USB 驱动链表。设备链表包含各种系统中的 USB 设备以及这些设备的所有接口,驱动链表包含 USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)。USB 设备驱动程序(usb device driver)和 USB 驱动程序(usb driver)的区别是什么?USB 设备驱动程序包含 USB 设备的一些通用特性,将与所有 USB 设备相匹配。在 USB core 定义了:struct usb_devic 阅读全文
摘要:
[cpp]view plaincopy#include#include#include#include#include#include#include#includeintmain(intargc,char**argv){intfd,retval;charbuf[6];fd_setreadfds;structtimevaltv;//打开鼠标设备fd=open("/dev/input/mice",O_RDONLY);//判断是否打开成功if(fd<0){printf("Failedtoopen\"/dev/input/mice\".\n&q 阅读全文