FreeCalypso > hg > freecalypso-tools
annotate doc/Flash-boot-wa @ 637:fa8e197a1d9b
CHANGES: first change since fc-host-tools-r12
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 01 Mar 2020 05:51:45 +0000 | 
| parents | efb93f3e4ac7 | 
| children | 
| rev | line source | 
|---|---|
| 462 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 There is a tiny (120 bytes SREC file) program called flash-boot-wa that was | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 written in the spring of 2017 for the purpose of working around a problem that | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 happened on only one first-batch FCDEV3B board and never happened on any other | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 board - but Murphy's law had it that this one troubled board just had to be the | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 one on which my (Mother Mychaela's) very initial development and bring-up work | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 was done. | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 The defect exhibited on that one board was as follows: it had no problem booting | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 serially (fc-iram, fc-loadtool, fc-xram) and it had no problem booting from | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 flash in mode 0 (see the Flash-boot-modes article in the freecalypso-docs | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 repository), but booting from flash in mode 1 (the flash boot mode used by | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 FC Magnetite, which is our primary firmware) was troubled. The exact failure | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 mode and the root cause were never solved, but the issue most likely involved | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 the watchdog reset in some way (it occurs as part of flash boot mode 1 but not | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 in mode 0 and not in serial downloading), and because Calypso's FDP output goes | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 low during watchdog reset (or at least TI's CAL000 document says so), it is | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 plausible that the root cause involved the Spansion flash chip getting unhappy | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 as a result of being jerked with extra resets which don't meet its reset timing | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 requirements. | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 Our new FCDEV3B V2 boards no longer use Calypso's FDP output (it is left | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 unconnected) and feature a new flash reset circuit of our own design that meets | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 the reset timing requirements of our Spansion flash chip, hence the flash boot | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 problem seen on that one FCDEV3B S/N 001 board is not expected to recur on any | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 of our current or future boards. However, our little flash-boot-wa program is | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 kept around: removing a previously-released 120-byte program for no good reason | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 is not the way of FOSS. | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 This flash-boot-wa program is loaded serially via fc-iram; it disables the boot | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 ROM and jumps to address 0 (the opposite of what we do in compalstage for Mot | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 C1xx phones), thereby indirectly booting the made-for-boot-mode-1 firmware image | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 in the flash. The intended usage was as follows: | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 fc-iram -h fcfam /dev/ttyXXX /opt/freecalypso/target-bin/flash-boot-wa.srec rvinterf | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 It is also worth noting that fc-iram has been extended to support second program | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 invokation just like fc-xram (used in the invokation line above) just for this | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 peculiar use case. The flash-boot-wa.srec helper can also be booted via | 
| 
efb93f3e4ac7
doc/Flash-boot-wa: explanatory article added
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 fc-xram. | 
