# HG changeset patch # User Mychaela Falconia # Date 1501829652 0 # Node ID d4d07c751e561b5939dbe8e096223381aa1a20ff # Parent ba63f14d1e849d9f45e10340b88c1c890dfe08ca helpers: mk-flash-script helper program written diff -r ba63f14d1e84 -r d4d07c751e56 .hgignore --- a/.hgignore Fri Aug 04 00:09:09 2017 +0000 +++ b/.hgignore Fri Aug 04 06:54:12 2017 +0000 @@ -3,5 +3,6 @@ ^build- ^helpers/build-date$ ^helpers/makeline$ +^helpers/mk-flash-script$ ^helpers/srec4ram$ ^helpers/str2ind-ver$ diff -r ba63f14d1e84 -r d4d07c751e56 helpers/Makefile --- a/helpers/Makefile Fri Aug 04 00:09:09 2017 +0000 +++ b/helpers/Makefile Fri Aug 04 06:54:12 2017 +0000 @@ -1,6 +1,6 @@ CC= gcc CFLAGS= -O2 -PROGS= build-date makeline srec4ram str2ind-ver +PROGS= build-date makeline mk-flash-script srec4ram str2ind-ver all: ${PROGS} @@ -10,6 +10,9 @@ makeline: makeline.c ${CC} ${CFLAGS} -o $@ $@.c +mk-flash-script: mk-flash-script.c + ${CC} ${CFLAGS} -o $@ $@.c + srec4ram: srec4ram.c ${CC} ${CFLAGS} -o $@ $@.c diff -r ba63f14d1e84 -r d4d07c751e56 helpers/mk-flash-script.c --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/helpers/mk-flash-script.c Fri Aug 04 06:54:12 2017 +0000 @@ -0,0 +1,39 @@ +/* + * This helper program generates the fc-loadtool command script + * for flashing the just-built firmware image. + */ + +#include +#include +#include +#include +#include + +main(argc, argv) + char **argv; +{ + struct stat st; + u_long image_size, sector_size; + + if (argc != 4) { + fprintf(stderr, + "usage: %s fwimage.bin flash-base flash-sector-size\n", + argv[0]); + exit(1); + } + if (stat(argv[1], &st) < 0) { + perror(argv[1]); + exit(1); + } + if (!S_ISREG(st.st_mode)) { + fprintf(stderr, "error: %s is not a regular file\n", argv[1]); + exit(1); + } + image_size = st.st_size; + sector_size = strtoul(argv[3], 0, 16); + image_size += sector_size - 1; + image_size &= ~(sector_size - 1); + printf("flash erase %s 0x%lx\n", argv[2], image_size); + printf("flash program-bin %s %s\n", argv[2], argv[1]); + exit(0); +}