FreeCalypso > hg > fc-magnetite
annotate helpers/mk-flash-script.c @ 695:530f71d65c20
uartfax.c: pull from Tourmaline (GTM900 RI output)
In addition to the primary intent of bringing in GTM900 RI output support,
pulling uartfax.c wholesale from Tourmaline also changes the initial_time
argument in the two NU_Create_Timer() calls from 0 to 1. This change
is required for the new version of Nucleus used in Tourmaline and Selenite
(and apparently also used by TI in LoCosto), and it is harmless (no effect)
for the original TCS211 version of Nucleus used in Magnetite.
The new philosophical model being adopted is that Tourmaline is our new
development head firmware, whereas Magnetite will now be maintained
similarly to how Linux maintainers treat stable kernels: changes will be
backported from Tourmaline if they are deemed appropriate for stable
modem firmware.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sat, 24 Oct 2020 17:33:10 +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 } |