FreeCalypso > hg > fc-magnetite
annotate helpers/mk-flash-script.c @ 275:6d506d5362ff
configs/l1reconst: switched to the reconstructed init.c
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 06 Aug 2017 19:19:21 +0000 | 
| parents | d4d07c751e56 | 
| children | 
| rev | line source | 
|---|---|
| 257 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 * This helper program generates the fc-loadtool command script | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 * for flashing the just-built firmware image. | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 */ | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 #include <sys/types.h> | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 #include <sys/stat.h> | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 #include <stdio.h> | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 #include <stdlib.h> | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 #include <unistd.h> | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 main(argc, argv) | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 char **argv; | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 { | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 struct stat st; | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 u_long image_size, sector_size; | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 if (argc != 4) { | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 fprintf(stderr, | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 "usage: %s fwimage.bin flash-base flash-sector-size\n", | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 argv[0]); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 exit(1); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 } | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 if (stat(argv[1], &st) < 0) { | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 perror(argv[1]); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 exit(1); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 } | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 if (!S_ISREG(st.st_mode)) { | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 fprintf(stderr, "error: %s is not a regular file\n", argv[1]); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 exit(1); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 } | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 image_size = st.st_size; | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 sector_size = strtoul(argv[3], 0, 16); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 image_size += sector_size - 1; | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 image_size &= ~(sector_size - 1); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 printf("flash erase %s 0x%lx\n", argv[2], image_size); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 printf("flash program-bin %s %s\n", argv[2], argv[1]); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 exit(0); | 
| 
d4d07c751e56
helpers: mk-flash-script helper program written
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 } | 
