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

文章介绍了在使用VirtualBox时遇到STMicroelectronics STM32 STLink设备无法正常挂载的问题,以及解决此问题的方法。通过在虚拟机设置中编辑USB设备筛选器,清空序列号字段,可以解决设备挂载失败的问题。

VirtualBox从ST-Link/V2读到的序列号是乱码,在虚拟机设置中将ST-Link/V2添加到USB设备筛选器中,并编辑该筛选器将其序列号清空,就可以解决这个问题。


原文:http://blog.youkuaiyun.com/zoomdy/article/details/45765577
mingdu.zheng at gmail dot com


问题现象

试图在VirtualBox中挂载STMicroelectronics STM32 STLink设备时,会弹出如下对话框:
虚拟电脑控制台 - 错误
对话框显示:

不能分配 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.

明细内容:

返回 代码:
E_INVALIDARG (0x80070057)
组件:
HostUSBDevice
界面:
IHostUSBDevice {173b4b44-d268-4334-a00d-b6521c9a740a}
被召者:
IConsole {8ab7c520-2442-4b66-8d74-4ff1e195d2b6}

这种错误出现在Host OS是Windows的情况。

解决办法

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

Host OS为Linux的情况

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

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值