下载pyocd
$ python3 -mpip install -U pyocd
安装STM32H562支持包
一般下载好pyocd后,会默认下载一些芯片的支持包,首先使用pyocd命令查看是否支持当前芯片:
$ pyocd list -t | grep stm32h
查看当前环境是否支持该芯片,如果没有则可以使用,pyocd自带的更新支持包命令(这个过程可能会很久):
$ pyocd pack -u
等待更新完后,查询是否存在stm32h562的pack:
如果是第一次安装pyocd,上图红框位置应该为False,随后我们执行安装命令:
$ pyocd pack -i stm32h562
更新udev
Linux 系统使用 udev 来管理设备文件权限。如果没有为 DAPLink 设备设置适当的 udev 规则,那么普通用户可能没有权限访问它。
在pyocd官方文件中已经提示了操作方式,具体参见pyocd仓库udev目录下的readme文件 。
具体操作步骤:
- 拷贝udev下的所有文件到/etc/udev/rules.d
$ sudo cp *.rules /etc/udev/rules.d
- 更新udev配置
$ sudo udevadm control --reload
$ sudo udevadm trigger
连接板卡
完成上述步骤后,就可以尝试使用pyocd连接板卡了:
$ pyocd cmd -t stm32h562vitx
若此时发现连接不上板卡,则需要进行以下操作:
重新将 DAPLink 设备连接到计算机后,使用以下命令查找其供应商和产品ID:
$ dmesg | grep 'USB' | grep 'ID'
您会看到类似以下输出(记下 idVendor 和 idProduct 的值):
[timestamp] usb 1-1: New USB device found, idVendor=0d28, idProduct=0204
创建一个新的 udev 规则:创建一个新的文件,例如 /etc/udev/rules.d/50-daplink.rules,并添加以下内容(记得将 idVendor 和 idProduct 的值替换为你自己查询到的值):
SUBSYSTEM=="usb", ATTR{idVendor}=="0d28", ATTR{idProduct}=="0204", MODE="0666"
重新加载 udev 规则:运行以下命令以应用新的 udev 规则:
$ sudo udevadm control --reload-rules
$ sudo udevadm trigger
随后便能正常使用pyocd命令操作板卡了。