軟件功能介紹:
該軟件可進行多個二進制文件的合并,可以自由添加文件、刪除、調整文件排列順序,并且可以在前面插入偏移地址,滿足各種FLASH燒錄需求。
51hei.png (29.03 KB, 下載次數: 46)
下載附件
2023-12-6 14:09 上傳
用戶還可以選擇是否將合并的文件地址和大小寫入前置偏移地址,地址和大小各占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 > 輔助開發軟件
|