概述
pyocd 通过 CMSIS-Pack 获取目标芯片的 Flash 算法、SVD 文件等设备信息。使用 pyocd 连接芯片前,需要先安装对应的 Pack。
方法一:从网络下载安装(推荐)
1. 更新 Pack 索引
|
|
从官方服务器下载所有厂商的 Pack 描述文件(.pdsc),构建本地索引。耗时约 1~2 分钟。
2. 查找设备对应的 Pack
|
|
示例:
|
|
输出示例:
|
|
3. 安装 Pack
按设备型号通配符安装(推荐)
|
|
-u 表示先更新索引,再下载匹配型号的 Pack。
安装具体型号对应的 Pack
|
|
一步完成索引更新和安装
|
|
下载完成后,pyocd 会自动将 Pack 文件存放到本地缓存目录。
方法二:安装本地 Pack 文件
适用于已有离线 .pack 文件的场景(如厂商提供的 MDK Pack)。
Pack 文件存放路径
Windows:
|
|
目录结构:
|
|
手动安装步骤
以 Puya.PY32F0xx_DFP.1.2.6.pack 为例:
1. 从 pack 文件中提取 .pdsc 描述文件
Pack 文件本质是 zip 压缩包,解压出其中的 .pdsc 文件:
|
|
2. 重命名并放入缓存根目录
|
|
3. 创建版本目录并放入 pack 文件
|
|
4. 重新生成索引(可选)
|
|
查看已安装的 Pack
|
|
输出示例:
|
|
常用命令汇总
| 命令 | 作用 |
|---|---|
pyocd pack update |
更新 Pack 索引 |
pyocd pack find <pattern> |
查找设备对应的 Pack |
pyocd pack install -u <pattern> |
下载安装指定设备的 Pack |
pyocd pack show |
显示已安装的 Pack 列表 |
pyocd pack clean |
清空所有 Pack 索引和已安装文件 |
pyocd list --targets |
列出所有可用的目标设备 |
使用 Pack 烧录/调试
安装 Pack 后,pyocd 会自动识别对应的目标芯片。
列出可用目标
|
|
连接并烧录
|
|
GDB 调试服务器
|
|
常见问题
Q: pyocd pack install 提示 “No matching devices”
A: install 的参数是设备型号(如 PY32F003x6),不是 Pack 名称(如 Puya.PY32F0xx_DFP)。先用 pyocd pack find 查找正确的型号,或使用通配符如 "PY32F0*"。
Q: 网络下载太慢或失败
A: 可直接从厂商官网下载 .pack 文件,然后按「方法二:安装本地 Pack 文件」手动放入缓存目录。
Q: pyocd pack show 显示已安装,但连接设备时提示找不到 Flash 算法
A: 检查 pack 缓存目录中是否同时存在 .pdsc 描述文件和对应版本的 .pack 数据文件。pyocd 的索引 (index.json) 引用的版本号必须与 .pack 文件名中的版本号一致。
Q: 如何删除某个 Pack?
A: pyocd 没有单独的删除命令。直接删除缓存目录中对应的 .pack 文件和 .pdsc 文件即可:
|
|
Pack 缓存目录速查
| 系统 | 路径 |
|---|---|
| Windows | %LOCALAPPDATA%\cmsis-pack-manager\cmsis-pack-manager\ |
| Linux/macOS | ~/.local/share/cmsis-pack-manager/ |
文档基于 pyocd 0.44.1 编写。