FreeCalypso > hg > freecalypso-tools
annotate doc/Loadtools-performance @ 653:2d5d1ca58b2a
CHANGES: fc-xram binary protocol
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 02 Mar 2020 21:28:34 +0000 |
parents | 8c6e7b7e701c |
children | e66fafeeb377 |
rev | line source |
---|---|
630
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
1 Dumping and programming flash |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
2 ============================= |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
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 |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 entire flash content of a Calypso GSM device: |
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 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
|
8 12m53s |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 The same 4 MiB flash dump at 812500 baud: 1m50s |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 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
|
13 |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 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
|
15 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
|
16 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
|
17 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
|
18 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
|
19 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
|
20 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
|
21 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
|
22 operations are implemented in our architecture. |
c847d742ab38
doc/Loadtools-performance: article started
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
615
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
24 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:
618
diff
changeset
|
25 Mother's Slackware 14.2 host system: |
615
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
26 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
27 Flashing an Openmoko GTA02 modem (K5A3281CTM flash chip) with a new firmware |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
28 image (2376448 bytes), using a PL2303 USB-serial cable at 115200 baud: 7m35s |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
29 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
30 Flashing the same OM GTA02 modem with the same fw image, using a CP2102 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
31 USB-serial cable at 812500 baud: 1m52s |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
32 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
33 Flashing a Magnetite hybrid fw image (2378084 bytes) into an FCDEV3B board |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
34 (S71PL129N flash chip) via an FT2232D adapter at 812500 baud: 2m11s |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
35 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
36 These times are just for the flash program-bin operation, not counting the |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
37 flash erase which must be done first. Flash erase times are determined |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
38 entirely by physical processes inside the flash chip and are not affected by |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
39 software design or the serial link: for each sector to be erased, fc-loadtool |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
40 issues the sector erase command to the flash chip and then polls the chip for |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
41 operation completion status; the polling is done over the serial link and thus |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
42 may seem very slow, but the extra bit of latency added by the finite polling |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
43 speed is still negligible compared to the time of the actual sector erase |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
44 operation inside the flash chip. In contrast, the execution time of a flash |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
45 program-bin operation is a sum of 3 components: |
613
ab4021fb1c66
doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents:
611
diff
changeset
|
46 |
ab4021fb1c66
doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents:
611
diff
changeset
|
47 * 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
|
48 * 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
|
49 target (physics inside the flash chip); |
ab4021fb1c66
doc/Loadtools-performance: flash programming added
Mychaela Falconia <falcon@freecalypso.org>
parents:
611
diff
changeset
|
50 * 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
|
51 |
630
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
52 Programming flash using program-m0 or program-srec |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
53 ================================================== |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
54 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
55 Prior to fc-host-tools-r12 flash programming via flash program-m0 or |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
56 program-srec commands was much slower than flash program-bin. The reason for |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
57 this performance discrepancy was that the original implementation of these |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
58 commands from 2013 was very straightforward: they operated in one pass, reading |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
59 the S-record image file, and as each individual S-record was read, it was turned |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
60 into an AMFW or INFW command to loadagent. In the case of *.m0 files generated |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
61 by TI's hex470 post-linker, each S-record carries 30 bytes of payload, thus the |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
62 flashing operation proceeded in 30-byte units, incurring the overhead of a |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
63 command-response exchange for every 30 bytes. In contrast, our current flash |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
64 program-bin implementation sends 256 bytes of payload per each AMFW or INFW |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
65 command; this larger unit size decreases the overhead of command-response |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
66 exchanges between fc-loadtool and loadagent. |
618
6824c4d55848
doc/Loadtools-performance: program-m0 slowness documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
615
diff
changeset
|
67 |
630
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
68 Why do we need flash program-m0 and program-srec commands at all, why not |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
69 simply convert all SREC images to straight binary first and then program with |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
70 flash program-bin? The reason is that S-record images can contain multiple |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
71 discontiguous program regions with gaps in between. All of our current |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
72 FreeCalypso firmwares built with TI's TMS470 toolchain contain a few small gaps |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
73 in the fwimage.m0 file, filled with 0xFF bytes when converted to straight binary |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
74 with mokosrec2bin, but TI's own firmwares built for 8 MiB flash configurations |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
75 often had much bigger gaps in them. |
618
6824c4d55848
doc/Loadtools-performance: program-m0 slowness documented
Mychaela Falconia <falcon@freecalypso.org>
parents:
615
diff
changeset
|
76 |
630
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
77 As of fc-host-tools-r12 we finally have a more efficient solution for flashing |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
78 discontiguous SREC images: our new implementation of flash program-m0 and |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
79 program-srec commands begins with a preliminary pass (pure host operation, no |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
80 target interaction) of reading the S-record image file; the payload bits are |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
81 written into a temporary binary file (automatically deleted afterward), while |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
82 the address and length of each discontiguous region are remembered internally. |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
83 Then the actual flash programming operation proceeds just like program-bin, |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
84 reading from the internal binary file and sending 256 bytes of payload at a time |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
85 to loadagent, but using the remembered knowledge of where the discontiguous |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
86 regions lie. |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
87 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
88 XRAM loading via fc-xram |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
89 ======================== |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
90 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
91 Our current fc-xram implementation is similar to the old 2013 implementation of |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
92 flash program-m0 and program-srec commands in that fc-xram sends a separate ML |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
93 command to loadagent for each S-record, thus the total XRAM image loading time |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
94 is not only the serial bit transfer time, but also the overhead of command- |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
95 response exchanges between fc-xram and loadagent. The flash programming times |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
96 listed above include flashing an FC Magnetite fw image into an FCDEV3B, which |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
97 took 2m11s; doing an fc-xram load of the same FC Magnetite fw image (built as |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
98 ramimage.srec) into the same FCDEV3B via the same FT2232D adapter at 812500 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
99 baud takes 2m54s. |
615
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
100 |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
101 Why does XRAM loading take longer than flashing? Shouldn't it be faster because |
39b74c39d914
doc/Loadtools-performance: complete for now
Mychaela Falconia <falcon@freecalypso.org>
parents:
613
diff
changeset
|
102 the flash programming step on the target is replaced with a simple memcpy()? |
630
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
103 Answer: fc-xram is currently slower than flash program operations because the |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
104 latter send 256 bytes at a time to loadagent, whereas fc-xram sends one |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
105 S-record at a time; the division of the image into S-records is determined by |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
106 the tool that generates the SREC image, but TI's hex470 post-linker generates |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
107 images with 30 bytes of payload per S-record. Having the operation proceed in |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
108 smaller chunks increases the overhead of command-response exchanges and thus |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
109 increases the overall time. |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
110 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
111 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:
618
diff
changeset
|
112 ========================================================================== |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
113 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
114 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:
618
diff
changeset
|
115 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:
618
diff
changeset
|
116 additional complication: a change was made to the ftdi_sio driver in the Linux |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
117 kernel that makes many loadtools operations (basically everything other than |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
118 flash dumps which are entirely target-driven) unbearably slow (much slower than |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
119 the Slackware 14.2 reference times given above) unless you execute a special |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
120 setserial command first. After you plug in your FTDI-based USB-serial cable or |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
121 connect the USB cable between your PC or laptop and your FTDI adapter board, |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
122 causing the corresponding ttyUSBx device to appear, execute the following |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
123 command: |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
124 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
125 setserial /dev/ttyUSBx low_latency |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
126 |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
127 (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:
618
diff
changeset
|
128 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:
618
diff
changeset
|
129 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:
618
diff
changeset
|
130 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:
618
diff
changeset
|
131 OS that can be categorized as "modern" - but field reports of performance on |
8c6e7b7e701c
doc/Loadtools-performance: updates for new program-m0 and setserial
Mychaela Falconia <falcon@freecalypso.org>
parents:
618
diff
changeset
|
132 non-Slackware systems running newer Linux kernels (4.11 or later) are welcome. |