软件功能介绍:
该软件可进行多个二进制文件的合并,可以自由添加文件、删除、调整文件排列顺序,并且可以在前面插入偏移地址,满足各种FLASH烧录需求。
用户还可以选择是否将合并的文件地址和大小写入前置偏移地址,地址和大小各占4Bytes,写入的数据格式为LSB->MSB,用户可方便读取索引使用。
下面举例单片机如何读取jpg图片出来显示,打包好的bin档已烧录到RA8889下挂的FLASH芯片,单片机直接访问读取文件的地址和大小信息:
- //获取图片的地址或者大小信息,共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个图片大小的值
-
- //读取不到图片信息标志
- if(pic_addr==0xFFFFFFFF)
- {
- return 0;
- }
- else
- {
- 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
-
- //RA8889显示JPG图片:
- JPG_NOR (pic_addr,pic_size,canvas_image_width,0,0);
-
- return 1;
- }
- }
复制代码
保存文件后除了会生成一份.bin文件之外,同时还会生成一份.h文件,方便用户查阅与调用,并且用户可以再次导入该文件的列表,省去频繁导入与调整文件顺序的麻烦。
该软件若与瑞佑的RA8889结合使用,可以用来打包jpg、avi等图资,由于此类文件大小不一,MCU若没有做FAT文件系统就只能做成固定调用,不好单独对图资变更了,除非MCU固件也一起变更。而使用该软件就可以在打包文件的同时将文件信息一同保存,MCU按固定地址去读取而不必在意文件的大小了,只需要更新图资即可。
原文链接及下载地址:lcdvision官网 资料下载:RAIO > 辅助开发软件
|