与nxp mcu bootloader通信的python模块
mboot的Python项目详细描述
pymboot是一个基于python的开源库,用于配置和升级带有嵌入式的nxp微控制器中的固件,http://www.nxp.com/support/developer-resources/software-developmen用于nxp微控制器的t-tools/mcuxpresso软件和工具/mcuboot mcu bootloader:mcuboot>;`
(mcu bootloader)。"mcuboot/kboot"键的详细说明
功能和特性位于
`here<;https://freescale.jiveon.com/docs/doc-104512>;``uuu.
原始:html
<;p align="center">;
…原始:html
<;/p>;
…
pymboot项目仍处于测试阶段。请检查
正在进行的任务或TOdo任务的问题。
-`bincopy<;https://github.com/eeremoq/bincopy>;``用于
分析s-record、intel hex和ti-txt文件的python包。
-`easy\u enum<;https://github.com/molejar/pyenum>;``用户友好型
实现python语言的文档枚举类型。
-`pyusb<;https://walac.github.io/pyusb/>;``访问Linux操作系统中USB设备的python包。
-`pywinusb<;https://github.com/rene aguirre/pywinusb>;`` python
简化Windows操作系统上USB-HID通信的包。
-`pyserial<;https://github.com/pyserial/pyserIAL>;`` python包
用于在Linux和Windows操作系统中通过串行端口进行通信。
安装
----
>要从主分支安装最新版本,请在shell中执行以下命令:
。代码::bash
$pip install-u https://github.com/molejar/pymboot/archive/master.zip
如果是开发,请从克隆源安装:
……代码::bash
$git clone https://github.com/molejar/pymboot.git
$cd pymboot
$pip install-u-e.
**注意:**运行这些命令可能会遇到权限问题。
下面是一些解决方法:
1。使用"sudo"运行以全局安装pymboot和依赖项
2。指定`--user``选项在本地安装到您的home
目录中(如果没有,请将"~/.local/bin"导出到path变量中)。
3.在
`virtualenv<;https://virtualenv.pypa.io/en/latest/>;``本地到
特定项目工作集中运行该命令。
usage
----
下面的示例演示如何在
代码中使用"mboot"模块。
代码::python
#打印连接设备的列表
对于枚举中的i,dev(dev):
打印({}){}。格式(i,dev.info())
)
读取MCU内存:从地址0到100字节
数据=MB。读取内存(起始地址=0,长度=100)
其他命令
关闭USB端口(如果完成
MB.close()
其他:
打印("将设备连接到PC!")
lity``mboot`,它
展示了这个库的完整功能。如果您将
``mboot``写入shell并单击enter,那么您将得到
其用法的描述。要获得单个命令的帮助,只需使用
``mboot<;command name>;-?``.
代码::bash
$mboot--help
用法:mboot[options]command[args]…
注意:开发版本,小心使用!
选项:
-t,--目标文本选择目标mkl27,lpc55,…[可选]
-d,--调试整数范围调试级别:0-off,1-info,2-debug
-v,--version显示版本并退出。
-?,--帮助显示此消息并退出。
/>将写入数据写入MCU内存
..
如果USB设备不在已知设备列表中,则使用
``-t或--target``参数并直接指定设备vid:pid。
示例:***-t 0x15a2:0x0073**
$mboot info
^^^^^^^^^^^^^^
从连接的MCU读取引导加载程序属性。
代码::bash
$mboot info
device:kinetis引导加载程序(0x15a2,0x0073)
currentversion:
=1.0.0
可用的外部接口:
-uart
-i2c从机
-spi从机
-usb-hid
flashstartaddress:
=0x00000000
flashsize:
=256kb
flashsectorsize:
=1kb
flashblockcount:
=2
可用的命令:
-flashraseall
-flashraseregion
-readmemory
-fillmemory
-flashsecuritydisable
-receivesbfile
-调用
-重置
-设置属性
验证写入:
=1
maxpacketsize:
=32b
保留区域:
=0
验证区域:
=1
ramstartaddress:
=0x1ffee000
ramsize:
=32kb
系统设备标识:
=0x23161d82
flashsecuritystate:
=解锁
$mboot read[选项]地址[长度]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
从MCU内存读取数据,并将其存储为二进制文件(.bin)、
英特尔十六进制文件(.ihex)或S记录文件(.srec或*.s19)格式。如果未指定输出文件
,数据将以可读格式转储到stdout中。
length参数是可选的,默认情况下将使用
end of memory
(默认值:false)
-**-f,–file**-输出扩展名为:*.bin、*.ihex、*.srec
或*.s19
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot read 0 200
地址00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF
——……………
00000010 00 00 00 00 00 00 00 00 00 00 00 00………
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 09 01 00………
00000030 00 00 00 00 00 00 00 00 00 00 09 01 00 00 00………
00000040 09 01 00 09 01 00 00 09 01 00 00 00 00 09 01 00 00 00 00………………….
00000050 09 01 00 09 01 00 00 09 01 00 09 01 00 00……
00000060 09 01 00 00 09 0100 00 09 01 00 09 01 00 00……
000000 70 09 01 00 09 01 00 00 09 01 00 09 01 00……
000000 80 09 01 00 09 01 00 01 00 09 01 00 01 00 09 01 00 00 00……
000000 90 09 01 00 09 01 00 09 01 00 09 01 00 00 01 00 09 01 00 09 01 00 00 00 00…………….
000000 a0 09 01 00 09 01 00 09 01 00 09 01 00 00……
000000 b0 09 01 00 09 01 00 09 01 00 09 01 00 01 00……
000000 c0 0a 49 0b 4a 0b 4b 9b 1a i.j.k.
---————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————_选项1:
选项:
'''''''''
-**-a,–地址**-起始地址。(默认值:0)
-**-o,–offset**-输入数据的偏移量。(默认值:0)
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot write blink.srec
_选项2:
,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot erase-m
chip erased successfully.
$mboot unlock[选项]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unlock mcu内存。
_选项3:
,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot unlock
chip unlocked successfully.
$mboot fill[选项]地址长度
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_选项4:
选项:
'''''''''
-**-p,–pattern**-pattern format(默认:0xffffffff)。
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot fill-p 0x1111111 0x1ffe000 10
$mboot reset
^^^^^^^^^^^^^^^^
代码::bash
$mboot reset
---
-实现对uart接口的支持
…|构建状态图像::https://travis-ci.org/molejar/pymboot.svg?branch=master
:目标:https://travis ci.org/molejar/pymboot
…| pypi status image::https://img.shields.io/pypi/v/mboot.svg
:目标:https://pypi.python.org/pypi/mboot
…| python版本image::https://img.shields.io/pypi/pyversions/mboot.svg
:目标:https://www.python.org
(mcu bootloader)。"mcuboot/kboot"键的详细说明
功能和特性位于
`here<;https://freescale.jiveon.com/docs/doc-104512>;``uuu.
原始:html
<;p align="center">;
…原始:html
<;/p>;
…
pymboot项目仍处于测试阶段。请检查
正在进行的任务或TOdo任务的问题。
-`bincopy<;https://github.com/eeremoq/bincopy>;``用于
分析s-record、intel hex和ti-txt文件的python包。
-`easy\u enum<;https://github.com/molejar/pyenum>;``用户友好型
实现python语言的文档枚举类型。
-`pyusb<;https://walac.github.io/pyusb/>;``访问Linux操作系统中USB设备的python包。
-`pywinusb<;https://github.com/rene aguirre/pywinusb>;`` python
简化Windows操作系统上USB-HID通信的包。
-`pyserial<;https://github.com/pyserial/pyserIAL>;`` python包
用于在Linux和Windows操作系统中通过串行端口进行通信。
安装
----
>要从主分支安装最新版本,请在shell中执行以下命令:
。代码::bash
$pip install-u https://github.com/molejar/pymboot/archive/master.zip
如果是开发,请从克隆源安装:
……代码::bash
$git clone https://github.com/molejar/pymboot.git
$cd pymboot
$pip install-u-e.
**注意:**运行这些命令可能会遇到权限问题。
下面是一些解决方法:
1。使用"sudo"运行以全局安装pymboot和依赖项
2。指定`--user``选项在本地安装到您的home
目录中(如果没有,请将"~/.local/bin"导出到path变量中)。
3.在
`virtualenv<;https://virtualenv.pypa.io/en/latest/>;``本地到
特定项目工作集中运行该命令。
usage
----
下面的示例演示如何在
代码中使用"mboot"模块。
代码::python
#打印连接设备的列表
对于枚举中的i,dev(dev):
打印({}){}。格式(i,dev.info())
)
读取MCU内存:从地址0到100字节
数据=MB。读取内存(起始地址=0,长度=100)
其他命令
关闭USB端口(如果完成
MB.close()
其他:
打印("将设备连接到PC!")
lity``mboot`,它
展示了这个库的完整功能。如果您将
``mboot``写入shell并单击enter,那么您将得到
其用法的描述。要获得单个命令的帮助,只需使用
``mboot<;command name>;-?``.
代码::bash
$mboot--help
用法:mboot[options]command[args]…
注意:开发版本,小心使用!
选项:
-t,--目标文本选择目标mkl27,lpc55,…[可选]
-d,--调试整数范围调试级别:0-off,1-info,2-debug
-v,--version显示版本并退出。
-?,--帮助显示此消息并退出。
/>将写入数据写入MCU内存
..
如果USB设备不在已知设备列表中,则使用
``-t或--target``参数并直接指定设备vid:pid。
示例:***-t 0x15a2:0x0073**
$mboot info
^^^^^^^^^^^^^^
从连接的MCU读取引导加载程序属性。
代码::bash
$mboot info
device:kinetis引导加载程序(0x15a2,0x0073)
currentversion:
=1.0.0
可用的外部接口:
-uart
-i2c从机
-spi从机
-usb-hid
flashstartaddress:
=0x00000000
flashsize:
=256kb
flashsectorsize:
=1kb
flashblockcount:
=2
可用的命令:
-flashraseall
-flashraseregion
-readmemory
-fillmemory
-flashsecuritydisable
-receivesbfile
-调用
-重置
-设置属性
验证写入:
=1
maxpacketsize:
=32b
保留区域:
=0
验证区域:
=1
ramstartaddress:
=0x1ffee000
ramsize:
=32kb
系统设备标识:
=0x23161d82
flashsecuritystate:
=解锁
$mboot read[选项]地址[长度]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
从MCU内存读取数据,并将其存储为二进制文件(.bin)、
英特尔十六进制文件(.ihex)或S记录文件(.srec或*.s19)格式。如果未指定输出文件
,数据将以可读格式转储到stdout中。
length参数是可选的,默认情况下将使用
end of memory
(默认值:false)
-**-f,–file**-输出扩展名为:*.bin、*.ihex、*.srec
或*.s19
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot read 0 200
地址00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F 0123456789ABCDEF
——……………
00000010 00 00 00 00 00 00 00 00 00 00 00 00………
00000020 00 00 00 00 00 00 00 00 00 00 00 00 00 09 01 00………
00000030 00 00 00 00 00 00 00 00 00 00 09 01 00 00 00………
00000040 09 01 00 09 01 00 00 09 01 00 00 00 00 09 01 00 00 00 00………………….
00000050 09 01 00 09 01 00 00 09 01 00 09 01 00 00……
00000060 09 01 00 00 09 0100 00 09 01 00 09 01 00 00……
000000 70 09 01 00 09 01 00 00 09 01 00 09 01 00……
000000 80 09 01 00 09 01 00 01 00 09 01 00 01 00 09 01 00 00 00……
000000 90 09 01 00 09 01 00 09 01 00 09 01 00 00 01 00 09 01 00 09 01 00 00 00 00…………….
000000 a0 09 01 00 09 01 00 09 01 00 09 01 00 00……
000000 b0 09 01 00 09 01 00 09 01 00 09 01 00 01 00……
000000 c0 0a 49 0b 4a 0b 4b 9b 1a i.j.k.
---————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————_选项1:
选项:
'''''''''
-**-a,–地址**-起始地址。(默认值:0)
-**-o,–offset**-输入数据的偏移量。(默认值:0)
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot write blink.srec
_选项2:
,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot erase-m
chip erased successfully.
$mboot unlock[选项]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
unlock mcu内存。
_选项3:
,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot unlock
chip unlocked successfully.
$mboot fill[选项]地址长度
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
_选项4:
选项:
'''''''''
-**-p,–pattern**-pattern format(默认:0xffffffff)。
-**-?,–帮助**-显示帮助消息并退出。
…代码::bash
$mboot fill-p 0x1111111 0x1ffe000 10
$mboot reset
^^^^^^^^^^^^^^^^
代码::bash
$mboot reset
-实现对uart接口的支持
…|构建状态图像::https://travis-ci.org/molejar/pymboot.svg?branch=master
:目标:https://travis ci.org/molejar/pymboot
…| pypi status image::https://img.shields.io/pypi/v/mboot.svg
:目标:https://pypi.python.org/pypi/mboot
…| python版本image::https://img.shields.io/pypi/pyversions/mboot.svg
:目标:https://www.python.org