Cortex-M Python调试器

pyocd的Python项目详细描述


Pyocd

pyocd是一个开源的python包,用于编程和调试arm cortex-m微控制器 使用多种支持的USB调试探测类型。它完全跨平台,支持 Linux、MacOS和Windows。

提供了一个命令行工具,可以覆盖大多数用例,也可以使用python 用于启用低级目标控制的API。python api的一个常见用途是运行和控制ci 测试:

内置70多个受欢迎的MCU。此外,通过使用CMSIS软件包, 市场上几乎所有Cortex-M设备都受支持。

pyocd命令行工具让您可以通过以下子命令完全控制设备:

API和工具提供以下功能:

通过配置文件支持配置和自定义 用户脚本

要求

  • Python2.7.9或更高版本,或Python3.6.0或更高版本
  • MacOS、Linux或Windows 7或更高版本
  • 带ARM Cortex-M CPU的微控制器
  • 支持的调试探测
    • cmsis-dapv1(hid), 例如:
      • 使用daplink固件的车载调试探测器。
      • nxp lpc linkii
    • cmsis-dapv2(WinUSB)版本, 例如:
      • 柏树kitprog3
      • Keil Ulinkplus
    • stlinkv2,车载版或独立版。

状态

pyocd在功能上是可靠的,并且是完全可用的。

python api被认为是部分不稳定的,因为我们在 发布1.0版。

文档

pyocd文档位于docs目录中。

除了用户指南之外,您还可以使用doxygen和 提供配置文件

安装

pyocd的最新稳定版本可以通过pip安装。 如下所示:

$ pip install -U pyocd

最新的pyocd包也可以在pypi上找到。 在github上

要从主分支的负责人处安装最新的预发行版本,可以执行以下操作 以下内容:

$ pip install --pre -U https://github.com/mbedmicro/pyOCD/archive/master.zip

您还可以通过克隆git存储库并运行:

$ python setup.py install

注意,根据您的操作系统,您可能在运行时遇到权限问题g这些命令。 这里有几个选项:

  1. 在linux下,使用sudo-h运行以全局安装pyocd和依赖项。(使用sudo安装 MacOS永远不需要。)
  2. 指定--user选项将本地安装到用户。
  3. 在avirtualenv中运行命令 特定项目工作集的本地属性。
  4. < > >

    libusb安装

    pyusb及其后端库libusb是 依赖于所有支持的操作系统。pyusb是一个普通的python包,将 与Pyocd一起安装。但是,libusb是一个未安装的二进制共享库 自动通过PIP依赖关系管理。

    如何安装libusb取决于您的操作系统:

    • MacOS:使用自制:brew安装libusb
    • Linux:应该已经安装了。
    • windows:从libusb.info下载libusb,并将dll放在python中 python.exe旁边的安装文件夹。确保使用与 您的python安装。

    Linux上的udev规则

    在Linux上,特别是Ubuntu16.04+,必须配置udev规则以允许pyocd访问debug 从用户空间进行探测。否则您将需要使用sudo以根用户身份运行pyocd,这非常 非常气馁。(您不应该在任何操作系统上以根用户身份运行pyocd。)

    为了帮助实现这一点,示例udev规则文件包含在pyocd中 udev文件夹。这个 此文件夹中的自述文件详细说明了 说明。

    目标支持

    有关如何检查 您正在使用的MCU具有内置支持,以及如何通过 CMSIS包。

    独立的GDB服务器

    通过pip或setup.py安装pyocd之后,您将能够执行以下操作 启动一个由pyocd驱动的gdb服务器:

    $ pyocd gdbserver
    

    您可以通过运行pyocd gdbserver--help获得其他帮助

    示例命令行gdb会话,显示如何连接到正在运行的pyocd gdbserver并加载 固件:

    $ arm-none-eabi-gdb application.elf
    
    <gdb> target remote localhost:3333
    <gdb> load
    <gdb> monitor reset
    

    pyocd gdbserver子命令也可以作为openocd在 现有设置。主要区别在于gdb监视器命令的设置。

    推荐的gdb和ide设置

    嵌入式a rm cortex-m开发的推荐工具链是gnu arm 嵌入式, 由ARM提供。GDB包含在此工具链中。

    gdb服务器可以很好地与eclipse和gnu mcu eclipse一起工作。 插件。gnu mcu eclipse完全支持pyocd Pyocd调试插件。

    要查看外设寄存器值,可以使用内置gnu mcu eclipse register视图,或者 可以安装嵌入式系统注册表查看器插件。这些可以从内部安装 eclipse使用以下软件更新服务器地址:

    • gnu mcu eclipse:http://gnu-mcu-eclipse.sourceforge.net/updates" rel="nofollow">http://gnu mcu eclipse.sourceforge.net/updates
    • 嵌入式系统寄存器查看器:http://embsysregview.sourceforge.net/update" rel="nofollow">http://embsysregview.sourceforge.net/update

    在eclipse中,选择"帮助->;安装新软件…"菜单项。然后单击"添加…" 按钮并从上面填写名称和url(每个站点一次),或者简单地将url复制到 显示"键入或选择站点"的字段。然后您可以选择要安装的软件并单击 下一步开始此过程。

    开发设置

    有关如何设置 Pyocd的开发环境。

    贡献

    我们欢迎在任何领域对Pyocd作出贡献。请参阅贡献 有关捐款的详细要求的指南。

    要报告错误,请在 Github项目。

    许可证

    pyocd使用许可的apache 2.0许可证进行许可。有关 许可证的全文。

    版权所有©2006-2019 ARM有限公司

    欢迎加入QQ群-->: 979659372 Python中文网_新手群

    推荐PyPI第三方库


热门话题
java从Struts操作的钩子更改表单值(Liferay 6.2)   java如何改变Spring MVC处理url“点”字符的行为   Clojure中使用Java接口的问题   junit如何模拟comosDB azure java集成客户端?   运行函数时发生java错误   netbeans Java。jar文件和依赖项   Eclipse中文本字段中的java输入类型   在JAVA中,将集合变量从实时批处理运行时传递到调用批处理文件   java通过Bean验证API中的自定义消息管理异常   XML到json的转换,在Java中,同时保留数据类型   根据JAVA中的列名从Excel文件中获取单元格值   在AsyncTask的doInBackground中未调用java FirebaseMessagingService   java如何在数据库中插入一行?