传输二进制信息的各种文件格式(Motorola S-Record、Intel Hex和二进制文件)的损坏。
bincop的Python项目详细描述
关于
传送二进制信息的各种文件格式的混乱 (Motorola S-Record、Intel Hex、TI-TXT和二进制文件)。
安装
pipinstallbincopy
示例用法
脚本
从intel hex转换为intel hex、srec、binary的基本示例, 数组和十六进制转储格式:
>>>importbincopy>>>f=bincopy.BinFile("tests/files/in.hex")>>>print(f.as_ihex()):20010000214601360121470136007EFE09D219012146017E17C20001FF5F16002148011979:20012000194E79234623965778239EDA3F01B2CA3F0156702B5E712B722B7321460134219F:00000001FF>>>print(f.as_srec())S32500000100214601360121470136007EFE09D219012146017E17C20001FF5F16002148011973S32500000120194E79234623965778239EDA3F01B2CA3F0156702B5E712B722B73214601342199S5030002FA>>>print(f.as_ti_txt())@0100214601360121470136007EFE09D219012146017E17C20001FF5F160021480119194E79234623965778239EDA3F01B2CA3F0156702B5E712B722B732146013421q>>>f.as_binary()bytearray(b'!F\x016\x01!G\x016\x00~\xfe\t\xd2\x19\x01!F\x01~\x17\xc2\x00\x01 \xff_\x16\x00!H\x01\x19\x19Ny#F#\x96Wx#\x9e\xda?\x01\xb2\xca?\x01Vp+^q+r+s!F\x014!')>>>list(f.segments)[Segment(address=256,data=bytearray(b'!F\x016\x01!G\x016\x00~\xfe\t\xd2\x19\x01!F\x01~\x17\xc2\x00\x01\xff_\x16\x00!H\x01\x19\x19Ny#F#\x96Wx#\x9e\xda?\x01 \xb2\xca?\x01Vp+^q+r+s!F\x014!'))]>>>f.minimum_address256>>>f.maximum_address320>>>len(f)64>>>f[f.minimum_address]33>>>f[f.minimum_address:f.minimum_address+1]bytearray(b'!')
有关其他示例,请参见test suite。
命令行工具
打印有关给定二进制格式文件的常规信息。
$ bincopy info tests/files/in.hex Data ranges: 0x00000100 - 0x00000140 (64 bytes)
将文件从一种格式转换为另一种格式。
$ bincopy convert -i ihex -o srec tests/files/in.hex - S32500000100214601360121470136007EFE09D219012146017E17C20001FF5F16002148011973 S32500000120194E79234623965778239EDA3F01B2CA3F0156702B5E712B722B73214601342199 S5030002FA $ bincopy convert -i binary -o hexdump tests/files/in.hex - 00000000 3a 32 30 30 31 30 30 30 30 32 31 34 36 30 31 33 |:200100002146013| 00000010 36 30 31 32 31 34 37 30 31 33 36 30 30 37 45 46 |60121470136007EF| 00000020 45 30 39 44 32 31 39 30 31 32 31 34 36 30 31 37 |E09D219012146017| 00000030 45 31 37 43 32 30 30 30 31 46 46 35 46 31 36 30 |E17C20001FF5F160| 00000040 30 32 31 34 38 30 31 31 39 37 39 0a 3a 32 30 30 |02148011979.:200| 00000050 31 32 30 30 30 31 39 34 45 37 39 32 33 34 36 32 |12000194E7923462| 00000060 33 39 36 35 37 37 38 32 33 39 45 44 41 33 46 30 |3965778239EDA3F0| 00000070 31 42 32 43 41 33 46 30 31 35 36 37 30 32 42 35 |1B2CA3F0156702B5| 00000080 45 37 31 32 42 37 32 32 42 37 33 32 31 34 36 30 |E712B722B7321460| 00000090 31 33 34 32 31 39 46 0a 3a 30 30 30 30 30 30 30 |134219F.:0000000| 000000a0 31 46 46 0a |1FF. |
贡献
分叉存储库。
安装必备组件。
pip install -r requirements.txt
实现新功能或错误修复。
实施测试用例以确保将来的更改不会中断 遗产。
运行测试。
make test
创建拉取请求。