PyOCD使用

PyOCD是ARM为DAPLink开发的python语言调试软件,支持多平台ARM内核芯片的烧录和在线调试。借助 Keil CMSIS Pack 软件支持包,极大程度拓展了PyOCD所支持的芯片平台。

我们会介绍如何使用 PyOCD 和 CMSIS Pack 实现任意厂商二进制文件烧录


软件环境安装

  1. 安装PyOCD前需要电脑已经安装Python和命令行软件。

    命令行软件 可以在微软应用商店搜索 “终端”,点击安装 Windows Terminal 即可。

    Python 可在官网下载:https://www.python.org/downloads/

  2. 从下列地方获得芯片的 Keil CMSIS Pack 支持包,它们一般命名为 厂商名_系列名称_DFP_版本号.pack

    • ARM CMSIS Pack官网 https://www.keil.arm.com/packs/

    • 芯片厂商官网

    • Keil Pack默认下载目录

      C:\Users\Adminstator\AppData\Local\Arm\Packs\.Download\Keil.STM32F1xx_DFP.2.3.0.pack

  3. 打开终端软件输入以下命令来安装 PyOCD

pip install -i https://pypi.tuna.tsinghua.edu.cn/simpl pyocd

PyOCD 烧录固件步骤

我们以STM32F401CCU6为例,展示如何向其烧录固件

  1. 我们首先要知道芯片在 CMSIS Pack 中的具体名称,在终端输入以下指令列举出芯片的名称,其名称与Keil里面完全一致。

pyocd list -t -s pack --pack C:\Users\Hao\AppData\Local\Arm\Packs\.Download\Keil.STM32F4xx_DFP.2.16.0.pack
../_images/pyocd2.png
  1. 使用如下命令即可完成烧录

pyocd load --pack C:\Users\Hao\AppData\Local\Arm\Packs\.Download\Keil.STM32F4xx_DFP.2.16.0.pack -f 10000000 -t stm32f401cc C:/Users/Hao/Desktop/401.hex
  • --pack :指定 CMSIS Pack 具体所在路径

  • -f :设置调试接口频率,以Hz为单位

  • -t :指定芯片名称

  • 最后是烧录文件的具体路径

如果烧录文件为 bin 类型还需要增加指定地址的命令 -a 0x08000000


  1. 运行该命令后如显示进度条为100%,说明下载成功

../_images/pyocd3.png

使用如下指令还可以开启RTT打印功能

pyocd rtt -t stm32f401cc  -f 10000000 --pack C:\Users\Hao\AppData\Local\Arm\Packs\.Download\Keil.STM32F4xx_DFP.2.16.0.pack
../_images/pyocd4.png