如何在ecos下写USB设备驱动程序
DediProg USB驱动安装指南说明书
This guide can be used in EE100 / EM100Pro / SF100 / SF600 / SF600Plus / ProgMaster and StarProg Series.When the device is connected to a Windows 8.1 PC for the first time, Windows will report that it failed to find a USB driver if they have not been pre-installed.Follow the steps below to manually install the USB driver using the Windows 8.1 Device Manager.1.Connect your DediProg device to your computer's USB port.2.Open Device Manager, and the device will be listed under Other devices.3.Right-click on the device name* and select Update Driver Software from the pop-upmenu. This will launch the Hardware Update Wizard.*The device name under the Other devices will be different depends on your device model name.Device model name Device name in the Device ManagerEM100Pro EM100PROSF600/SF600Plus SF600-ISPSF100 SF100-ISPEE100 DediProg EE100 ProgrammerProgMaster-F4/F8/U4/U8 ProgMasterV2StarProg-F / U / ATE ProgMasterV24.Click Browse my computer for driver software to continue.5.Select Let me pick from a list of device drivers on my computer and click Next.6.Click Next.7.Click Have Disk8.Click Browse and locate the USB driver folder.(The USB Driver is located in “C:\Program Files (x86)\DediProg\EM100\driver”, driver name is “dediprog.inf”.)9.Select “dediprog.inf”10.Select “DediProg Emulator Pro driver” from Model list and click Next.11.Please wait until the installation is finished and close.12.Check Device Manager and see the USB driver has successfully updated. It is nowpossible to connect to the DediProg device. The newly installed device will be listed under "Universal Serial Bus controllers" in the Device manager:*Driver name and device model nameDevice model name Driver name listed the USB controllers EM100Pro DediProg Emulator Pro driverSF600/SF600Plus DediProg SF Programmer driverSF100 DediProg SF Programmer driverEE100 DediProg EE100 ProgrammerProgMaster-F4/F8/U4/U8 DediProg ProgMaster Gang ProgrammerStarProg-F / U / ATE DediProg ProgMaster Gang ProgrammerRevision HistoryDate Version Changes2015/06/15 1.0 Initial version releaseDediProg Technology Co., Ltd- Taiwan Headquarter TEL: 886-2-2790-7932FAX: 886-2-2790-79164F., No.7, Ln. 143, Xinming Rd., Neihu Dist., Taipei City 114, Taiwan- Shanghai Office TEL: 86-21-5160-0157 FAX: 86-21-6126-3530Room 503, Block E, No.1618, Yishan Road, Shanghai, ChinaTechnical Support:********************Sales Support:******************Information is believed to be accurate and reliable. However, DediProg assumes no responsibility for the consequences of use of such information or for any infringement of patents or other rights of third parties which may result from its use. Specifications mentioned in this publication are subject to change without notice.This publication supersedes and replaces all information previously supplied.All rights reservedPrinted in Taiwan.。
河南欧意数据线驱动说明书
河南欧意数据线驱动说明书
1.装入数据线带的光盘,把数据线链接到电脑USB端口上,数据线红灯亮起;这时会出现“找到新的硬件向导”对话框,选择“从列表或指定位置安装”选项;如图所示;
2.点击“下一步”按钮,会出现一对话框,默认路径就可以。
3.再点击“下一步”,向导就会自动搜索并添加;
4.当电脑搜索到新硬件后会出现下面窗口;
5.点击“完成”,蓝灯亮起并有下图提示,即安装成功。
6.打开“我的电脑”设备管理器,会发现端口里出现新的端口如下图
即设备启用成功。
USB驱动程序安装说明
USB编程电缆驱动程序安装说明概述USB编程电缆或USB接口产品是通过将电脑的USB接口模拟成传统的串行口(通常为COM3),从而使用现有的编程软件或通信软件,通过编程电缆与PLC 等设备的传统接口进行通信。
功能●支持的操作系统Windows2000/Windows XP●完全兼容USB 2.0规范●USB总线供电(非隔离产品)、或USB总线供电与PLC的编程口同时供电(隔离型产品)●波特率:300bps~1Mbps自动适应●每台PC只支持一个USB接口转换产品(如一台电脑需使用多个USB接口产品,需为各个USB接口产品设置不同的序列号,请咨询生产厂家索取序列号设置工具软件)系统要求请在使用USB编程电缆之前确认你的电脑是IBM PC兼容型并具备以下最低系统要求:●Intel兼容586DX4-100MHz中央处理器或更高●一个标准的USB接口(4-pin A型插座)●运行操作系统为Windows2000或Windows XP驱动程序的安装驱动程序的安装非常简单,只需按提示进行即可,以Windows XP为例,按以下步骤进行:1、打开将要连接USB编程电缆或USB接口产品的电脑电源,并确认电脑的USB口已经启动并正常工作。
2、将USB编程电缆或USB接口产品插入电脑的USB接口,Windows将检测到设备并运行添加新硬件向导帮助你设置新设备,插入驱动程序光盘并单击下一步继续。
如果Windows没有提示找到新硬件,那么在设备管理器的硬件列表中,展开“通用串行总线控制器”,选择带问号的USB设备,单击鼠标右键并运行更新驱动程序。
3、Windows将检测到安装信息,显示“CP2102 USB Composite Device ”设备,如果出现“没有通过Windows徽标测试”的信息框,单击“仍然继续”。
4、继续安装,让Windows拷贝驱动程序文件到你的硬盘。
5、当Windows显示完成找到新硬件向导,单击“完成”结束安装。
使用efi usb device的方法
使用efi usb device的方法摘要:1.EFI USB DEVICE概述2.准备硬件和软件环境3.创建EFI应用程序4.编写UEFI驱动程序5.测试与调试6.总结与展望正文:随着技术的发展,EFI(Extensible Firmware Interface,可扩展固件接口)已逐渐成为计算机启动和管理的新标准。
EFI USB DEVICE作为一种基于EFI的设备,可以提供更便捷、更高效的操作系统启动方式。
本文将为您介绍如何使用EFI USB DEVICE的方法,以及相关操作步骤。
首先,我们需要了解EFI USB DEVICE的概述。
EFI USB DEVICE是一种具有启动功能的USB设备,它可以在计算机启动时加载操作系统。
与传统的BIOS相比,EFI具有更强大的功能和更好的可扩展性。
使用EFI USB DEVICE 可以让我们在不需要更改主板BIOS设置的情况下,轻松实现操作系统的启动。
接下来,我们需要准备硬件和软件环境。
硬件方面,除了具备USB接口的计算机外,还需要一个支持EFI的USB设备。
软件方面,我们可以选择一款UEFI(统一可扩展固件接口)操作系统,如Windows 10版本2004及更高版本。
此外,还需要一款UEFI开发工具,例如Edk2等。
在准备好硬件和软件环境后,我们可以开始创建EFI应用程序。
首先,创建一个UEFI应用程序,用于实现EFI USB DEVICE的启动功能。
在Edk2工具中,创建一个新的UEFI Boot Loader项目,并按照教程逐步完成代码编写。
在此过程中,需要了解EFI应用程序的基本结构、函数声明和调用约定。
编写完成后,我们需要编写UEFI驱动程序。
驱动程序负责与硬件交互,实现EFI USB DEVICE的启动。
在这一步骤中,我们需要熟悉UEFI驱动程序的开发规范,以及USB设备的驱动架构。
编写完成后,将驱动程序加载到UEFI 应用程序中。
完成上述步骤后,我们可以进行测试与调试。
七彩虹主板bios设置usb启动的方法
七彩虹主板bios设置usb启动的方法想知道怎么设置U盘启动吗?面是店铺带来七彩虹主板bios设置usb启动的方法的内容,欢迎阅读!七彩虹主板bios设置usb启动方法一:一. 首先把已经使用U启动软件制作好启动盘的U盘插入电脑USB 接口,重新启动电脑,开机画面出现以后连续按“del”键进入BIOS 设置主界面。
二. 然后依次找到并确定进入:“Integrated peripherals”(集成周边设备) - “Onboard device“(板载设备) - “USB Configuration”(USB配置) - “USB2.0 Controller”(USB2.0控制器),将“Disabled”(禁止)修改为“Enabled”(启用),再按“F10”键保存退出并自动重启电脑。
三. 当电脑重启进入开机画面时,按Esc键进入第一启动顺序的选择菜单,此时您会发现原来只能选择“硬盘”和“光驱”两个的选项现在变成三个了,多出一个“USB”移动设备的选项了。
四. 按方向键将光标移动到USB处,选中后并按回车键Enter,电脑会自动重新启动然后进入U启动U盘启动盘主菜单界面,接下来大家就可以进行U盘装系统了。
注意事项①:当U盘拔出以后,即便刚才我们设置了“USB2.0 Controller”为“Enabled”开启状态,我们进入启动顺序选项的时候,还会是只有“硬盘”跟“光驱”两个选项的,而USB的选项则会消失,所以,我们要设置U盘启动为优先启动之前,一定要先将U盘插入电脑主机的USB接口处。
注意事项②:当在WinPE下重启电脑,第一启动设备的顺序将自动回到硬盘为第一启动的状态,电脑再次打开后展示的不是U启动主界面,而是进入windows系统。
七彩虹主板bios设置usb启动方法二:一. 将U启动U盘插入主机USB接口处,然后重新启动电脑,按Del键进入BIOS设置主菜单界面,再依次选择并打开“AdvancedBIOS Features”(高级BIOS功能) - “Hard Disk Drives”(硬盘驱动器),里面的选项有:“1st Drive”和“2nd Drive”两个选项,解释:USB跟硬盘相互选择其一即可。
USBISPEasy使用文档
USBISPEasy在线系统编程软件(V0.9)使用说明文档一、USBISPEasy在线系统编程软件简介USBISPEasy在线系统编程软件是用优秀的面向对象设计工具VB开发制造的,它设计能力强大,编程速度快,性能优异;它支持自动搜索芯片,记忆用户的操作,采用了动态识别技术,使软件使用更方便;它安装下载软件后在桌面自动生成快捷方式,方便调用;它运行时无需硬件通电,并能提示硬件连接与否。
USBISPEasy在线系统编程软件主界面如图1所示:图1 USBISPEasy在线系统编程软件主界面二、ISP简介ISP(In-System Programming)即在系统可编程,指电路板上的空白器件可以编程写入最终用户代码,而不需要从电路板上取下器件,已经编程的器件也可以用ISP方式擦除或再编程。
目前,无论在单片机上,还是在CPLD/FPGA上,ISP技术都得到了广泛的应用,它是未来发展方向。
ISP技术的应用也极大地促进了PLD产品的发展。
随着电子技术的日益发展,芯片的规模越来越大,封装日趋小型化,相应的对系统板级调试困难也在加大。
传统的编程方式,以设计单片机系统为例,如果想要对单片机编程序,必须要把单片机先从电路板上取下来,然后放入专用的编程器进行编程,最后再次放入电路板进行调试,可以看出,这样的开发步骤有以下缺点:1)频繁地拔插芯片,容易损坏芯片的引脚;2)如果频繁的调试程序,更换程序,必须重复拔插,大大降低了开发效率。
ISP技术彻底地改变了传统的开发模式,它只要在电路板上留下个接口,配合下载电缆,就可以不用拔出芯片,在电路板上就可以对芯片进行编程,它有以下优势:1)工程师在开发电子系统时彻底告别频繁拔插芯片的噩梦,避免损坏芯片的引脚;2)ISP技术可以加速产品的上市并降低研发成本;3)ISP技术帮助工程师缩短从设计,制造到现场调试,简化生产流程并采用经证实更有效的方式进行现场升级和维护,大大提高了工作效率,如图2所示;图2 ISP技术的优势三、USBISPEasy在线系统编程软件的工作原理及功能一般通用做法是内部的存储器可以由上位机的软件通过外部接口来进行改写。
PXG-E USB Configuration Driver安装指南说明书
PXG-E USB Configuration Driver Installation InstructionsInstall the USB Driver Software (Windows XP)(Also in appendix B of the PXG-E user manual)Once the powerxpert.inf file is downloaded to your PC use the following steps to activate the USB driver this only needs to be done one time for each PC.To install the USB driver software on a computer running Windows XP:1. Select No, not this time and click Next. The Found New Hardware Wizard –Install Software window opens (see Figure 1).Figure 1 - Found New Hardware Wizard – Install Software Window2. Select Install from a list or specific location (Advanced) and click Next. The Found New Hardware Wizard – Installation Options window opens (see Figure 2).Figure 2 - Found New Hardware Wizard – Installation Options Window3. Select Don’t search. I will choose the driver to install. and click Next. The Found New Hardware Wizard – Hardware Type window opens(see Figure 3).Figure 3 - Found New Hardware Wizard – Hardware Type Window4. Select Network adapters and click Next. The Found New Hardware Wizard – Select Network Adapter window opens (see Figure 4).Figure 4 - Found New Hardware Wizard – Select Network Adapter Window5. Select Have Disk. The Install From Disk window opens (see Figure 10). Note: Disregard the instruction to insert the manufacturer’s installation disk in the window. The driver is installed from the powerxpert.inf filedownloaded from the PXG-E web page or mini CD.Figure 5 - Install From Disk Window6. Click Browse. The Locate File window opensLocate and select the folder containing the powerxpert.inf file that you downloaded from the PXG-E web page or mini CD.8. Select powerxpert.inf and click Open. The folder containing the powerxpert.inf file displays in the Copy manufacturer’s file from box (see Figure 6).Figure 6 - Install From Disk Window9. Click OK. The Network Adapter displays in The Found New Hardware Wizard – Select Network Adapter window (see Figure 7).Figure 7 - Found New Hardware Wizard – Select Network Adapter Window10. Select Linux USB Ethernet/RNDIS Gadget and click Next.11. If the caution message shown in Figure 8 displays, click Continue Anyway.Figure 8 - Caution Message12. The wizard installs the software for the USB driver. The Found NewHardware Wizard – Finished Installing the Software window opens(see Figure 9).Figure 9 - Found New Hardware Wizard – Finished Installing the Software Window 13. Click Finish to close the wizard.14. Open the Network Connections window to verify that the installation wassuccessful (see Figure 10). If “Linux USB Ethernet/RNDIS Gadget” is listedin the Device Name column, the USB driver has been successfully installedFigure 10 - Network Connections WindowOnce installation is complete please refer to the PXG-E User Guide, section on Accessing the PXG-E for the model you are going to configure for step by step instructions on accessing using the USB connection. Open a browser and enter the following address http://192.168.200.101.。
ECos系统驱动程序的编写
ECos系统驱动程序的编写介绍Ecos的驱动程序分为两个部分:1./dev目录下,该部分程序同硬件相关2./io目录下,该部分程序同系统相关在IO包中的元件,可以增加当一个驱动程序被认为是静止的时候,她们必须通过一个透明的“handle”来访问。
每一个设备都有一个独特的名字,函数cyg_io_lookup()被用来寻找设备名字和设备号的对应。
而且,cyg_io_lookup()函数为设备驱动程序在使用该设备时进行设备的初始化提供了方便。
所有设备都有一个名字,如:/dev/console、/dev/serial0,等等所有的驱动程序,在Ecos中都是有c写成的设备驱动程序的基本功能是提供对设备的接收和发送数据。
而详细的实现方法有设备类自己实现。
例如:向块设备读写数据同向串口读写数据不同附加的函数为操作设备或硬件设备的状态提供了接口。
不同的设备有不同的附加函数。
Ecos的设备模块支持分层(layering),也就是说,一个设备驱动程序可以创建在另一个设备驱动程序上。
例如:tty就建立在简单的串口驱动上。
上层模块相对底层模块而言,有更好的可塑性,可以增加更多的功能和特征。
如tty设备驱动还提供了队列缓冲和编辑。
有些设备驱动还提供了它们所依赖的下一级驱动的特性。
Tty设备允许通过get/set config 调用来操作实际串口的的信息,并下达到实际串口。
用户API所有相关函数,除了cyg_io_lookup()以外,都需要io句柄。
所有函数都返回一个Cyg_ErrNo值。
若一个错误发生时,该值为负数,且其绝对值代表相应的错误号。
该值在cyg/error/codes.h有定义。
正确返回ENOERR。
任何的函数参数都为指针。
它允许驱动传递效率高。
最应引起注意的是参数length,他将传递给读写函数。
他包含有一个期待返回的数据长度而返回实际长度。
Cyg_ErrNo cyg_io_lookup( const char *name, cyg_io_handle_t *handle )上述函数将设备名字转换成句柄。
USB编程器软件安装和驱动程序安装说明
软件安装说明首先将光碟上的内容复制到D盘或者E盘,复制完后,在D盘或者E盘打开文件夹里面的内容,看到“”双击进入里面,将这个发送到桌面上,在桌面上双击软件,如图:然后在桌面上的软件打开之后,安装这二个驱动程序,点击“”就可以安装编程器的二个驱动程序了,如提示这样的图标LCDUSB编程器驱动程序安装说明为了能更清楚的了解编程器的关键部件位置,方便下面的叙述,请看一下上面的图片,上图中标注了各部分的功能。
此处有三个跳线选择端口,标有1、2都是写液晶数据的跳线接口,3是在线读写DVD时的跳线选择端口。
接口定义:1:12-15针,2:4-11针,3:13-14针(用于读写DVD数据)本编程器在正式使用之前,必须安装驱动,因使用编程器上的IC座读写芯片(以下简称“编程器状态”)与通过连线在DVD解码板上在线读写(以下简称“在线读写状态”)使用的不是两种通讯模式,所以要经过两次驱动。
状态指示灯“”为绿色表示为“在线读写状态”,此二个灯全亮“”表示为“编程器状态”。
下面详细叙述驱动的安装过程。
注意:在开始安装驱动时,请不要将编程器与电脑连接,在下面提到需要插入编程器的时候再连接编程器,否则您的安装可能与本说明不符而使安装变复杂。
01:点击桌面上软件的“”。
会看到下图所示的窗口界面。
02、鼠标单击上图所示的“”按钮,稍等片刻会看到下图所示的窗口界面,表示正在安装驱动文件。
03、在上图所示的复制进程结束后,会出现下图所示的窗口界面,表示驱动的安装前期工作完成。
04、在上图所示的界面中点“确定”按钮,上图所示的界面消失,表示“编程器状态”的驱动预安装完毕。
05、接下来我们安装“在线读写状态”的驱动,鼠标点击驱动软件的“”的向下的小箭头,将鼠标向下移动到“”选择“在线读写驱动.INF”,会看到下图所示的窗口界面。
06、鼠标单击上图所示的“”按钮,稍等片刻会看到下图所示的窗口界面,表示正在安装驱动文件。
07、在上图所示的复制进程结束后,会出现下图所示的窗口界面,表示驱动的安装前期工作完成。
USB驱动程序编写和安装导入
USB驱动程序编写和安装导入10分钟完成一个USB驱动程序很多写Windows Device Driver的开发人员基本上都是使用Windows DDK进行开发的。
但是,现在也有不少人都开始借助一些辅助工具。
笔者去年开始接触到riverStudio,发现它真的是一个不错的开发工具,不仅写代码的时候思路清晰,而且和DDK的结合很好。
当然,也有很多人觉得用DriverStudio不够正宗,或者说不能很好的理解Windows Device Driver的架构。
我感觉这就有点像MFC 和SDK的关系,关于这个问题在很多地方都有争论,比如在万千新闻组上,就讨论了将近2个月。
每个人都有自己的最爱,都有自己的习惯,只要你能把事情做好,我想用什么方法应该都是一样的。
如果你已经习惯了用DDK开发,那完全还可以继续用下去;如果你觉得DriverStudio不错,那尝试用一个可以给你按照OOP概念来编程的工具有什么不好呢?在驱动开发网上,经常看到有人询问一些关于DriverStudio的使用的问题。
我正好很有幸用它作了几个驱动程序,包括VXD, KMD和WDM,稍微有点心得,因此想写下来给大家作一个小小的参考。
如果其中有错误,欢迎大家给我指出,谢谢。
下面我就介绍一下用DriverStudio开发一个USB驱动程序的过程。
这个USB设备有3个双向端点,每个端点的配置如下:EP 类型地址buffer(Bytes)0 IN/OUT Control 0x80/0x00 16/161 IN/OUT Bulk 0x81/0x01 16/162 IN/OUT Bulk 0x82/0x02 64/64我们的驱动程序需要实现的功能就是控制设备上的LED灯的亮和灭,以及通过Endpoint 2对设备进行读写。
由于DriveStudio由几个部分组成,我们写这个驱动程序只要用到DriverWorks,因此下面我们就简称它为DW。
在这里,我们假定读者已经正确的安装了DW,并且已经编译好了各个库文件。
安装USB驱动程序说明
安装USB驱动程序说明1、USB 通讯的考勤机,首次连接电脑时都会弹出“发现新硬件”的窗口,这时点“下一步”加载USB驱动程序。
USB驱动程序加载完成后,会在电脑右下角出现一个绿色小图标,跟U盘插上电脑的图标一样。
2、如果考勤机连接上电脑没有任何反应,而且电脑右下角也没有出现任何图标。
可按以下方法处理:1) 重启考勤机。
2) 检测USB线是否通讯良好,否则更换同类型的数据线再连接。
3) 检查电脑的USB接口是否接触不良,插到另外USB接口测试或换台电脑测试是否能连接。
4) 重新加载USB驱动程序请参照以下图文:第一步:右键点击“我的电脑”→属性第二步:点击硬件→设备管理器第三步:找到其他设备中打了黄色叹号或问号的“SmackBio USB Moudle”,右击点中此设备–更新驱动程序,更新过程参考以下教程:(如图:)如果出现打了黄色问号的“SmackBio USB Moudle””设备不是在其他设备下,是在通用串行总线控制器下面的,右击点中此设备–卸载,之后重启考勤机,将会自动弹出硬件安装向导,安装过程参照以下教程。
手动加载USB驱动程序教程:A:在弹出的硬件安装向导中,选择从列表中安装。
(如图:)B:点下一步,–>选中在搜索中包括这个位置,点击浏览,选中软件安装目录下的USBDeviceDrivers 文件夹(如D:\RIMS\USBDeviceDrivers)(如图:)C:点击下一步,搜索驱动程序。
(如图:)如果有遇到选择程序,继续点击下一步。
D:搜索驱动程序中,如果遇到提示插入光盘(如图:)E:点确定,点浏览,选中软件安装目录下的USBDeviceDrivers文件夹内的SBUM1_0.sys 文件,点打开。
(如图:)F:点确定后,提示完成安装。
这时发现电脑右下角出现硬件图标,打开软件连接设备。
usb驱动教程
usb驱动教程Windows驱动编程基础教程我经常在网上遇到心如火燎的提问者。
他们碰到很多工作中的技术问题,是关于驱动开发的。
其实绝大部分他们碰到的“巨大困难”是被老牛们看成初级得不能再初级的问题。
比如经常有人定义一个空的UNICODE_STRING,然后往里面拷贝字符串。
结果无论如何都是蓝屏。
也有人在堆栈中定义一个局部SPIN_LOCK,作为下面的同步用——这样用显然没有任何意义。
我无法一一回答这些问题:因为往往要耐心的看他们的代码,才能很不容易的发现这些错误。
而且我又不是总是空闲的,可以无休止的去帮网友阅读代码和查找初级错误。
但是归根结底,这些问题的出现,是因为现在写驱动的同行越来越多,但是做驱动开发又没有比较基础的,容易读懂的资料。
为此我决定从今天开始连载一篇超级入门级的教程,来解决那些最基本的开发问题。
老牛们就请无视这篇教程,一笑而过了。
Windows驱动编程基础教程(1.1-1.3)1.1 使用字符串结构常常使用传统C语言的程序员比较喜欢用如下的方法定义和使用字符串:char *str = { “my first string” }; // ansi字符串wchar_t *wstr = { L”my first string” }; // unicode字符串size_t len = strlen(str); // ansi字符串求长度size_t wlen = wcslen(wstr); // unicode字符串求长度printf(“%s %ws %d %d”,str,wstr,len,wlen); // 打印两种字符串但是实际上这种字符串相当的不安全。
很容易导致缓冲溢出漏洞。
这是因为没有任何地方确切的表明一个字符串的长度。
仅仅用一个’\0’字符来标明这个字符串的结束。
一旦碰到根本就没有空结束的字符串(可能是攻击者恶意的输入、或者是编程错误导致的意外),程序就可能陷入崩溃。
使用高级C++特性的编码者则容易忽略这个问题。
简思PLC软件和USB转串口线驱动安装
简思PLC软件和USB转串口线驱动安装一、PLC软件目前我司PLC编程软件分为两种,状态帧PLC编程软件V4.13版和J S_PRGMR1.5版。
编程软件无需安装,可直接复制粘贴在桌面。
(1)状态帧PLC编程软件适用于我司所有的负逻辑PLC,所谓负逻辑即PLC内部默认认为“0”状态有效。
如SF-1616A2MT、SF-1008A0MT、SF-0805A0MT、SF-0803A1MT、SF-0402A0MR均为负逻辑。
(2)JS_PRGMR编程器适用于我司正逻辑PLC,所谓正逻辑即PLC 内部默认为“1”状态有效,如SF-4832A3MT,JS_1310A111。
二、USB驱动安装USB转9针孔串口线连接电脑都是需要安装驱动的,每种线都有相应的配套驱动。
建议大家购买质量过硬的下载线,以免在给PLC下载程序的时候出现通信不上,下位机无反应等情况。
以我司的一款USB转串口线驱动安装为例:USB2.0版。
适用于XP系统、WIN7、WIN8、WIN10系统。
安装步骤:(1)将USB线插在电脑上,在电脑的右下角不会弹出扫描提示,一般自动安装会失败,需要手动安装。
(2)打开电脑设备管理器,XP和WIN7可直接在计算机属性中打开。
插上USB转串口线后,我们可以在设备管理器中看到其他设备:USB Serial port 的警叹号标志。
(WIN8和WIN10系统出现的是UMC 警叹号)。
(3)鼠标选中该处再右击,点击选择“更新驱动程序软件”。
(4)再选择“浏览计算机以查找驱动程序软件”。
(5)弹出文件夹选择处,点击“浏览”,选出拷贝桌面上的驱动文件夹。
(6)选择桌面下的“UT-8801驱动”,在文件夹内含有2个子文件夹,选择“USB2.0 Driver”文件夹。
(7)选择“USB2.0 Driver”文件夹下面的子文件夹“win xp server2003 2008 2012 Vista 7 8 8.1 10 32-64bit”,选中后点击“确定”。
一文入门usb设备的驱动编写方法
一文入门usb设备的驱动编写方法USB设备驱动编写入门USB(通用串行总线)是一种广泛使用的协议,用于在计算机和外围设备之间建立通信渠道。
编写USB设备驱动程序需要对USB规范以及操作系统提供的底层机制有深入的理解。
1. 理解USB规范USB规范定义了设备之间的通信协议、设备类型和描述符格式等方面。
理解规范对于编写符合标准且能够与其他USB设备交互的驱动程序至关重要。
2. 选择操作系统平台不同操作系统对USB设备驱动程序的要求有所不同。
为Windows环境编写驱动程序与为Linux或macOS编写驱动程序具有不同的方法。
了解目标操作系统的特定要求至关重要。
3. 设置开发环境设置开发环境包括安装必要的工具和库。
这可能需要安装USB 开发工具包或编译器。
阅读操作系统的文档以设置正确的环境。
4. 创建USB描述符USB描述符是描述设备功能和配置的数据结构。
驱动程序需要创建这些描述符才能注册设备并向操作系统公开其功能。
5. 实现USB端点USB端点是设备与计算机之间的数据传输通道。
驱动程序需要实现端点处理程序来处理数据传输和控制请求。
6. 处理USB事件驱动程序需要处理各种USB事件,例如设备插入、拔出和配置更改。
实现事件处理程序来响应这些事件并更新设备状态。
7. 使用USB堆栈操作系统提供USB堆栈,为驱动程序提供与底层USB硬件接口的抽象层。
了解USB堆栈的API和功能对于与硬件交互至关重要。
8. 调试驱动程序调试USB设备驱动程序需要专门的工具和技术。
使用调试器、日志记录和分析工具来识别并解决问题。
9. 测试驱动程序在不同环境和条件下全面测试驱动程序至关重要。
执行功能测试、兼容性测试和压力测试以验证驱动程序的可靠性和稳定性。
10. 提交并分发驱动程序开发完成后,需要向操作系统供应商提交驱动程序以进行认证和分发。
遵守供应商的准则并提供必要的文档。
怎样写USB驱动
引言随着人们生活水平的提高,我们用到的USB设备也越来越多,但是Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和使用他们,也越来越成为困扰我们的一大问题;本文的目地是使大家了解怎样编制USB设备驱动,为更好地配置和使用USB设备提供方便;对于希望开发Linux系统下USB设备驱动的人员,也可作为进一步学习USB驱动的大体架构进而编写出特殊USB设备的驱动程序。
USB基础知识USB是英文Universal Serial Bus的缩写,意为通用串行总线。
USB最初是为了替代许多不同的低速总线(包括并行、串行和键盘连接)而设计的,它以单一类型的总线连接各种不同的类型的设备。
USB的发展已经超越了这些低速的连接方式,它现在可以支持几乎所有可以连接到PC上的设备。
最新的USB规范修订了理论上高达480Mbps的高速连接。
Linux内核支持两种主要类型的USB驱动程序:宿主系统上的驱动程序和设备上的驱动程序,从宿主的观点来看(一个普通的宿主也就是一个PC机),宿主系统的USB设备驱动程序控制插入其中的USB设备,而USB设备的驱动程序控制该设备如何作为一个USB设备和主机通信。
本文将详细介绍运行于PC机上的USB系统是如何运作的。
并同时用USB驱动程序的框架程序当例子作详细的说明,我们在此文中不讨论USB器件的驱动程序。
USB驱动程序基础在动手写USB驱动程序这前,让我们先看看写的USB驱动程序在内核中的结构,如下图:USB驱动程序存在于不同的内核子系统和USB硬件控制器之间,USB核心为USB驱动程序提供了一个用于访问和控制USB硬件的接口,而不必考虑系统当前存在的各种不同类型的USB硬件控制器。
USB是一个非常复杂的设备,linux内核为我们提供了一个称为USB的核心的子系统来处理大部分的复杂性,USB 设备包括配置(configuration)、接口(interface)和端点(endpoint),USB设备绑定到接口上,而不是整个USB 设备。
usb configfs原理
usb configfs原理USB ConfigFS (Configuration File System) 是一个用于配置和管理USB 设备的Linux 内核功能。
USB ConfigFS 原理基于linux 的user-ioctl 接口和文件系统配置几个关键点进行设备驱动的通信和管理。
USB ConfigFS 的运行原理如下:步骤1:创建USB Function 实例USB ConfigFS 中的Function 是USB 设备的功能模块。
首先需要在/config/usb_gadget/ 目录中创建一个gadget 实例。
Gadget 是一个虚拟的USB 设备,它可以向主机模拟一个真实的USB 设备。
可以通过向/config/usb_gadget/ 目录写入数据来创建一个gadget 实例:1/ 创建一个gadget 实例的根目录:shellmkdir /config/usb_gadget/g12/ 配置gadget 的属性:g1 目录中有很多属性文件用于配置gadget 实例,例如idVendor, idProduct, bcdDevice 等。
可以将这些属性值写入到相应的文件中:shellecho 0x1234 > /config/usb_gadget/g1/idVendorecho 0x5678 > /config/usb_gadget/g1/idProductecho 0x0100 > /config/usb_gadget/g1/bcdDevice3/ 创建一个Function 实例:在gadget 实例下创建一个Function 实例,可以通过创建一个目录和一个名为"function" 的符号链接来实现。
Function 的类型由链接指向的目标文件决定:shellmkdir /config/usb_gadget/g1/functions/acm.gs0ln -s /config/usb_gadget/g1/functions/acm.gs0 \/config/usb_gadget/g1/function步骤2:配置USB Function 属性和设置Function 实例具有自己的属性,可以通过写入属性文件来配置Function。
IOS系统增加USB驱动教程
IOS系统添加USB驱动教程
一、解压Win7UsbPatcher压缩包,然后打开文件夹,运行“Win7UsbPatcher.exe”程序。
二、打开软件后选择第三项,然后选择“Next”继续。
三、如下图有两个选项,上面选择需要添加USB驱动的文件类型,下面选择文件路径,然后点击“Next”继续。
四、这一步选择增加了USB驱动的ISO文件保存位置,要求必须要有8G的容量,格式必须为NTFS。
五、选择开始制作,大概需要半个小时甚至更长时间,根据ISO文件大小而定,请耐心等待,完成后在保存的盘里面多一个ISO格式的文件,这时就可以使用这个ISO系统安装了。
教你在DOS下使用USB设备
教你在DOS下使用USB设备绝大多数情况下我们都在Windows下使用闪盘等USB设备,那么在DOS下我们也能使用这些设备吗?当然可以!跟着我对系统进行一些改进吧,操作并不复杂。
步骤1.制作一张Windows 98启动盘,具体制作方法就不用我再说了吧!步骤2.下载Mhairudos、Kxlrw40an两个文件(下载地址分别为/glennmcc/downloads/mhairudos.zip/pcc/products/drive/cdrrw/kxlrw40an/driver/kxlrw40an.exe然后将Mhairudos.zip解压,从中提取Di1000dd.sys文件备用;Kxlrw40an.exe是自解压文件,运行后会生成F2H目录,将该目录下的RAMFD.SYS、USBCD.SYS和Usbaspi.sys文件连同刚才得到的Di1000dd.sys文件一起复制到启动盘的根目录下。
提示:Di1000dd.sys文件是DOS环境下USB设备的驱动程序,RAMFD.SYS、USBCD.SYS和Usbaspi.sys文件则来自于日本松下公司于2003年开发的一个DOS环境下USB设备应用解决方案,其开发目的本来是用在松下公司自己生产的设备上,但只要你的电脑主板南桥的制造商是Intel、NEC、nVIDIA、VIA或者SIS之一,那么该程序就一样适用(这个条件很宽松吧)。
另外使用这种方法可以在DOS环境下驱动采用较新的OHCI界面和传统UHCI界面的两种USB1.1设备,以及EHCI界面下的USB2.0设备。
步骤3.在启动盘中找到Config.sys文件,用“记事本”将其打开,在[CD]小节的任意位置加入以下两行代码:device=a:\usbaspi.sysdevice=a:\di1000dd.sys步骤4.将需要在DOS环境下使用的USB设备与电脑主板连接,然后重启电脑进入BIOS,将第一启动装置改为软盘,按F10键保存退出。
东芝e-STUDIO163使用USB连线打印驱动及扫描的安装
安装打印机驱动:1、将复印机安装完毕后,把电脑和163/166复印机连接好,当系统提示找到新的硬件时插入驱动光盘(注意东芝机器内附二张光盘,一张是驱动VIEWER191,另一张是用户文件。
不过我们接到东芝公司的通知,166机器有的二张全部都是用户文件,遇到这种情况请从网上下载驱动,或者向你的供应商索取)。
这里勿必请用手动安装,找到光盘中USB_DRV这个文件夹-对应机型如163/166-对应操作系统(如XP等)-语言(一般是选择chinese或EN),然后点确定,这时就可以把USB仿真驱动安装好即我们常在设备管理器里可以看到的COM3或者COM4端口,随即系统又会提示找到新的硬件,这时你只需点自动安装就可以把打印驱动安装完毕。
2、然后进入“控制面板”中的“打印机和传真”选项,点击左上角的“添加打印机”,下一步“连接到此计算机的本地打印机”,选择“COM3(串行口)”,接着下一步选择“从磁盘安装”打印机的驱动,让打印机能在“打印机和传真”中显示出来。
3、最后,由于东芝这款打印机默认的进纸方式为“Letter”,此时是无法打印文件的,需进入打印机的高级设置里将的进纸方式选为“A4纸”后,就可以成功打印了。
安装扫描驱动:将光盘中的另一个文件夹(Toshiba Viewer)打开,双击Setup.exe文件,电脑会自动运行安装(一般选择默认方式,除安装目录和语言)。
安装完毕后系统会要求重新启动电脑,重启后会提示你需要进行Unimessage Pro注册,名称,单位,电话以及经销商等的内容无关紧要,可以随便填写,但电话、传真要求8位数字以上;然后按下一步,选择“是”,即查找连接到此电脑的设备并配置Unimessage Pro来运用它们,再点下一步。
此时系统会扫描你的端口,并自动进行配置。
恭喜你就将Unimessage Pro安装完毕。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
硬件要求USB设备应该在start_fn被调用后才激活,如:三态某个适合的引脚。这样就阻止了在系统其他所有部分被初始化完之前,主机不能和外设交互。可以认为start_fn将只被调用一次---在上电后很短的时间。
在某些位置设备驱动可能检测到状态改变,如:当主机和外设间的连接被建立时,通过state_change_fn回调函数报告给高层代码。状态改变不能被驱动程序自己轻松处理,要由高层代码,如:USB公共驱动包来处理它。
&usbs_sa11x0_ep1_devtab_functions,
&usbs_sa11x0_devtab_dummy_init,
0,
(void*) &usbs_sa11x0_ep1);
static CHAR_DEVIO_TABLE(usbs_sa11x0_ep1_devtab_functions,
&cyg_devio_cwrite,
&usbs_devtab_cread,
&cyg_devio_bwrite,
一个USB设备要等到控制端点数据结构准备好才能使用,然而,目标处理器或者板子上的USB硬件不能保证应用程序一定要使用此硬件。为了裁减掉不需要的代码和数据,设备驱动提供了一个配置选项以决定端点0的数据结构是否真的要用到。一个缺省值CYGINT_IO_USB_SLAVE_CLIENTS确保了USB设备将被自动使能,如果高层代码确实需要USB支持,而最大的控制权将留给用户。
--------
控制端点
--------
USB设备驱动应该给每一个USB设备提供一个单一的usbs_control_endpoint数据结构。典型的,外设只有一个USB端口时整个系统将只有一个这样的数据结构,但是理论上,可能有多个USB设备。它们可以是全部相同的芯片,这种情况下,一个单一的设备驱动将支持多个设备实例。或者它们是不同的芯片。这些数据结构的名称将由设备驱动决定,但要注意避免名字冲突。
endpoint_type
指定端点类型,其值为USB_ENDPOINT_DESCRIPTOR_ATTR_CONTROL, BULK, ISOCHRONOUS或者INTERRUPT之一。
一旦主机和外设间的连接被建立起来,外设必须在所有时间做好接收控制信息的准备,而且必须在限定时间内响应这些消息。如:标准set-address消息必须在50ms内处理完。USB规范里提供了更多时限参数信息。设备驱动负责接收控制消息的初始包,这个包总是8字节且应该被保存到control_buffer字段里。当然,标准控制消息包应该被设备驱动自身检测和处理。最重要的是set-address,但是通常作用在暂停端点上的get-status、set-feature和clear-feature请求也将被驱动处理。其他标准控制消息应该首先被传到standard_control_fn回调函数,最终传到USB公共驱动包提供的缺省处理器usbs_handle_standard_control上。类、厂商和保留控制消息应该总是分发到合适的回调函数上,这里不存在缺省处理器。
-----------
USB测试支持
-----------
可选地,USB设备驱动提供USB测试软件支持。这要求定义一系列的额外数据结构,以允许通用测试代码了解硬件都有什么功能和可以执行什么操作。
关键数据结构是usbs_testing_endpoint,定义在cyg/io/usb/usbs.h里。另外,一些通用要求的常量由USB通用驱动包在cyg/io/usb/usb.h中提供。应该为每一个支持的端点定义一个usbs_testing_endpoint结构体。下面这些字段需要被填写:
*********************************
* 如何在ecos下写USB设备驱动程序 *
*********************************
------USB设备驱动移植参考
2007/10/21 asdjf@
--------
中断处理
--------
一个USB设备驱动通常需要提供中断服务函数给所有的端点和可能的额外USB事件,如:进入或离开挂起模式。一般这些中断不需要通过ISR直接被服务,而是通过DSR。如果设备不能接收或发送另一个数据包,硬件将产生NAK应答,主机将在一小段时间后再次重试。如果要求高的吞吐率,那么可能需要ISR级处理大量的批量传输协议,此时,ISR里处理每一个数据包,只在整个传输结束时才激活DSR一次。
对于数据传输,高层代码将填写buffer、buffer_size、complete_fn和complete_data字段。传输函数应该设置启动以允许主机收发数据包。一般在传输结束或者每一个数据包传输后都引起一次中断。一旦整个传输完成,驱动程序的中断处理代码将调用完成函数。这可能发生在DSR上下文,也可能发生在线程上下文中,取决于驱动的实现方式。要考虑一系列的特殊情况:如果传输被启动时端点被暂停,那么,完成函数将立即被调用并返回-EAGAIN。如果因为连接断开,传输不能被完成,那么完成函数将被调用并返回-EPIPE。如果在传输期间端点被stall阻止,要么是因为标准控制协议,要么是高层代码调用了set_halted_fn函数,那么,完成函数应该再一次被调用并返回-EAGAIN。最后,usbs_start_rx_endpoint_wait和usbs_start_tx_endpoint_wait functions函数使用0字节的buffer size参数调用数据传输函数。
从概念上说,数据端点比控制端点更简单。设备驱动要提供两个功能:一个用于数据传输,另一个控制停止情况。usbs_start_rx_buffer、usbs_start_tx_buffer、usbs_set_rx_endpoint_halted和usbs_set_tx_endpoint_halted用于实现这些功能。设备驱动也负责维护halted暂停状态。
static CHAR_DEVTAB_ENTRY(usbs_sa11x0_ep1_devtab_entry,
CYGDAT_DEVS_USB_SA11X0_DEVTAB_BASENAME "1r",
0,
&cyg_devio_bread,
&cyg_devio_select,
&cyg_devio_get_config,
&cyg_devio_set_config);
--------
数据端点
--------
除了控制端点数据结构,USB设备驱动还应该提供合适的数据端点数据结构。很明显,只有控制端点被提供时这才有意义。另外,高层代码可能不需要处理全部端点,因此,提供配置选项控制每个端点是否存在非常有用。例如:预期中的应用程序可能只涉及到一个发送端点和当然必须存在的控制端点,那么若此时仍然支持接收端点,只能间接操作,通常可能被链接器清除掉。为避免这种情况,设备表格条目通常被定义在一个独立的源文件中,以一个指定的库libextras.a而不是缺省库libtarget.a结束。
不是所有的应用程序或高层代码包都使用设备表格条目和阻塞I/O。可能比较合理的是提供额外的配置选项控制是否提供任何设备表格条目,避免不需要的内存开销。
USB设备驱动负责填充start_fn、poll_fn和interrupt_vector字段,通常这能够被静态的初始化实现。驱动也最大程度的维护state字段。control_buffer数组将被用于存放控制消息的第一个包。buffer和其他与数据传输相关的字段将同时被高层代码和设备驱动管理。其他剩余的字段通常被高层代码填充,虽然驱动总是把它们初始化为NULL值。
注意:赋予0字节buffer size特殊含义存在问题,因为那样会限制传输大小。USB规范允许0字节的传输,只包含头部和应答,数据阶段是空的,虽然这种情况几乎不会发生。以后的设备驱动修订版将讨论这个问题,尽管必须考虑函数功能还受到底是通过设备文件还是通过低层函数访问影响。
某些控制消息涉及更进一步的数据传输,不只是初始包。设备驱动必须根据USB规范和缓冲区策略处理这种情况。设备驱动还负责跟踪控制操作是否成功,并产生一个ACK或者STALL握手。
查询模式支持是可选的,可能不适合所有硬件查询模式。查询模式仅仅适用于某些特定环境,如:RedBoot。查询模式函数的实现通常只是检查是否发生了中断,如果是,就调用和中断处理器程序一样的代码。
--------
设备文件
--------
对于一些应用程序或高层代码包,可能使用传统的open/read/write等I/O操作而不是非阻塞的USB I/O调用更方便。为了支持设备文件,设备驱动程序为每个端点都提供了设备表格条目,如:
#ifdef CYGVAR_DEVS_USB_SA11X0_EP1_DEVTAB_ENTRY
#endif
再强调一下,必须避免名字冲突。这可以通过配置选项控制设备文件名词根,如:缺省的值/dev/usbs等和扩展端点指定的字符串来实现。这使得应用程序开发者能有效消除名字冲突。USB公共驱动包提供了usbs_devtab_cwrite和usbs_devtab_cread函数,它们能在函数表里被分别地用于发送和接收端点。设备表格条目里的私有字段priv应该有一个指向下面端点数据结构的指针。
在ecos下写USB设备驱动程序的最好的办法就是改编现有的USB驱动范例,下面介绍的移植参考只是总体概述而非完整描述。
注意:ecos最开始的时候只实现了一个USB设备驱动,因而,很有可能存在尚未解决的移植性问题。一个问题涉及到不同的传输类型,如:刚开始的硬件不支持同步和中断传输,所以需要额外的函数在不同传输类型之间切换。另一个问题是关于硬件的,给定一个端点号,譬如端点1,该端点被用于收或者发,但是不能同时进行,因为只有一个FIFO。象这样的问题留待以后推出新的USB设备驱动时再说吧。