图片Bin文件的编译和导入

一.前言

        嵌入式开发过程中,需要用MCU去驱动屏幕并画图,可以将图片数据存储在代码区中,后期一并编译并导入到设备,如果图片比较小还好,但是大量的图片数据就会使得后期的开发和维护变的极为缓慢。

        为此 我们可以通过提前将数据写入到Flash中,在后期的调用和维护都只需调用地址,便可完成图片的绘制,节省程序编译和导入的时间。

二.前期准备

一.确认空间大小

首先要确保MCU有无足够的空间存放图片bin文件,或者外挂存储设备来存放图片数据
16位彩色图片大小计算:图片宽度 * 高度* 2 / 1024 = 所占字节大小 K
若是32位则大小是16位彩色数据2倍 以此类推;

例: Flash大小8M,就可以存储 419100*100大小的16位彩色图片 
若是MCU内部Flash,一定要计算好代码区大小,防止图片导入后被代码区覆盖
 

二.安装以下软件

Image2Lcd  (目前楼主用的4.0版本)
UBIN    (嵌入式开发中的多BIN文件合并神器)

三.开始操作

一.Image2Lcd

首先将图片导入,按照自己的需求和方式进行更改,下面是我的默认配置

输出数据类型:一定选择二进制文件或者bin文件,二进制文件将后缀改成.bin即可

输出灰度:看个人需求 一般为16位彩色,屏幕驱动SPI和QSPI数据位都是拆分2份8位发送
字节顺序:看自己设备存储是大端字节序还是小端字节序 (勾选是大端)
其他选择按照自己需求来微调;

二.UBIN

         1.点击浏览选中刚刚转换后的bin文件,再点击添加,直到所有文件导入完毕

               2.点击浏览,在打开文件栏中输入合并后的文件名称,点击合并,软件会在目标文件路径下生成文件和TXT详情文本

        3.将目标文件导入指定Flash地址,打开TXT文件,里面包含所有图片大小以及从零开始地址信息,每次访问只需要填写对应图片地址和相应文件大小即可画图完成
图片地址 = 基地址 + 框选地址
例:
Flash写入地址是64000 则 图片2所在起始地址为 64000 + 1AE00 = 7EE00


四.下载链接

Image2Lcd下载:Image2Lcd图片取模软件-CSDN博客https://blog.csdn.net/fantastic_sky/article/details/110530389

UBIN开源下载:项目首页 - UBINzip嵌入式开发中的多BIN文件合并神器:UBIN是一款专为嵌入式开发者设计的轻量级工具,其核心功能在于能够无缝地将多个独立的BIN格式二进制文件合并为一个完整的BIN文件。这极大地方便了对固件的管理和批量烧录过程,尤其是在处理具有不同分区或模块的复杂项目时 - GitCodehttps://gitcode.com/open-source-toolkit/b7b0d

让开源促进更好的编程环境,感谢上面大佬的付出

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值