用于升级微芯片PKOB nano(nEDBG)调试器上固件的CLI和库实用程序

pydebuggerupgrade的Python项目详细描述


pydebuggerupgrade

pydebuggerupgrade是一个命令行界面和库实用程序的组合,用于使用基于DFU的引导加载程序升级微芯片调试器上的固件。在

当前支持这些工具:

  • PKOB nano(nEDBG):在工具包中找到嵌入式调试器

使用

pydebuggerupgrade可以用作命令行界面或库

命令行用法

如需帮助,请使用:

pydebuggerupgrade --help

使用本地固件工件升级

pydebuggerupgrade支持固件工件zip文件和hex文件

示例:使用zip升级PKOB nano(nEDBG)

^{pr2}$

示例:使用hex升级PKOB nano(nEDBG)

pydebuggerupgrade -t nedbg nedbg.hex

使用pack server升级

pydebuggerupgrade能够从微芯片包服务器(https://packs.download.microchip.com)获取固件工件

示例:使用最新发布的包中的固件升级PKOB nano(nEDBG)

pydebuggerupgrade -t nedbg latest

示例:使用特定软件包版本的固件升级PKOB nano(nEDBG) 注意:此版本表示软件包版本,而不是其中的固件版本

pydebuggerupgrade -t nedbg 1.0.33

报告固件版本

-r/--report选项使pydebuggerupgrade仅报告固件版本,而不执行任何升级。同时报告当前加载的固件版本和升级候选版本

示例:使用pack server最新版本的报表版本

pydebuggerupgrade -t nedbg -r latest

命令行开关

这些开关中有许多是可选的,许多参数是在使用好奇纳米套件时自动设置的。在

  • -选择要使用的工具。如果只有一个连接,则为可选。在
  • -选择要使用的工具实例。如果只有一个连接,则为可选。支持USB序列号末尾的子串匹配。在
  • -v表示详细输出
  • -详细调试输出的vv
  • -tm TIMEOUT可配置尝试连接到工具时的超时(以秒为单位)
  • -a升级与工具类型和USB序列号匹配的所有工具
  • -ab在使用指定的USB序列号升级工具之前,升级与已处于引导模式的刀具类型匹配的所有刀具
  • -r报告(即没有升级)升级候选版本和当前加载固件的版本
  • -f强制升级或降级(无版本检查)
  • -V打印pydebuggerupgrade版本号并退出
  • -使用微芯片内部工件服务器

pydebuggerupgrade可以用作使用其“后端API”的库。例如:

# Print the pydebuggerupgrade version
from pydebuggerupgrade.version import VERSION as pydebuggerupgrade_version
print("pydebuggerupgrade version {}".format(pydebuggerupgrade_version))

# Print the backend API version
print("pydebuggerupgrade backend API version: {}".format(backend.get_api_version()))

# Instantiate backend
from pydebuggerupgrade.backend import Backend
backend = Backend()

# Choose from one of these:

# Upgrade to latest published pack
backend.upgrade_from_source(source="latest")

# Upgrade with a specific zip
backend.upgrade_from_source(source="nedbg_fw.zip", tool_name="nedbg")

# Upgrade with a specific hex file
backend.upgrade_from_source(source="nedbg.hex")

Linux系统

为DFU模式下的调试器创建udev规则:

Example udev rules file
Store in /etc/udev/rules.d

# PKOB nano (nEDBG) in DFU mode - bootloader of debugger on Curiosity Nano
SUBSYSTEM=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2fc0", MODE="0666"

请注意,DFU模式udev规则是对正常应用程序模式(当调试器不在引导模式时)的udev规则的补充。这些规则在pyedbglib包中有详细说明。在

依赖关系

pydebuggerupgrade的传输协议依赖于pyedbglib。pyedbglib需要像libusb这样的USB传输库。有关详细信息,请参阅pyedbglib包。在

pydebuggerupgrade依赖pyusb与调试器的DFU引导加载程序进行USB通信。在

版本控制

可以使用CLI确定pydebuggerupgrade版本:

pydebuggerupgrade -V

或使用库:

from pydebuggerupgrade.version import VERSION as pydebuggerupgrade_version
print("pydebuggerupgrade version {}".format(pydebuggerupgrade_version))

此外,为了方便起见,CLI后端API的版本也进行了更新:

from pydebuggerupgrade.backend import Backend
backend = Backend()
print("pydebuggerupgrade backend API version: {}".format(backend.get_api_version()))

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

推荐PyPI第三方库


热门话题
字典java cassandra对象映射注释   java定制Solr TokenFilter lemmatizer   字符串从Java文件中读取windows文件名   java如何在Windows上设置StanfordCorenlp服务器以返回文本   java axis2“意外的子元素值”   java使用POI HSSF获取错误   多线程Java等待计时器线程完成   java ForkJoinPool BuffereImage处理风格   从java代码运行Python脚本   java将字节[]转换为短[],使每个短元素包含13位数据   java如何为swing jframe应用程序将代码划分为类   java使用okhttp更改baseurl   java AlertDialog。建设者setView导致堆栈溢出错误   java如何在特定的radius 安卓 studio中接收地址列表?