diff options
author | Florian Fainelli <florian@openwrt.org> | 2007-03-21 15:04:07 +0000 |
---|---|---|
committer | Florian Fainelli <florian@openwrt.org> | 2007-03-21 15:04:07 +0000 |
commit | 5e7833d044b0a11c7f05e38f52d5e9772aea468c (patch) | |
tree | 0ade379b05869a32d562dd93f0eeae5b8a2ada69 /tools/firmware-utils | |
parent | 285c45e7fd7cb54f759b17b455a0c81b5ba78962 (diff) | |
download | upstream-5e7833d044b0a11c7f05e38f52d5e9772aea468c.tar.gz upstream-5e7833d044b0a11c7f05e38f52d5e9772aea468c.tar.bz2 upstream-5e7833d044b0a11c7f05e38f52d5e9772aea468c.zip |
Add image generation for edimax routers
SVN-Revision: 6627
Diffstat (limited to 'tools/firmware-utils')
-rw-r--r-- | tools/firmware-utils/Makefile | 1 | ||||
-rw-r--r-- | tools/firmware-utils/src/mksyshdr.c | 44 |
2 files changed, 45 insertions, 0 deletions
diff --git a/tools/firmware-utils/Makefile b/tools/firmware-utils/Makefile index 9f5346b449..88e3a4964c 100644 --- a/tools/firmware-utils/Makefile +++ b/tools/firmware-utils/Makefile @@ -26,6 +26,7 @@ define Build/Compile $(call cc,ptgen) $(call cc,airlink) $(call cc,srec2bin) + $(call cc,mksyshdr) endef define Build/Install diff --git a/tools/firmware-utils/src/mksyshdr.c b/tools/firmware-utils/src/mksyshdr.c new file mode 100644 index 0000000000..9c6888e773 --- /dev/null +++ b/tools/firmware-utils/src/mksyshdr.c @@ -0,0 +1,44 @@ +#include <stdlib.h> +#include <stdio.h> +int main(int argc, char* argv[]) +{ + FILE* fp; + long nImgSize; + char* pHeader1 = "CSYS"; + long 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(long), 1, fp); + fwrite(&nImgSize, sizeof(long), 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; +} + |