You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
757 B
C
47 lines
757 B
C
#include <stdlib.h>
|
|
#include <stdio.h>
|
|
#include <stdint.h>
|
|
|
|
int main(int argc, char* argv[])
|
|
{
|
|
FILE* fp;
|
|
uint32_t nImgSize;
|
|
char* pHeader1 = "CSYS";
|
|
uint32_t nHeader2 = 0x80500000;
|
|
|
|
if (argc != 3)
|
|
{
|
|
printf("Usage: mksyshdr <header file> <image file>\n");
|
|
return -1;
|
|
}
|
|
|
|
fp = fopen(argv[2], "rb");
|
|
if (fp != NULL)
|
|
{
|
|
fseek(fp, 0, SEEK_END);
|
|
nImgSize = ftell(fp);
|
|
fclose(fp);
|
|
fp = fopen(argv[1], "wb+");
|
|
if (fp != NULL)
|
|
{
|
|
fwrite(pHeader1, sizeof(char), 4, fp);
|
|
fwrite(&nHeader2, sizeof(nHeader2), 1, fp);
|
|
fwrite(&nImgSize, sizeof(nImgSize), 1, fp);
|
|
fclose(fp);
|
|
}
|
|
else
|
|
{
|
|
printf("Cannot create %s.\n", argv[1]);
|
|
return -1;
|
|
}
|
|
}
|
|
else
|
|
{
|
|
printf("Cannot open %s.\n", argv[2]);
|
|
return -1;
|
|
}
|
|
|
|
return 0;
|
|
}
|
|
|