打印
[其他ST产品]

ST-Link/V2不能挂载到VirtualBox的解决办法

[复制链接]
1546|7
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
VirtualBox从ST-Link/V2读到的序列号是乱码,在虚拟机设置中将ST-Link/V2添加到USB设备筛选器中,并编辑该筛选器将其序列号清空,就可以解决这个问题。
问题现象

试图在VirtualBox中挂载STMicroelectronics STM32 STLink设备时,会弹出如下对话框:


使用特权

评论回复
沙发
逢dududu必shu|  楼主 | 2021-9-29 22:42 | 只看该作者
对话框显示:

不能分配 USB设备 STMicroelectronics STM32 STLink [0100] 到虚拟电脑
USB device ‘STMicroelectronics STM STLink’ with UUID {e14e050b-6e9c-4ce2-b506-f2e8795e4424} is busy with a previous request. Please try again later.

使用特权

评论回复
板凳
逢dududu必shu|  楼主 | 2021-9-29 22:42 | 只看该作者
明细内容:
返回 代码:
E_INVALIDARG (0x80070057)
组件:
HostUSBDevice
界面:
IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a}
被召者:
IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}

使用特权

评论回复
地板
逢dududu必shu|  楼主 | 2021-9-29 22:43 | 只看该作者
这种错误出现在Host OS是Windows的情况。

使用特权

评论回复
5
逢dududu必shu|  楼主 | 2021-9-29 22:44 | 只看该作者
解决办法
打开虚拟机设置,选择 USB设备 分类,点击右边带加号的按钮,在弹出菜单中选择 STMicroelectronics STM32 STLink [0100] (仅在已经插入ST-Link的情况下才会有,如果没有这一项,请先将ST-Link插入您的电脑),这将创建一个新的 USB设备筛选器 ;选中刚创建的筛选器,点击右边带圆圈的按钮,弹出 USB筛选器明细 ,可以看到 序列号(S) 输入框内的字符串为乱码,将该输入框内的所有字符清空,点击 确定 保存筛选器。重新启动虚拟机后,ST-Link已正常挂载到了Guest OS中。

使用特权

评论回复
6
逢dududu必shu|  楼主 | 2021-9-29 22:45 | 只看该作者

使用特权

评论回复
7
逢dududu必shu|  楼主 | 2021-9-29 22:46 | 只看该作者

使用特权

评论回复
8
逢dududu必shu|  楼主 | 2021-9-29 22:47 | 只看该作者
Host OS为Linux的情况
当Host OS为Linux时,如果是通过虚拟机菜单 设备>>分配USB设备 挂载的是没有问题的,如果是在设置对话框中通过 USB设备筛选器 挂载的,那么下次打开虚拟机控制台时会报告 .vbox 文件错误,.vbox是xml文件,但是添加了ST-Link设备筛选器后,它的一些信息(包括序列号)会写入到.vbox文件,ST-Link的序列号是乱码,因此这个.vbox里面就包含了乱码。因此如果通过 USB设备筛选器 挂载,也应当将序列号清空,如果已经出现了报告.vbox文件错误的情况,那么用文本编辑打开.vbox文件,将报错的那一行的乱码字符串删除变成空字符串即可。
的博客保存到服务器草稿箱,即使换浏览器或者清除缓存,内容也不会丢失。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

49

主题

356

帖子

0

粉丝