STM32
直播中

那些年儿ing

11年用户 1293经验值
擅长:84784
私信 关注
[问答]

请问如何设定USB在PC机上显示移动磁盘的数目?

我使用ST仿真板自带的DEMO程序下载到仿真板,再用USB线连接仿真板和PC机,此时,PC机上显示发现新硬件,并在我的电

脑里看到两个移动磁盘G盘和H盘,其中G盘是SD卡的,H盘是NAND FLASH的。我现在想当USB线连上PC机时只显示H盘(NAND

FLASH),我已经把DEMO程序里关于SD的程序和文件都删除了,还是弹出G和H盘,但G盘已经不能进入了。请问在USB固件库

里修改哪个地方才可以只显示一个盘H盘啊,是不是修改枚举那一块?各位大侠麻烦帮一下忙,具体介绍一下应该修改哪里?谢谢

回帖(1)

手托初梦

2024-5-18 17:31:05
要实现在PC机上只显示一个移动磁盘(H盘,即NAND FLASH),你需要修改USB固件库中的相关设置。以下是一些建议的步骤:

1. 首先,确保你已经备份了原始的固件库文件,以防万一需要恢复。

2. 打开USB固件库文件,通常这些文件是C语言源文件(.c)和头文件(.h)。

3. 寻找与USB设备枚举和配置相关的代码部分。这通常涉及到USB设备描述符(Device Descriptor)、配置描述符(Configuration Descriptor)、接口描述符(Interface Descriptor)和端点描述符(Endpoint Descriptor)的定义。

4. 在这些描述符中,找到与SD卡相关的部分。这可能是一个单独的接口描述符或与NAND FLASH接口描述符不同的部分。注意,SD卡和NAND FLASH可能共享同一个接口描述符,但具有不同的端点描述符。

5. 修改或删除与SD卡相关的描述符。这可能包括删除或注释掉与SD卡相关的接口描述符、端点描述符以及任何与SD卡相关的函数调用。

6. 如果你的固件库中有关于USB设备枚举和配置的函数,如`USB_Init()`、`USB_Enumerate()`等,确保在这些函数中也进行了相应的修改,以便在枚举过程中只配置NAND FLASH相关的部分。

7. 在修改完成后,重新编译固件库,并将其烧录到仿真板上。

8. 使用USB线连接仿真板和PC机,检查是否只显示了H盘(NAND FLASH)。

请注意,具体的修改方法可能因固件库的版本和结构而有所不同。如果你不熟悉USB固件编程,建议寻求专业人士的帮助。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分