欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 二進制文件合并工具PackagingTool [打印本頁]

作者: harchy    時間: 2023-11-6 16:18
標題: 二進制文件合并工具PackagingTool
軟件功能介紹:
該軟件可進行多個二進制文件的合并,可以自由添加文件、刪除、調整文件排列順序,并且可以在前面插入偏移地址,滿足各種FLASH燒錄需求。



用戶還可以選擇是否將合并的文件地址和大小寫入前置偏移地址,地址和大小各占4Bytes,寫入的數據格式為LSB->MSB,用戶可方便讀取索引使用。


下面舉例單片機如何讀取jpg圖片出來顯示,打包好的bin檔已燒錄到RA8889下掛的FLASH芯片,單片機直接訪問讀取文件的地址和大小信息:
  1. //獲取圖片的地址或者大小信息,共4個字節,再合并成一個數值返回
  2. unsigned long Get_Picture_Address_Size(unsigned long flash_addr)
  3. {
  4. unsigned long temp;
  5. unsigned short i;
  6. unsigned int data_buffer[4];  //存放從FLASH讀取出的數據   

  7. Enable_SFlash_SPI();

  8. if(FLASH_BUS==0) SPIM_Select_Bus_0(); //總線BUS0
  9. else  SPIM_Select_Bus_1(); //總線BUS1

  10. #ifdef OVER_128Mb
  11. Select_nSS_drive_on_xnsfcs3(); //使用CS3位置的FLASH
  12. #else
  13. Select_nSS_drive_on_xnsfcs2(); //使用CS2位置的FLASH
  14. #endif

  15. RA8889_SPI_Flash_WREN(); //寫入使能
  16. nSS_Active();
  17. delay_us(1);
  18. SPI_Master_FIFO_Data_Put(0x03);
  19. delay_us(1);

  20. #ifdef OVER_128Mb   //32bit 尋址
  21. SPI_Master_FIFO_Data_Put(flash_addr>>24);
  22. SPI_Master_FIFO_Data_Put(flash_addr>>16);
  23. SPI_Master_FIFO_Data_Put(flash_addr>>8);
  24. SPI_Master_FIFO_Data_Put(flash_addr);
  25. #else    //24bit 尋址
  26. SPI_Master_FIFO_Data_Put(flash_addr>>16);
  27. SPI_Master_FIFO_Data_Put(flash_addr>>8);
  28. SPI_Master_FIFO_Data_Put(flash_addr);
  29. #endif

  30. for(i=0;i<4;i++)
  31. {
  32. data_buffer[i] = SPI_Master_FIFO_Data_Put(0xff);
  33. }

  34. temp = data_buffer[3]<<24;  
  35. temp += data_buffer[2]<<16;
  36. temp += data_buffer[1]<<8;
  37. temp += data_buffer[0];

  38. nSS_Inactive();   

  39. while(RA8889_SPI_Flash_RDSR()& 0x01);
  40. RA8889_SPI_Flash_WRDI();
  41. Disable_SFlash_SPI();

  42. return(temp);
  43. }
復制代碼


單片機將獲取到的jpg圖片地址和文件大小傳給RA8889,即可顯示:
  1. //從FLASH讀取第n張圖片出來顯示
  2. int Show_Picture(unsigned int pic_num)
  3. {
  4. unsigned long pic_addr, pic_size;

  5. pic_addr = Get_Picture_Address_Size(0x0000+pic_num*8); //讀取到第n個圖片地址的值
  6. pic_size = Get_Picture_Address_Size(0x0004+pic_num*8); //讀取到第n個圖片大小的值

  7. //讀取不到圖片信息標志
  8. if(pic_addr==0xFFFFFFFF)
  9. {
  10. return 0;
  11. }
  12. else
  13. {
  14. SPI_NOR_initial_JPG_AVI (1,0,FLASH_BUS,FLASH_CS,1);

  15. #ifdef OVER_128Mb   
  16. switch_24bits_to_32bits(FLASH_BUS,FLASH_CS);
  17. IDEC_Select_SFI_32bit_Address();
  18. #endif

  19. //RA8889顯示JPG圖片:
  20. JPG_NOR (pic_addr,pic_size,canvas_image_width,0,0);

  21. return 1;
  22. }
  23. }
復制代碼



保存文件后除了會生成一份.bin文件之外,同時還會生成一份.h文件,方便用戶查閱與調用,并且用戶可以再次導入該文件的列表,省去頻繁導入與調整文件順序的麻煩。

該軟件若與瑞佑的RA8889結合使用,可以用來打包jpg、avi等圖資,由于此類文件大小不一,MCU若沒有做FAT文件系統就只能做成固定調用,不好單獨對圖資變更了,除非MCU固件也一起變更。而使用該軟件就可以在打包文件的同時將文件信息一同保存,MCU按固定地址去讀取而不必在意文件的大小了,只需要更新圖資即可。

原文鏈接及下載地址:lcdvision官網 資料下載:RAIO > 輔助開發軟件


作者: harchy    時間: 2023-11-9 21:19
標題: RE: 二進制文件合并工具PackagingTool
附件為綠色版程序,單文件約350KB,通用Window各平臺,調試開發得力工具!
歡迎愛好者測試下載吧!

PackagingTool.zip (54.28 KB, 下載次數: 7)


作者: harchy    時間: 2023-12-6 13:39
重要改版:

1.新增可對任何一個文件進行地址偏移設定,滿足MCU的IAP Boot Loader Code和Application Code合并時需要固定偏移功能(比如0x00001000);

2.調整輸出的.h格式,導出同時構建枚舉函數,MCU可直接引用該頭文件進行索引,該文件與Image Tool導出來的.h格式一致,可兼容;另外增加圖片的寬度和高度信息,可搭配瑞佑的RA8889使用。

51hei.png (45.72 KB, 下載次數: 149)

51hei.png

PackagingTool_1.3.0.2.zip

58.81 KB, 下載次數: 3, 下載積分: 黑幣 -5






歡迎光臨 (http://www.raoushi.com/bbs/) Powered by Discuz! X3.1