与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

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

推荐PyPI第三方库


热门话题
java库/类,可以执行以字符串形式编写的方法   java get ScheduledExecutorService将变量更改为3个不同的值   EmployeeManager的java设计数据结构   java正则表达式吃的东西太多了   java NetBeans新项目不包括JavaFX文件夹   java无法使用maven依赖项   java是否将prolog应用程序转换为基于JVM的语言?   java支持多个反应式Redis存储和跨存储的事务   java如何从Modbus读取长(交换)值?   java在原语数组中重新分配数组值不会更改数组   java使Wicket行为返回JSON结果,以便与jQuery FileUpload集成   加载WebappClassLoader时发生java错误(获取错误)   java如何从特定行读取excel文件?   Java中带双精度的Forloop   安卓 Java注释字段setter和getter如何   使用Java操作PDF   应用java中作为字符串的运算符最优雅的方法是什么?   jRuby开发者的Java Swing资源?