单片机 BIN文件
请问一下怎样使用AWTK Designer把图片文件打包成数据的?
回帖(1)
2022-2-10 15:27:14
1.背景:
nxp rt1052使用awtk ui架构, awtk使用 AWTK Designer会把图片文件打包成数据,然后类似C语言include 包含进工程中,使用keil5编译进bin文件中。
2.需求:
一般资源文件不会频繁升级或不升级,但是程序一定存在升级的需要,所以希望做成 只升级程序而不需要升级资源文件的功能,因为使用CAN升级程序也存在一个速度和时间的问题。所以,要一种把代码和资源文件分离的方案。
3.方案1:
按照图片大小,Flash块对齐存放图片。制作工具把图片资源写入一个bin文件中,图片资源的偏移量和大小记录在一个结构体映射表中,在制作bin文件的工具中使用该表把图片资源对应写入bin文件中,然后在主工程中使用同样的结构映射表去从Flash中读取图片资源。
4.方案2:
AWTK Designer把图片资源转换成数组的时候会在数组前部添加一些数据,在使用AWTK框架的情况下,方案1不适用。
方案2需要创建两个工程,主工程为正常的业务工程,次工程即资源文件工程仅仅是把要用到的图片数组资源包含进工程中并编译成二进制文件。工程编译完成后打开对应的map文件,在主工程中使用次工程map文件中各资源数组所对应的地址(正常一个工程中使用的数组名–即标记符)。
本方案中重点是次工程中需要修改工程的链接基地址,即保证资源bin文件和主工程bin文件在flash的地址不能有重合。在keil工程中有个分散加载文件,类似uboot中的u-boot.lds。
1.背景:
nxp rt1052使用awtk ui架构, awtk使用 AWTK Designer会把图片文件打包成数据,然后类似C语言include 包含进工程中,使用keil5编译进bin文件中。
2.需求:
一般资源文件不会频繁升级或不升级,但是程序一定存在升级的需要,所以希望做成 只升级程序而不需要升级资源文件的功能,因为使用CAN升级程序也存在一个速度和时间的问题。所以,要一种把代码和资源文件分离的方案。
3.方案1:
按照图片大小,Flash块对齐存放图片。制作工具把图片资源写入一个bin文件中,图片资源的偏移量和大小记录在一个结构体映射表中,在制作bin文件的工具中使用该表把图片资源对应写入bin文件中,然后在主工程中使用同样的结构映射表去从Flash中读取图片资源。
4.方案2:
AWTK Designer把图片资源转换成数组的时候会在数组前部添加一些数据,在使用AWTK框架的情况下,方案1不适用。
方案2需要创建两个工程,主工程为正常的业务工程,次工程即资源文件工程仅仅是把要用到的图片数组资源包含进工程中并编译成二进制文件。工程编译完成后打开对应的map文件,在主工程中使用次工程map文件中各资源数组所对应的地址(正常一个工程中使用的数组名–即标记符)。
本方案中重点是次工程中需要修改工程的链接基地址,即保证资源bin文件和主工程bin文件在flash的地址不能有重合。在keil工程中有个分散加载文件,类似uboot中的u-boot.lds。
举报
更多回帖