【问题解决】 pyocd 报错 No USB backend found 的解决方法

pyocd 报错 No USB backend found 的解决方法

本文记录了我在Windows 10系统上遇到的pyocd命令执行报错——No USB backend found 的分析过程和解决方法。遇到类似问题的朋友可以直接参考最后的解决方法,向了解问题发送原因的可以查看原因分析部分。

文章目录

  • pyocd 报错 No USB backend found 的解决方法
    • 一、问题现象
      • 问题背景
    • 二、原因分析
      • HidApiUSB.isAvailable
      • PyWinUSB.isAvailable
    • 三、解决方法
      • 可能方案
      • 最终方案

一、问题现象

今天在我的PC上使用执行 pyocd 时报错,具体信息如下:
在这里插入图片描述

最后一行报错信息内容是:

pyocd.probe.pydapaccess.dap_access_api.DAPAccessIntf.DeviceError: No USB backend found

问题背景

问题发生的背景补充说明:

  • 操作系统是:Windows 10 64位;
  • Python版本是:3.11.4 ;
  • pyocd版本是:0.36.0 ;
  • git-bash环境执行的命令,cmd执行也是一样的报错;
  • 另外,之前执行 pyocd 命令一直都没有问题,今天才出现的;

二、原因分析

从截图上能够看出来这是一个Python代码产生的异常,抛出异常的一行代码在截图上也可以看到:

raise DAPAccessIntf.DeviceError("No USB backend found")

同时,截图上也可以看到位于的文件路径是:

D:\Python\Python311\Lib\site-packages\pyocd\probe\pydapaccess\interface\__init__.py

git-bash环境下,直接用vim打开这个文件:

vim "D:\Python\Python311\Lib\site-packages\pyocd\probe\pydapaccess\interface\__init__.py" +54

对应的代码为:
在这里插入图片描述

抛出异常的代码位于54行,可以看到,前面两个条件都失败才会抛出此异常,两个条件分别是:

  • HidApiUSB.isAvailable
  • PyWinUSB.isAvailable

接下来分析,这两个条的值分别是如何而来的。

HidApiUSB.isAvailable

由于是pyocd命令执行时输出的报错,所以直接在pyocd包的目录下搜索:
在这里插入图片描述

具体代码如下:
在这里插入图片描述

已经可以看到这个值的来源了:

  • 如果import hid执行成功,则为True;
  • 如果import hid执行失败,则为False;

PyWinUSB.isAvailable

类似的,可以找到PyWinUSB.isAvailable的来源:
在这里插入图片描述

源于两种情况:

  • 如果 import pywinusb.hid as hid 成功,则为True;
  • 如果 import pywinusb.hid as hid 失败,则为False;

三、解决方法

通过上面的分析,我们就知道解决方法了:

  • 让 import hid 成功;
  • 让 import pywinusb.hid 成功;

具体的就是:

pip install hid

或者:

pip install pywinusb

可能方案

但是经过试验,在我的系统上,hid安装后,会仍然失败,具体是:
在这里插入图片描述

最终方案

因此,最终解决方法是:

 pip install pywinusb

安装完成后,pyocd pack find 就可以成功了:
在这里插入图片描述

问题解决,大功告成!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/42601.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

排序-java(插入排序和选择排序)

一,分类 主要的排序大致分为以下几类: 1,插入排序,又分为直接插入排序和希尔排序 2,选择排序,又分为选择排序和堆排序 3,交换排序,又分为冒泡排序和快速排序 4,归并…

springboot配置扫描生效顺序

文章目录 举例分析项目结构如下noddles-user-backend 两个配置文件noddles-user-job 配置文件noddles-user-server 配置文件问题:server和Job启动时对应加载的数据库配置为哪一个? 总结 在微服务架构中,backend模块会定义一个基础的配置文件,…

Report Design Analysis报告之logic level详解

目录 一、前言 二、Logic Level distribution 2.1 logic level配置 2.2 Logic Level Distribution报告 2.3 Logic Level 报告详情查看 2.4 Route Distributions 报告详情查看 2.5 示例代码 一、前言 ​在工程设计中,如果需要了解路径的逻辑级数,可…

卷积神经网络基础篇

文章目录 1、卷积层1.1、激活函数1.3、sigmoid1.4、Tanh1.5、ReLU1.6、Leaky ReLU1.7、误差计算 2、池化层3、全连接层4、CNN训练 参考链接1 参考链接2 1、卷积层 卷积层(Convolutional layer),这一层就是卷积神经网络最重要的一个层次&…

动手学深度学习(Pytorch版)代码实践 -循环神经网络- 56门控循环单元(`GRU`)

56门控循环单元(GRU) 我们讨论了如何在循环神经网络中计算梯度, 以及矩阵连续乘积可以导致梯度消失或梯度爆炸的问题。 下面我们简单思考一下这种梯度异常在实践中的意义: 我们可能会遇到这样的情况:早期观测值对预测…

机器人动力学模型及其线性化阻抗控制模型

机器人动力学模型 机器人动力学模型描述了机器人的运动与所受力和力矩之间的关系。这个模型考虑了机器人的质量、惯性、关节摩擦、重力等多种因素,用于预测和解释机器人在给定输入下的动态行为。动力学模型是设计机器人控制器的基础,它可以帮助我们理解…

2024/7/7周报

文章目录 摘要Abstract文献阅读题目问题本文贡献问题描述图神经网络Framework实验数据集实验结果 深度学习MAGNN模型相关代码GNN为什么要用GNN?GNN面临挑战 总结 摘要 本周阅读了一篇用于多变量时间序列预测的多尺度自适应图神经网络的文章,多变量时间序…

SAP已下发EWM的交货单修改下发状态

此种情况针对EWM未接收到ERP交货单时,可以使用此程序将ERP交货单调整为未分配状态,在进行调整数据后,然后使用VL06I(启用自动下发EWM配置,则在交货单修改保存后会立即下发EWM)重新下发EWM系统。 操作步骤如…

3ds Max渲染曝光过度怎么办?

3dmax效果图云渲染平台——渲染100 以3ds Max 2025、VR 6.2、CR 11.2等最新版本为基础,兼容fp、acescg等常用插件,同时LUT滤镜等参数也得到了同步支持。 注册填邀请码【7788】可领30元礼包和免费渲染券哦~ 遇到3ds Max渲染过程中曝光过度的问题&#xf…

SLF4J的介绍与使用(有logback和log4j2的具体实现案例)

目录 1.日志门面的介绍 常见的日志门面 : 常见的日志实现: 日志门面和日志实现的关系: 2.SLF4J 的介绍 业务场景(问题): SLF4J的作用 SLF4J 的基本介绍 日志框架的绑定(重点&#xff09…

跨越界限的温柔坚守

跨越界限的温柔坚守 —— 郑乃馨与男友的甜蜜抉择在这个光怪陆离、瞬息万变的娱乐圈里,每一段恋情像是夜空中划过的流星,璀璨短暂。然而,当“郑乃馨与男友甜蜜约会”的消息再次跃入公众视野,它不仅仅是一段简单的爱情故事&#xf…

iOS中多个tableView 嵌套滚动特性探索

嵌套滚动的机制 目前的结构是这样的,整个页面是一个大的tableView, Cell 是整个页面的大小,cell 中嵌套了一个tableView 通过测试我们发现滚动的时候,系统的机制是这样的, 我们滑动内部小的tableView, 开始滑动的时候&#xff0c…

C/C++ 代码注释规范及 doxygen 工具

参考 谷歌项目风格指南——注释 C doxygen 风格注释示例 ubuntu20 中 doxygen 文档生成 doxygen 官方文档 在 /Doxygen/Special Command/ 章节介绍 doxygen 的关键字 注释说明 注释的目的是提高代码的可读性与可维护性。 C 风格注释 // 单行注释/* 多行注释 */ C 风格注…

【论文阅读笔记】Meta 3D AssetGen

【论文阅读笔记】Meta 3D AssetGen: Text-to-Mesh Generation with High-Quality Geometry, Texture, and PBR Materials Info摘要引言创新点 相关工作T23D基于图片的3d 重建使用 PBR 材料的 3D 建模。 方法文本到图像:从文本中生成阴影和反照率图像Image-to-3D:基于pbr的大型重…

搭建NEMU与QEMU的DiffTest环境(动态库方式)

搭建NEMU与QEMU的DiffTest环境(动态库方式) 1 DiffTest原理简述2 编译NEMU3 编译qemu-dl-difftest3.1 修改NEMU/scripts/isa.mk3.2 修改NEMU/tools/qemu-dl-diff/src/diff-test.c3.3 修改NEMU/scripts/build.mk3.4 让qemu-dl-difftest带调试信息3.5 编译…

安卓的组件

人不走空 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌赋:斯是陋室,惟吾德馨 目录 🌈个人主页:人不走空 💖系列专栏:算法专题 ⏰诗词歌…

【Linux】打包命令——tar

打包和压缩 虽然打包和压缩都涉及将多个文件组合成单个实体,但它们之间存在重要差异。 打包和压缩的区别: 打包是将多个文件或目录组合在一起,但不对其进行压缩。这意味着打包后的文件大小可能与原始文件相同或更大。此外,打包…

数字化精益生产系统--APS 排程管理系统

APS(Advanced Planning and Scheduling)排程管理系统,即高级生产计划与排程系统,是一种高度智能化的计划和排程系统。它通过整合各种生产和供应链数据,运用先进的算法和数据模型,根据各种约束条件&#xff…

MySQL篇三:数据类型

文章目录 前言1. 数值类型1.1 tinyint类型1.2 bit类型1.3 小数类型1.3.1 float1.3.2 decimal 2. 字符串类型2.1 char2.2 varchar2.3 char和varchar比较 3. 日期类型4. enum和set 前言 数据类型分类: 1. 数值类型 1.1 tinyint类型 在MySQL中,整型可以指…

【Java13】包

“包”这个机制,类似于分组。主要作用是区分不同组内的同名类。例如,高三三班有一个“王五”,高二八班也有一个“王五”。高三三班和高三八班就是两个不同的包。 Java中的包(package)机制主要提供了类的多层命名空间&…