FreeCalypso > hg > freecalypso-tools
annotate doc/Loadtools-performance @ 896:0a2f50c571de
CHANGES: fc-buzplay basic 'play' command extension
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 03 Apr 2022 08:41:34 +0000 | 
| parents | 4a1f0bbca58e | 
| children | 
| rev | line source | 
|---|---|
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 1 Memory dump performance | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 2 ======================= | 
| 630 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 3 | 
| 611 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 Here are the expected run times for the flash dump2bin operation of dumping the | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 5 entire flash content of a Calypso GSM device with the current version of | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 6 fc-loadtool which uses the new binary transfer protocol: | 
| 611 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 Dump of 4 MiB flash (e.g., Openmoko GTA01/02 or Mot C139/140) at 115200 baud: | 
| 693 
4a1f0bbca58e
doc/Loadtools-performance: two digits for seconds
 Mychaela Falconia <falcon@freecalypso.org> parents: 
681diff
changeset | 9 6m04s | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 10 | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 11 The same 4 MiB flash dump at 812500 baud: 0m52s | 
| 611 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 13 Dump of 8 MiB flash (e.g., Mot C155/156) at 812500 baud: 1m44s | 
| 611 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 15 These times are a 2x improvement compared to all previous versions of | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 16 fc-loadtool (prior to fc-host-tools-r13) which used a hex-based transfer | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 17 protocol. | 
| 611 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | 
| 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 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 | 20 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 | 21 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 | 22 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 | 23 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 | 24 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 | 25 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 | 26 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 | 27 operations are implemented in our architecture. | 
| 
c847d742ab38
doc/Loadtools-performance: article started
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 29 Flash programming operations | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 30 ============================ | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 31 | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 32 Here are some examples of expected flash programming times, all obtained on the | 
| 630 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 33 Mother's Slackware 14.2 host system: | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 34 | 
| 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 35 Flashing an Openmoko GTA02 modem (K5A3281CTM flash chip) with a new firmware | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 36 image (2376448 bytes), using a PL2303 USB-serial cable at 115200 baud: 0m19s to | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 37 erase 37 sectors, 3m45s to program the image. | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 38 | 
| 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 39 Flashing the same OM GTA02 modem with the same fw image, using a CP2102 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 40 USB-serial cable at 812500 baud: 0m19s to erase, 0m51s to program. | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 41 | 
| 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 42 Flashing a Magnetite hybrid fw image (2378084 bytes) into an FCDEV3B board | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 43 (S71PL129N flash chip) via an FT2232D adapter at 812500 baud: 0m24s to erase | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 44 13 sectors (4 small and 9 large), 1m27s to program the image. | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 45 | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 46 Regardless of whether you execute these two steps separately or use one of our | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 47 new flash e-program-{bin,m0,srec} commands, flash programming is always done in | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 48 two steps: first the erase operation covering the needed range of sectors, then | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 49 the actual programming operation that includes the data transfer. | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 50 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 51 Flash erase times are determined entirely by physical processes inside the | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 52 flash chip and thus should not be affected by software design or the serial | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 53 link: for each sector to be erased, fc-loadtool issues the sector erase command | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 54 to the flash chip and then polls the chip for operation completion status; the | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 55 polling is done over the serial link and thus may seem very slow, but the extra | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 56 bit of latency added by the finite polling speed is still negligible (at least | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 57 on the Mother's Slackware system) compared to the time of the actual sector | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 58 erase operation inside the flash chip. One remaining flaw is that in our | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 59 current implementation the issuance of each individual sector erase command to | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 60 the flash chip takes 6 command-response exchanges between fc-loadtool and | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 61 loadagent; on my Slackware host system this extra overhead is still negligible | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 62 compared to the 0.5s or more for the actual erase operation time, but this | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 63 overhead may become more significant on host systems with higher latency. | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 64 | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 65 After the erase operation, the execution time of the main flash programming | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 66 operation is a sum of 3 components: | 
| 613 
ab4021fb1c66
doc/Loadtools-performance: flash programming added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
611diff
changeset | 67 | 
| 
ab4021fb1c66
doc/Loadtools-performance: flash programming added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
611diff
changeset | 68 * 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: 
611diff
changeset | 69 * 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: 
611diff
changeset | 70 target (physics inside the flash chip); | 
| 
ab4021fb1c66
doc/Loadtools-performance: flash programming added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
611diff
changeset | 71 * The overhead of command-response exchanges between fc-loadtool and loadagent. | 
| 
ab4021fb1c66
doc/Loadtools-performance: flash programming added
 Mychaela Falconia <falcon@freecalypso.org> parents: 
611diff
changeset | 72 | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 73 Because image data transfer is taking place in this step, flash programming at | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 74 812500 baud is faster than 115200 baud, although it is not the same 7x | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 75 improvement as happens with flash dumps. The present version of fc-loadtool | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 76 also uses a new binary transfer protocol instead of the hex-based one used in | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 77 previous versions (prior to fc-host-tools-r13); this change produces a 2x | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 78 improvement for OM GTA02 flashing, but only a smaller improvement for FCDEV3B | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 79 flashing. | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 80 | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 81 Notice the difference in flash programming times between GTA02 and FCDEV3B: the | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 82 fw image size is almost exactly the same, any difference in latency between | 
| 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 83 CP2102 and FT2232D is less likely to produce such significant time difference | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 84 given our current 2048 byte transfer block size (in fact fc-xram transfer times | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 85 suggest that FT2232D is faster), thus the difference in physical flash program | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 86 operation times between K5A3281CTM and S71PL129N flash chips seems to be the | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 87 most likely explanation. | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 88 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 89 It also needs to be noted that in the current version of fc-loadtool there is | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 90 no difference in performance between flash program-bin, program-m0 and | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 91 program-srec operations: they all use the same binary protocol with 2048 byte | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 92 transfer block size. There is no coupling between source S-records and flash | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 93 programming operation blocks (2048-byte units) in the case of flash program-m0 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 94 and program-srec: the new implementation of these commands prereads the entire | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 95 S-record image as a separate preparatory step on the host side, the bits to be | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 96 programmed are saved in a temporary binary file (automatically deleted | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 97 afterward), and the actual flash programming operation proceeds from this | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 98 internal binary source - but it knows about any discontiguous program regions | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 99 and skips the gaps properly. | 
| 671 
e66fafeeb377
doc/Loadtools-performance: new faster flash operations
 Mychaela Falconia <falcon@freecalypso.org> parents: 
630diff
changeset | 100 | 
| 630 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 101 XRAM loading via fc-xram | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 102 ======================== | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 103 | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 104 The new version of fc-xram as of fc-host-tools-r13 is dramatically faster than | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 105 the original implementation from 2013, using a new binary transfer protocol. | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 106 The speed increase comes from not only switching from hex to binary, but even | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 107 more so from eliminating the command-response turnaround time on every S3 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 108 record. The new XRAM loading times obtained on the Mother's Slackware 14.2 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 109 host system are: | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 110 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 111 Pirelli DP-L10 with built-in CP2102 USB-serial chip, 812500 baud, loading | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 112 hybrid-vpm fw build, 49969 S3 records: 0m27s | 
| 615 
39b74c39d914
doc/Loadtools-performance: complete for now
 Mychaela Falconia <falcon@freecalypso.org> parents: 
613diff
changeset | 113 | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 114 FCDEV3B interfaced via FT2232D adapter, 812500 baud, loading hybrid fw build, | 
| 681 
0815661d6e3e
doc/Loadtools-performance: typo fix
 Mychaela Falconia <falcon@freecalypso.org> parents: 
680diff
changeset | 115 78875 S3 records: 0m35s | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 116 | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 117 With the previous version of fc-xram these two loads took 1m40s and 2m54s, | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 118 respectively. With the current version of loadtools XRAM loading is faster | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 119 than flash programming for the same fw image as one would naturally expect (the | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 120 flash programming step on the target is replaced with a simple memcpy() | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 121 operation), but in the previous version XRAM loading was slower because of | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 122 massive command-response exchange overhead: there was a command-response | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 123 turnaround time incurred for every S3 record, typically carrying only 30 bytes | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 124 of payload. | 
| 630 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 125 | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 126 Additional complication with FTDI adapters and newer Linux kernel versions | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 127 ========================================================================== | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 128 | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 129 If you are using an FTDI adapter and a Linux kernel version newer than early | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 130 2017 (the change was introduced between 4.10 and 4.11), then you have one | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 131 additional complication: a change was made to the ftdi_sio driver in the Linux | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 132 kernel that made many loadtools operations (basically everything other than | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 133 flash dumps which are entirely target-driven) unbearably slow, at least with | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 134 previous versions of loadtools that made many more command-response exchanges | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 135 with loadagent for smaller transfer units and thus were much more sensitive to | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 136 host system latency on these exchanges. We do not yet know if this FTDI | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 137 latency timer issue still has a significant negative impact or not with current | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 138 loadtools, but if it does, the solution is to run a special setserial command. | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 139 After you plug in your FTDI-based USB-serial cable or connect the USB cable | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 140 between your PC or laptop and your FTDI adapter board, causing the | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 141 corresponding ttyUSBx device to appear, execute the following command: | 
| 630 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 142 | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 143 setserial /dev/ttyUSBx low_latency | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 144 | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 145 (Obviously change ttyUSBx to your actual ttyUSB number.) Execute this | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 146 setserial command before running fc-loadtool or fc-xram, and then hopefully you | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 147 should get performance that is comparable to what I get on classic Slackware. | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 148 I say "hopefully" because I am not able to test it myself - I refuse to run any | 
| 
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
 Mychaela Falconia <falcon@freecalypso.org> parents: 
618diff
changeset | 149 OS that can be categorized as "modern" - but field reports of performance on | 
| 680 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 150 non-Slackware systems running newer Linux kernels (4.11 or later) are welcome, | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 151 both with and without the low_latency setting. Please be sure to include your | 
| 
89ed8b374bc0
doc/Loadtools-performance: finished updates for fc-host-tools-r13
 Mychaela Falconia <falcon@freecalypso.org> parents: 
678diff
changeset | 152 Linux kernel version and your USB-serial adapter type in your report! | 
