使用pyocd+cmsis-dap搭建apm32f103运行环境
本帖最后由 DKENNY 于 2023-8-3 07:03 编辑我们除了使用openocd+jlink对apm32f103开发以外,还可以使用pyocd+cmsis-dap对apm32f103开发。 下面介绍一下配置过程。 1、 配置pyocd环境 Pyocd是arm开发的一个python包,该软件包可以使用多种usb调试器对arm cortex-M 微控制器进行调试、编程、烧写。所以在配置pyocd之前,我们首先需要安装python,可去官网Welcome to Python.org(https://python.org)下载,配置系统环境变量。 安装成功后,打开cmd,输入python,若出现以下信息,则说明python安装成功。 安装python后,我们就可以安装pyocd了。 1. 退出python 在cmd中输入 exit() 2 .安装pyocd 在cmd中输入 pip install -U pyocd 3 .安装libusb库在cmd中输入 pip install -U libusb 执行以上操作时,可能会比较慢,可耐心等待。执行完命令后,在cmd中输入pyocd,若出现以下信息则说明安装成功。 2、安装pack包 连接cmsis-dap仿真器后(我这里使用的是Geehy-Link),在cmd中输入pyocd list,若出现以下内容,则说明连接成功。 连接成功后,需去geehy官网(https://geehy.com/MCU)下载对应系列的pack包,我这里使用的是apm32f103. 下载pack包后,在cmd中输入 pyocd list -–target –-pack E:\ Geehy.APM32F1xx_DFP.1.1.0.pack 为了方便操作,我这里将pack包放在了E盘根目录下,若出现以下信息,则说明信息获取成功。 我们可以直接在cmd中输入相关命令,对芯片擦除以及烧录。 在确保仿真器连接开发板的前提下,在cmd中输入pyocd erase –-pack E:\Geehy.APM32F1xx_DFP.1.1.0.pack -t apm32f103c8 –-chip,即可擦除芯片,我这里使用的芯片型号是apm32f103c8. 芯片擦除成功后,在cmd中输入pyocd flash –-pack E:\ Geehy.APM32F1xx_DFP.1.1.0.pack –target apm32f103c8 + 对应.hex(或.elf,.bin)文件,对芯片进行烧录。 此时,芯片已经烧录了这部分的代码了,我们只需按下芯片的复位键,代码就正常在芯片中运行了。 3、eclipse配置 打开eclipse,对工程进行编译,编译无误后,在菜单栏中进行Debug配置,我们可双击GDB Pyocd Debugging新建一套配置选项。 新建一套配置选项后,main选项卡一般会自动添加当前工程的.elf文件。我们也可自己手动添加该.elf文件。 在配置好main选项卡后,我们可以进行debugger以及svd的配置了。 然后,我们就可以对芯片进行dubug操作了。 我们可以看到寄存器里面的值是变化的,说明我们的配置是成功的!!! 至此,我的分享结束了,欢迎讨论交流。
这两种开发环境都有哪些不同呢 如果使用**版本的话 还支持所有的功能吗 tpgf 发表于 2023-9-2 10:39
这两种开发环境都有哪些不同呢
使用 pyOCD + CMSIS-DAP 和使用 OpenOCD + J-Link的主要区别在于烧录工具和硬件连接的不同。以下是它们之间的比较:
pyOCD + CMSIS-DAP :
1. 烧录工具:pyOCD是一个使用Python编写的开源烧录工具,它可以与多种CMSIS-DAP兼容的调试适配器一起使用。
2. 硬件连接:使用CMSIS-DAP烧录时,您通常需要一款CMSIS-DAP兼容的调试适配器,如ST-Link,DAPLink等。这些适配器通过USB接口连接到目标设备。
3. 支持的目标设备:pyOCD支持一系列不同的目标设备,但具体支持的设备取决于pyOCD的版本和更新。通常来说,它支持多种ARM Cortex-M芯片。
OpenOCD + J-Link 烧录:
1. 烧录工具:OpenOCD是一个功能强大的开源调试和烧录工具,支持多种调试适配器,包括J-Link。
2. 硬件连接:使用J-Link烧录时,您需要一款J-Link调试适配器,它通常也通过USB接口连接到目标设备。J-Link是一种高性能的调试适配器,适用于各种ARM芯片。
3. 支持的目标设备:OpenOCD支持广泛的ARM和非ARM芯片,因此它可以用于更多种类的目标设备。
总的来说,选择使用哪种工具取决于您的项目需求和硬件选择。如果您需要一个简单易用的烧录工具,并且目标设备兼容CMSIS-DAP,pyOCD是一个不错的选择。如果您需要更多的功能和灵活性,或者您使用J-Link调试适配器,那么OpenOCD可能更适合您的需求。 哪种使用方式是官方推荐的方式呢 这两种方式都需要自己编写脚本吗? tfqi 发表于 2023-9-2 11:52
这两种方式都需要自己编写脚本吗?
不需要编写额外的烧录或擦除的执行脚本,可以直接使用命令行指令对芯片进行擦除和烧录,像上面介绍的pyocd erase命令 这个工具在debug的时候默认可以打多少个断点呢
软件对安装路径有要求吗 比如不能有中文字符之类的
gwsan 发表于 2023-9-2 20:11
这个工具在debug的时候默认可以打多少个断点呢
使用这个工具在 eclipse 上调试时,与在 Keil 上使用jlink等调试工具 debug 的过程是一样的, 具体的断点数量取决于芯片型号,但通常在 4到 6 个之间。 aoyi 发表于 2023-9-2 21:00
软件对安装路径有要求吗 比如不能有中文字符之类的
在安装 pyOCD 时,最好将其安装到不包含中文字符的路径下,以避免潜在的问题。虽然许多操作系统和工具都支持中文路径,但在某些情况下,特别是在使用命令行工具和脚本时,中文路径可能会导致不必要的麻烦。
页:
[1]