annotate doc/Loadtools-performance @ 613:ab4021fb1c66

doc/Loadtools-performance: flash programming added
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 24 Feb 2020 22:30:00 +0000
parents c847d742ab38
children 39b74c39d914
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
611
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
1 Here are the expected run times for the flash dump2bin operation of dumping the
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
2 entire flash content of a Calypso GSM device:
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
3
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
4 Dump of 4 MiB flash (e.g., Openmoko GTA01/02 or Mot C139/140) at 115200 baud:
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
5 12m53s
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
6
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
7 The same 4 MiB flash dump at 812500 baud: 1m50s
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
8
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
9 Dump of 8 MiB flash (e.g., Mot C155/156) at 812500 baud: 3m40s
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
10
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
11 Because of the architecture of fc-loadtool and its loadagent back-end, the run
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
12 time of a flash dump operation depends only on the serial baud rate and the
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
13 size of the flash area to be dumped; it should not depend on the USB-serial
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
14 adapter type or any host system properties, as long as the host system and
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
15 serial adapter combination supports the desired baud rate. In contrast, flash
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
16 programming and fc-xram loading operations are quite different in that their
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
17 run times do depend on the host system and USB-serial adapter or other serial
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
18 port hardware - this host system dependency exists because of the way these
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
19 operations are implemented in our architecture.
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
20
613
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
21 Here is one example of expected flash programming time: flashing a FreeCalypso
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
22 Magnetite hybrid fw image (2378084 bytes) into an FCDEV3B board (S71PL129N
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
23 flash chip) via an FT2232D adapter at 812500 baud takes 2m11s on the Mother's
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
24 Slackware 14.2 system. This time is just for the flash program-bin operation,
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
25 not counting the flash erase which must be done first. Flash erase times are
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
26 determined entirely by physical processes inside the flash chip and are not
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
27 affected by software design or the serial link: for each sector to be erased,
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
28 fc-loadtool issues the sector erase command to the flash chip and then polls
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
29 the chip for operation completion status; the polling is done over the serial
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
30 link and thus may seem very slow, but the extra bit of latency added by the
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
31 finite polling speed is still negligible compared to the time of the actual
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
32 sector erase operation inside the flash chip. In contrast, the execution time
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
33 of a flash program-bin operation is a sum of 3 components:
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
34
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
35 * The time it takes for the bits to be transferred over the serial link;
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
36 * The time it takes for the flash programming operation to complete on the
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
37 target (physics inside the flash chip);
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
38 * The overhead of command-response exchanges between fc-loadtool and loadagent.
ab4021fb1c66 doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents: 611
diff changeset
39
611
c847d742ab38 doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff changeset
40 [To be continued]