From a22dc5fda0968a6e862c82245ab517ddb7c74fde Mon Sep 17 00:00:00 2001 From: "rick.chan" Date: Wed, 14 Aug 2024 22:03:12 +0800 Subject: [PATCH] =?UTF-8?q?=E8=A7=A3=E5=86=B3=E6=89=BE=E4=B8=8D=E5=88=B0?= =?UTF-8?q?=20libusb=20=E9=97=AE=E9=A2=98=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: rick.chan --- .../Applications/PyOCD/PyOCD_的基本使用.md | 20 ++++++++++++++++++- .../VSCode/VSCode_ARM_CortexM_开发.md | 20 +++++++++++++++++-- 2 files changed, 37 insertions(+), 3 deletions(-) diff --git a/Software/Applications/PyOCD/PyOCD_的基本使用.md b/Software/Applications/PyOCD/PyOCD_的基本使用.md index f2cba13..3c0fd25 100644 --- a/Software/Applications/PyOCD/PyOCD_的基本使用.md +++ b/Software/Applications/PyOCD/PyOCD_的基本使用.md @@ -94,6 +94,24 @@ PyOCD v0.35.1 及 v0.36.0 的 RTT 存在一个 Bug 导致使用 RTT 是出现 遇到该问题可以使用 [Reset the offset in finding control block #1654](https://github.com/pyocd/pyOCD/pull/1654/commits/94debabb9f8b4415fa1f5ede409e77b6f60f6375) 或 [Fix RTT Control Block Search #1669](https://github.com/pyocd/pyOCD/pull/1669/commits/4c9acbcefb58de87d6e164e1868cd1cee2c16f31) 方法临时修正。但目前这两种修复方法都不支持指定 --address 和 --size 参数,因此,即便使用了这两个 pack,但在使用 RTT 时指定了这两个参数,依然会报“C Control block not found [__main__]” 错误。 -## 8. 外部参考资料 +## 8. 常见问题 + +## 8.1. 找不到 libusb 库 + +PyOCD 配合 ST-Link、CMSIS-DAPv2 使用时,需要 libusb 库支持,若没有按照或正确配置,将提示: + +```bash +STLink, CMSIS-DAPv2 and PicoProbe probes are not supported because no libusb library was found. +``` + +此时需按如下方式安装配置: + +```bash +pip intall libusb +``` + +Windows 下安装完毕后将在 \/Lib/site-packages/libusb/_platform/_windows 的子文件夹下找到对应的 libusb-1.0.dll 文件,将其拷贝到 \ 或 \/Scripts 下(只要被系统 PATH 包含即可)即可在系统命令行中正常使用。 + +## 9. 外部参考资料 1. [PyOCD Command reference](https://pyocd.io/docs/command_reference.html) diff --git a/Software/Applications/VSCode/VSCode_ARM_CortexM_开发.md b/Software/Applications/VSCode/VSCode_ARM_CortexM_开发.md index 4e3118c..2d6b9de 100644 --- a/Software/Applications/VSCode/VSCode_ARM_CortexM_开发.md +++ b/Software/Applications/VSCode/VSCode_ARM_CortexM_开发.md @@ -126,7 +126,7 @@ RTOS Views 支持 RTOS 调试功能,比如查看系统中的 Task 等。 "type": "cortex-debug", "runToEntryPoint": "main", "servertype": "jlink", - "device": <"Target Chip Name">, + "device": "Target Chip Name", "cmsisPack": "/Path/to/PackFile.pack", "svdFile": "/Path/to/SystemViewDescriptionFile.svd" } @@ -152,7 +152,7 @@ RTOS Views 支持 RTOS 调试功能,比如查看系统中的 Task 等。 "runToEntryPoint": "main", "servertype": "pyocd", "toolchainPrefix": "arm-none-eabi", - "targetId": <"Target Chip Name">, + "targetId": "Target Chip Name", "cmsisPack": "/Path/to/PackFile.pack", "svdFile": "/Path/to/SystemViewDescriptionFile.svd" } @@ -242,6 +242,22 @@ pack: ***PyOCD 能够自动识别 CMSIS-DAP 等多种调试器,不需要在 EDID 中设置调试器种类。*** +PyOCD 配合 ST-Link、CMSIS-DAPv2 使用时,需要 libusb 库支持,若没有按照或正确配置,将提示: + +```bash +STLink, CMSIS-DAPv2 and PicoProbe probes are not supported because no libusb library was found. +``` + +此时需按如下方式安装配置: + +```bash +pip intall libusb +``` + +Windows 下安装完毕后将在 \/Lib/site-packages/libusb/_platform/_windows 的子文件夹下找到对应的 libusb-1.0.dll 文件,将其拷贝到 \ 或 \/Scripts 下(只要被系统 PATH 包含即可)即可在系统命令行中正常使用。 + +但 VScode 下使用 EIDE 下载或调试程序还是提示找不到 libusb,需要将 libusb-1.0.dll 再拷贝一份到 \/.eide/bin/scripts 下才能解决问题。 + ### 3.2. 关于 PyOCD 的扩展说明 以上使用 pack 包的方法是基于 PyOCD 对 pack 包的手动管理。PyOCD 支持两种手动管理 pack 包的方式,[官方原文](https://pyocd.io/docs/target_support.html)说明如下: