搜索
bottom↓
回复: 33

分享将.hex文件中程序代码提取出来(即.bin格式)的py函数

  [复制链接]

出0入25汤圆

发表于 2018-7-5 17:10:54 | 显示全部楼层 |阅读模式



源代码:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-7-5 20:47:15 来自手机 | 显示全部楼层
感谢分享

出0入0汤圆

发表于 2018-7-5 21:44:27 | 显示全部楼层
HEX2BIN ?
是这个意思吧?

出0入25汤圆

 楼主| 发表于 2018-7-5 21:48:07 来自手机 | 显示全部楼层
duxingkei 发表于 2018-7-5 21:44
HEX2BIN ?
是这个意思吧?

对,,就是这个

出0入0汤圆

发表于 2018-7-5 21:50:47 | 显示全部楼层
建议代码完整点,然后不要贴图片,这样大家方便学习测试。

出0入25汤圆

 楼主| 发表于 2018-7-5 22:26:48 | 显示全部楼层
duxingkei 发表于 2018-7-5 21:50
建议代码完整点,然后不要贴图片,这样大家方便学习测试。


图片后面有源代码啊!!

HEX2BIN的话这就是完整功能了,,就这么简单

这个函数传入一个.hex文件名,,返回的是包含.bin文件内容的数组,,只是数据没有写进.bin文件而已

出0入0汤圆

发表于 2018-7-5 23:51:23 | 显示全部楼层
不错不错。python真的是方便。做这类数据处理特别实用,随手就来

出0入0汤圆

发表于 2018-7-6 08:15:58 | 显示全部楼层

出0入0汤圆

发表于 2018-7-6 08:21:45 | 显示全部楼层
顶了顶了

出0入0汤圆

发表于 2018-7-6 08:48:35 | 显示全部楼层
顺便搞个BIN转HEX呗

出0入25汤圆

 楼主| 发表于 2018-7-6 09:01:37 | 显示全部楼层
xjavr 发表于 2018-7-6 08:48
顺便搞个BIN转HEX呗


HEX转换成BIN时有些信息丢失了,,所以BIN转HEX不像HEX转BIN那么简单

比如下面是STM32的HEX文件:
它的第一条是设置偏移地址为0x08000000,这个信息在BIN文件里是没有的

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入8汤圆

发表于 2018-7-6 09:44:49 | 显示全部楼层
XIVN1987 发表于 2018-7-6 09:01
HEX转换成BIN时有些信息丢失了,,所以BIN转HEX不像HEX转BIN那么简单

比如下面是STM32的HEX文件:

所以 BIN转 hex  需要先设置起始地址的。

出0入8汤圆

发表于 2018-7-6 09:45:32 | 显示全部楼层
XIVN1987 发表于 2018-7-6 09:01
HEX转换成BIN时有些信息丢失了,,所以BIN转HEX不像HEX转BIN那么简单

比如下面是STM32的HEX文件:

等你的 bin转hex   我也刚写了个 hex 转bin的。  bin转hex  我就偷偷懒。

出0入0汤圆

发表于 2018-7-6 10:49:50 | 显示全部楼层
XIVN1987 发表于 2018-7-6 09:01
HEX转换成BIN时有些信息丢失了,,所以BIN转HEX不像HEX转BIN那么简单

比如下面是STM32的HEX文件:

输入起始地址,按顺序往后排

出0入0汤圆

发表于 2018-7-7 06:16:20 | 显示全部楼层
一样的呀,BIN转HEX最好是全部转换,
或者指定空白码,的的是0x00,有的是0xff;

出0入0汤圆

发表于 2018-8-6 12:40:41 | 显示全部楼层
有打开文件没关闭文件嘛?

出0入0汤圆

发表于 2018-8-6 13:00:35 | 显示全部楼层
确实方便!

出0入0汤圆

发表于 2018-8-6 13:05:53 | 显示全部楼层
之前写过一个VB的,py看上去好简洁

出0入0汤圆

发表于 2018-8-6 13:13:55 | 显示全部楼层
有个软件叫srec_cat.exe,格式转换,合并,分割,啥的都不在话下
详见http://www.keil.com/download/docs/113.asp下半部分

出0入362汤圆

发表于 2018-8-6 14:54:00 | 显示全部楼层
直接用gnu工具链提供的objcopy不就完了...

出0入0汤圆

发表于 2018-8-7 16:05:15 | 显示全部楼层
谢谢分享

出0入25汤圆

 楼主| 发表于 2018-9-8 16:37:21 | 显示全部楼层
本帖最后由 XIVN1987 于 2018-9-8 16:39 编辑

添加了几行代码,方便直接使用:将.hex文件放到这个脚本的目录下,双击脚本运行即可生成同名的.bin文件


脚本:

另外打包了一个.exe可执行程序,方便没装python的坛友使用:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-9-9 09:46:35 来自手机 | 显示全部楼层
jlink转换

出0入0汤圆

发表于 2018-9-9 12:47:49 来自手机 | 显示全部楼层
谢谢分享

出0入984汤圆

发表于 2018-9-9 18:22:35 | 显示全部楼层
习惯直接扔进ida

出0入0汤圆

发表于 2018-9-9 18:35:24 | 显示全部楼层
感谢分享,收藏!

出0入0汤圆

发表于 2018-9-9 19:27:16 | 显示全部楼层
还可以精简, 应该差不多10行可以搞定

出0入0汤圆

发表于 2018-9-10 14:13:17 | 显示全部楼层
python学习中,收藏!

出0入0汤圆

发表于 2018-12-27 14:47:07 | 显示全部楼层
python hex

出0入0汤圆

发表于 2018-12-27 14:59:22 | 显示全部楼层
谢谢分享python应用,收藏!

出590入992汤圆

发表于 2019-10-14 14:19:03 | 显示全部楼层
我想问一下,我发现STVD生成的HEX的文件,排列比较乱,经常有:低地址的放到后面的。而一般的KEIL,iar生成的都是按照顺序来的。你这个解析会不会有问题?

出590入992汤圆

发表于 2019-10-14 14:39:27 | 显示全部楼层
本帖最后由 SUPER_CRJ 于 2019-10-14 14:40 编辑

你好,经过测试,对于不规则(没有按照地址顺序排列的HEX文件),解析是错误的。

HEX文件如下:

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入25汤圆

 楼主| 发表于 2019-10-14 16:55:52 | 显示全部楼层
SUPER_CRJ 发表于 2019-10-14 14:39
你好,经过测试,对于不规则(没有按照地址顺序排列的HEX文件),解析是错误的。

HEX文件如下:


可以在解析数据前对数据排下序:



本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出590入992汤圆

发表于 2019-10-14 17:24:59 | 显示全部楼层
XIVN1987 发表于 2019-10-14 16:55
可以在解析数据前对数据排下序:

高手,果然是高手。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-19 23:32

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表