自定义USB设备名称及驱动名称

==================================需要解决的问题==================================

问题1:

当我们把设备接上电脑后,电脑会发现新的硬件,其硬件的名称是MF事先定义好的,我们就是要把它改掉!!

问题2:

在MF编译完成以后系统自带的USB DEVICE是“iMXS_a7e70ea2”,如在VS2010调试的时候(如图2)看起非常不爽,呵呵。。。

问题3:

当我们把USB驱动安装成功后,在我们的设备管理器中会看到新设备,但设备名字是不是我们想要的呢?(我用的是大石头的MFUSB驱动,呵呵,不好意啦)

==================================开始动工==================================

问题1,问题2一起解决:

方法1:直接在原路径文件更改。

  1、打开C:\PK\Solutions\STM32Stamp\TinyCLR\TinyCLR.proj文件,约369行可以看到USB配置的项目所在的地址;

  <ItemGroup>
    <RequiredProjects Include="$(SPOCLIENT)\DeviceCode\Drivers\Stubs\USB_Config\dotNetMF.proj" />
    <DriverLibs Include="usb_pal_config_stub.$(LIB_EXT)" />
  </ItemGroup>

  2、打开C:\PK\DeviceCode\Drivers\Stubs\USB_Config\usb_config_stub.cpp文件,注意不是“dotNetMf.proj”(呵呵。。。我就犯过这错,注意!)

打开文件从9行开始就是我们要找的东西了

//string descriptor
#define     MANUFACTURER_NAME_SIZE  9   /* "Freescale" */
// NOTE: Having more than (probably) 32 characters causes the MFUSB KERNEL driver
// to *CRASH* which, of course, causes Windows to crash
#define     PRODUCT_NAME_SIZE      30   /* "Micro Framework MXS Reference " */
// NOTE: If these two strings are not present, the MFUSB KERNEL driver will *CRASH*
// which, of course, causes Windows to crash
#define     DISPLAY_NAME_SIZE       4   /* "iMXS" */
#define     FRIENDLY_NAME_SIZE      8   /* "a7e70ea2" */

  3、现在改成我们自己的标识

//string descriptor
#define     MANUFACTURER_NAME_SIZE  6   /* "Aipeli" */
// NOTE: Having more than (probably) 32 characters causes the MFUSB KERNEL driver
// to *CRASH* which, of course, causes Windows to crash
#define     PRODUCT_NAME_SIZE      38   /* "Micro Framework STM32F103ZE Reference " */
// NOTE: If these two strings are not present, the MFUSB KERNEL driver will *CRASH*
// which, of course, causes Windows to crash
#define     DISPLAY_NAME_SIZE       22   /* "STM32F103ZE FIRE BOARD" */
#define     FRIENDLY_NAME_SIZE      8   /* "a7e70ea2" */   //这一行改不改无所谓,自己看着办
时间: 2024-08-01 21:30:05

自定义USB设备名称及驱动名称的相关文章

Android 查看 无wifi/usb设备的logcat方法

Android 查看 无wifi/usb设备的logcat方法 一.情况 一个定制Android设备,wifi被去掉,我需要调试一个USB设备这样也无法用usb来输出logcat. 因为这个USB设备需要内核驱动支持,因此无法在其它设备调试. 因此有的方法有,一般想到用蓝牙输出logcat,但这是Android wear 才支持的特性. 在代码中加入捕获错误和异常代码,写入sd卡,这个工作量较大,而且麻烦 二.简单的解决办法 1.安装Android Terminal 软件. 一个可用链接是 ht

USB设备驱动概述

USB设备驱动 ·  17.1 USB总线协议 ·  17.1.1 USB设备简介 ·  17.1.2 USB连接拓扑结构 ·  17.1.3 USB通信的流程 ·  17.1.4 USB四种传输模式 ·  17.2.1 观察USB设备的工具 ·  17.2.2 USB设备请求 ·  17.2.3 设备描述符 ·  17.2.4 配置描述符 ·  17.2.5 接口描述符 ·  17.2.6 端点描述符 ·  17.3.1 功能驱动与物理总线驱动 ·  17.3.2 构造USB请求包 ·  17

Linux usb子系统(二):USB设备驱动usb-skeleton.c

usb驱动分为通过usbfs操作设备的用户空间驱动,内核空间的内核驱动.两者不能同时进行,否则容易引发对共享资源访问的问题,死锁!使用了内核驱动,就不能在usbfs里驱动该设备. 下面转载的一篇分析usb-skeleton.c文章. 初次接触与OS相关的设备驱动编写,感觉还挺有意思的,为了不至于忘掉看过的东西,笔记跟总结当然不可缺,更何况我决定为嵌入式卖命了.好,言归正传,我说一说这段时间的收获,跟大家分享一下Linux的驱动开发.但这次只先针对Linux的USB子系统作分析,因为周五研讨老板催

利用mass storage class 做免驱动usb设备.

当需要使用usb bulk传输,想让设备像串口通讯那样和PC主机通信, 通常需要自己做一个PC端的驱动,比较麻烦. 为避免在pc上编写usb设备驱动的麻烦,可以将设备做成mass storage 类的设备,使用通用的驱动. 在通讯之前设备端需要先做两件事: 1,实现mass storage 类的描述符和类请求. 2,实现必要的SCSI命令,让PC认为该设备已正常运作. 我利用修改linux中的gadget zero设备做了一个简单的设备. 如果是在裸机程序下面做,应该也差不多,直接拿芯片厂商BS

linux下USB设备驱动

本文以USB鼠标讲解USB设备驱动. 驱动程序中调用usb_register(struct usb_driver *)函数时,先判断USB总线驱动程序是否支持usb_driver里定义的id_table,若支持,调用usb_driver的probe函数. 所以首先要定义并初始化usb_driver结构体: static struct usb_driver usbmouse_as_key_driver = { .name = "usbmouse_as_key", .probe = usb

USB2.0学习笔记连载(九):USB设备驱动的安装

在第一次插入USB设备时(笔者用的是自己做的USB最小系统来测试),插入电脑后,在设备管理器中会显示 未知设备,如下图所示: 点击右键,选择属性,在详细信息中可以看到硬件ID以及PID等,如下图所示. 根据手册中的内容,和上述的描述是一致的,如下图所示: 那么先默认安装cypress官网上面的驱动,如下图所示: 打开cyusb3.inf文件,如下图所示: 文件中的各个内容的含义,请参考之前的博客<通用USB驱动程序解析>.保持文中的值,即是安装官方提供默认的驱动文件.   由于CY7C6801

Linux下的硬件驱动——USB设备(转载)

usb_bulk_msg函数 当对usb设备进行一次读或者写时,usb_bulk_msg 函数是非常有用的; 然而, 当你需要连续地对设备进行读/写时,建议你建立一个自己的urbs,同时将urbs 提交给usb子系统. 转载于此http://os.chinaunix.net/a2003/0630/1056/000001056933.shtml Linux下的硬件驱动——USB设备(上)(驱动配置部分) USB设备越来越多,而Linux在硬件配置上仍然没有做到完全即插即用,对于Linux怎样配置和

[Enterprise Library for .NET Framework 2.0]自定义日志路径或日志文件名称

有时候,日志输出的时候会根据时间来分类,譬如"20140821\trace.log",在Enterprise Library中通过工具配置,只能定义日志文件名称,可以通过代码修改FlatFileTraceListenerData实现或Custom Trace Listener方式, 通过代码修改FlatFileTraceListenerData实现代码如下: public static string GetTraceLogPath(string listenersName) { str

USB设备驱动之设备初始化(设备枚举)

USB设备从接入HUB到正常工作之前,都属于设备枚举阶段.所谓设备枚举,就是让host控制器认识USB设备,并为其准备资源,建立好主机与设备间的数据传递机制. 该阶段的工作,是USB通信协议规定的,所以属于ISO标准流程.设备枚举阶段也对应了USB设备的五种状态. 设备枚举阶段分为如下8个步骤: 获取设备描述符 复位 设置地址 再次获取设备描述符 获取配置描述符 获取接口,端点描述符 获取字符串描述符 选择设置配置 其中,步骤1与4都是获取设备描述符,两者有什么区别? 步骤1中只取得设备描述符的