因需要使用阿莫脱机下载器制作STM32脱机下载文件,而配置文件部分只有bin格式的,整合不了,所以需要把bin文件转化为hex文件。

参考了:BIN 文件转换为 HEX 文件 - 何亚斌的博客 (go2aaron.com)的代码,写了个对话框的程序。共享出来,给有需要的人。

源代码很简单,不介绍了,直接上对话框图和代码,需要者自取

如何将bin文件转为rgb文件python bin文件转换器_arm

如何将bin文件转为rgb文件python bin文件转换器_嵌入式硬件_02

 

如何将bin文件转为rgb文件python bin文件转换器_单片机_03

上传超时了几次,可以了,自己去下吧

2022年11月2日:

自己写了个串口升级MCU的程序,需要把HEX文件转化为bin文件后再传输,需要个hex转的功能,网上找了很久,都是要积分才能下载到可以使用的工具,郁闷坏了。找了一些博客参考,转化又出错,看了HEX文件解析的一些文章,终于搞定了,感谢这个博客提供的代码:(5条消息) hex文件转换为bin文件C语言实现_冷傲斌哥的博客_hex文件转换为c语言

封装了个对话框工具,实现bin和hex互转。代码做了一些改动,主要是我希望从bin文件的起始地址开始写。

如何将bin文件转为rgb文件python bin文件转换器_arm_04

 

如何将bin文件转为rgb文件python bin文件转换器_stm32_05

 

如何将bin文件转为rgb文件python bin文件转换器_stm32_06

需要构建整个bin文件,所以增加了hex文件的合并功能,会同时生成合并的hex和bin文件,目前只支持3个文件,可以少于三个,超过了就需要自己增加了,封装函数预留了接口

如何将bin文件转为rgb文件python bin文件转换器_stm32_07

如何将bin文件转为rgb文件python bin文件转换器_arm_08

如何将bin文件转为rgb文件python bin文件转换器_stm32_09

更新:hex文件的A~F字符修改为大写,避免keil使用出错

如何将bin文件转为rgb文件python bin文件转换器_嵌入式硬件_10

20230215更新:

1、修改bin文件大于64K出错的问题

2、增加了转hex文件可以配置数据行数据长度,填十机制数据,如16,32

如何将bin文件转为rgb文件python bin文件转换器_嵌入式硬件_11

20230709更新C8051使用的keil编译的hex文件转换到bin错误问题

如下图第一行就是数据文件的情况(缺少02 04的字段类型)就会计算出错

如何将bin文件转为rgb文件python bin文件转换器_arm_12

解决方法,先解析一遍HEX文件,把最小地址先算出来,写bin文件的时候都减掉这个最小地址

保存的文件名也加入了起始地址,方便烧写

如何将bin文件转为rgb文件python bin文件转换器_stm32_13

如何将bin文件转为rgb文件python bin文件转换器_stm32_14