用于升级微芯片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()))
- 项目
标签: