是否有时候需要将一个bin文件下载到flash中去,但是又不知道以何种方式下载进去。这时候我们可以将bin文件转化为const数组,然后在代码中直接调用就可以了。但是需要怎么转化尼?UE工具可以但是转化起来有点麻烦,那就写个简单的转化函数吧,配合windows编译工具链就可以实现(在我前面的博客有具体的安装运行方法),废话不多说,上代码
#include <stdio.h>
int main()
{
FILE *fb = NULL;
FILE *fh = NULL;
int i = 322;//文件大小,需要根据实际的文件大小修改
int j = 0;
int value=0;
fb = fopen("example.bin","rb"); //需要转化的bin文件
fh = fopen("example.txt","a+"); //需要合成的hex文件
while(i)
{
value = fgetc(fb);
fprintf(fh, "0x%02x,",value);//格式化输出到文件中去
i--;
j++;
if(j >=20) //每20个字节换行一次
{
fputc('
',fh);
j=0;
}
}
fclose(fb);
fclose(fh);
return 0;
}