本帖最后由 harchy 于 2023-11-10 15:13 编辑
- 功能:可将多个二进制文件的合并与打包,比如bin档、字库dot档、图片jpg、视频avi等;
- 特色:文件可添加、排序、删除,插入偏移地址,满足各种FLASH烧录需求;
- 特色推荐: 可保存列表,方便二次编排,省去研发频繁调整烦恼!
- 适用平台:Windows平台
- 文件大小:350K / 单文件 / 绿色版
主界面:
关于前置偏移:偏移地址自由设定,是否添加文件信息可选,如下图:
若选择此项,则会将合并的文件地址和大小信息写到前置偏移地址,各占4Bytes,写入的数据格式为LSB->MSB,该目的方便单片机索引访问。
下面举例单片机如何读取jpg图片出来显示,我们先将一系列jpg图片打包好bin档并且烧录到瑞佑的RA8889下挂的FLASH芯片,单片机可以按8个字节/次读取到文件的地址和大小:
//获取图片的地址或者大小信息,共4个字节,再合并成一个数值返回
unsigned long Get_Picture_Address_Size(unsigned long flash_addr)
{
unsigned long temp;
unsigned short i;
unsigned int data_buffer[4]; //存放从FLASH读取出的数据
Enable_SFlash_SPI();
if(FLASH_BUS==0) SPIM_Select_Bus_0(); //总线BUS0
else SPIM_Select_Bus_1(); //总线BUS1
#ifdef OVER_128Mb
Select_nSS_drive_on_xnsfcs3(); //使用CS3位置的FLASH
#else
Select_nSS_drive_on_xnsfcs2(); //使用CS2位置的FLASH
#endif
RA8889_SPI_Flash_WREN(); //写入使能
nSS_Active();
delay_us(1);
SPI_Master_FIFO_Data_Put(0x03);
delay_us(1);
#ifdef OVER_128Mb //32bit 寻址
SPI_Master_FIFO_Data_Put(flash_addr>>24);
SPI_Master_FIFO_Data_Put(flash_addr>>16);
SPI_Master_FIFO_Data_Put(flash_addr>>8);
SPI_Master_FIFO_Data_Put(flash_addr);
#else //24bit 寻址
SPI_Master_FIFO_Data_Put(flash_addr>>16);
SPI_Master_FIFO_Data_Put(flash_addr>>8);
SPI_Master_FIFO_Data_Put(flash_addr);
#endif
for(i=0;i<4;i++)
{
data_buffer[i] = SPI_Master_FIFO_Data_Put(0xff);
}
temp = data_buffer[3]<<24;
temp += data_buffer[2]<<16;
temp += data_buffer[1]<<8;
temp += data_buffer[0];
nSS_Inactive();
while(RA8889_SPI_Flash_RDSR()& 0x01);
RA8889_SPI_Flash_WRDI();
Disable_SFlash_SPI();
return(temp);
}
单片机读取到jpg存放地址和图片大小之后,再传给RA8889,即可显示:
//从FLASH读取第n张图片出来显示
int Show_Picture(unsigned int pic_num)
{
unsigned long pic_addr, pic_size;
pic_addr = Get_Picture_Address_Size(0x0000+pic_num*8); //读取到第n个图片地址的值
pic_size = Get_Picture_Address_Size(0x0004+pic_num*8); //读取到第n个图片大小的值
SPI_NOR_initial_JPG_AVI (1,0,FLASH_BUS,FLASH_CS,1);
#ifdef OVER_128Mb
switch_24bits_to_32bits(FLASH_BUS,FLASH_CS);
IDEC_Select_SFI_32bit_Address();
#endif
JPG_NOR (pic_addr,pic_size,canvas_image_width,0,0);
return 1;
}
该软件特色功能是打包成bin档的同时还会将编排好的列表保存在.h文件中,后续要使用时可以再读取回来,方便研发调试!省去频繁导入与调整文件顺序,可提高工作效率!
单片机要调用图片显示,碰到要调用jpg、avi等图资,由于此类文件大小不一,若没有做FAT文件系统就只能做成固定调用,后续投产之后就不方便再变更图片资源,而使用该软件就可以在打包文件的同时将文件大小和地址信息一同保存,单片机只需要按规律寻址即可,比如在使用瑞佑的RA8889,有些用户想量产之后还想再做升级变更图资,用此法即可很容易解决!
下载链接:
|