📄 zipimage.c
字号:
#include "main.h"
#include "image.h"
#define SWAP_LONG(data) ((unsigned long) \
(((unsigned long)(data) >> 24) | \
((unsigned long)(data) << 24) | \
(((unsigned long)(data) >> 8) & 0x0000ff00 ) | \
(((unsigned long)(data) << 8) & 0x00ff0000 )))
#define DOWN_ZIP_TMP 0x800000
int DownFileFromUART(char * DistAddr);
int gunzip(void *dst, int dstlen, unsigned char *src, unsigned long *lenp);
void ChoiceToRun(void);
void DownZipImage(void)
{
unsigned long SrcLen;
int tmp;
image_header_t * pHead = (image_header_t *)DOWN_ZIP_TMP;
unsigned char * pSrc = (unsigned char *)(DOWN_ZIP_TMP + 64) ; // sizeof(image_header_t));
tmp = DownFileFromUART((char *)DOWN_ZIP_TMP) ;
if (0 != tmp)
return ;
SrcLen = pHead->ih_size;
SrcLen = SWAP_LONG(SrcLen);
printf("\r\nSrcLen=%d " , SrcLen);
if (pHead->ih_comp != IH_COMP_GZIP)
{
printf("\r\nCompress type Is Not IH_COMP_GZIP ");
}
gunzip( (void*)LINUX_RAM_ADDR ,1024*1024*5,
pSrc ,&SrcLen);
ChoiceToRun();
}
void UnZipFlashImage(void)
{
unsigned long SrcLen;
image_header_t * pHead = (image_header_t *)FLASH_PART1;
unsigned char * pSrc = (unsigned char *)(FLASH_PART1 + sizeof(image_header_t));
SrcLen = pHead->ih_size;
SrcLen = SWAP_LONG(SrcLen);
printf("\r\nSrcLen=%d " , SrcLen);
if (pHead->ih_comp != IH_COMP_GZIP)
{
printf("\r\nCompress type Is Not IH_COMP_GZIP ");
}
gunzip( (void*)LINUX_RAM_ADDR ,1024*1024*5,
pSrc ,&SrcLen);
ChoiceToRun();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -