From 57e080b4dffbf218210584fb0d81a57b91637f2b Mon Sep 17 00:00:00 2001 From: John Willis Date: Wed, 14 Jan 2009 12:15:50 +0000 Subject: [PATCH] Add signGP to X-Loader GIT to make building less of a pain (no point asking users to track down the signGP tool). --- signGP/signGP | Bin 0 -> 8278 bytes signGP/signGP.c | 73 ++++++++++++++++++++++++++++++++++++++++++++++++ signGP/signgp | Bin 0 -> 8278 bytes 3 files changed, 73 insertions(+) create mode 100755 signGP/signGP create mode 100755 signGP/signGP.c create mode 100755 signGP/signgp diff --git a/signGP/signGP b/signGP/signGP new file mode 100755 index 0000000000000000000000000000000000000000..78df3bb9539812e4cfd47d18ce340cf6190b4ad1 GIT binary patch literal 8278 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 literal 0 HcmV?d00001 diff --git a/signGP/signGP.c b/signGP/signGP.c new file mode 100755 index 0000000..0e8ed07 --- /dev/null +++ b/signGP/signGP.c @@ -0,0 +1,73 @@ +// +// signGP.c +// Read the x-load.bin file and write out the x-load.bin.ift file. +// The signed image is the original pre-pended with the size of the image +// and the load address. If not entered on command line, file name is +// assumed to be x-load.bin in current directory and load address is +// 0x40200800. + +#include +#include +#include +#include +#include +#include + + +main(int argc, char *argv[]) +{ + int i; + char ifname[FILENAME_MAX], ofname[FILENAME_MAX], ch; + FILE *ifile, *ofile; + unsigned long loadaddr, len; + struct stat sinfo; + + + // Default to x-load.bin and 0x40200800. + strcpy(ifname, "x-load.bin"); + loadaddr = 0x40200800; + + if ((argc == 2) || (argc == 3)) + strcpy(ifname, argv[1]); + + if (argc == 3) + loadaddr = strtol(argv[2], NULL, 16); + + // Form the output file name. + strcpy(ofname, ifname); + strcat(ofname, ".ift"); + + // Open the input file. + ifile = fopen(ifname, "rb"); + if (ifile == NULL) { + printf("Cannot open %s\n", ifname); + exit(0); + } + + // Get file length. + stat(ifname, &sinfo); + len = sinfo.st_size; + + // Open the output file and write it. + ofile = fopen(ofname, "wb"); + if (ofile == NULL) { + printf("Cannot open %s\n", ofname); + fclose(ifile); + exit(0); + } + + // Pad 1 sector of zeroes. + //ch = 0x00; + //for (i=0; i<0x200; i++) + // fwrite(&ch, 1, 1, ofile); + + fwrite(&len, 1, 4, ofile); + fwrite(&loadaddr, 1, 4, ofile); + for (i=0; iAM9=RX&{9iA^2bvp=`# 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 literal 0 HcmV?d00001 -- 2.39.5