FreeCalypso > hg > fc-magnetite
annotate doc/Flash-boot-mode-hack @ 469:2ce0f8b191be
romvecs-patch/mkromvecs.sh: generation of patched images
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sun, 25 Mar 2018 05:44:38 +0000 | 
| parents | 63c12cba5ed5 | 
| children | 
| rev | line source | 
|---|---|
| 241 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 There are two ways in which a flashed firmware image may be booted, which we | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 call mode 0 and mode 1 - see the Flash-boot-modes write-up in the | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 freecalypso-tools repository for the details. All TI official firmwares | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 including our TCS211 reference version have used flash boot mode 1, and the | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 present Magnetite firmware is unchanged in this regard. | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 Some FCDEV3B boards have a non-understood hardware problem that causes flash | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 boot to fail (the visible symptom is a dead hang with even JTAG not working) | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 when the firmware image in flash uses boot mode 1. It is not currently known | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 how many boards are affected by this problem; it is possible that the Mother's | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 S/N 001 board is the only one that exhibits this oddity. | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 Once the discovery was made that the flash boot problem occurs only when the fw | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 image uses flash boot mode 1, a workaround became apparent: switch to using | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 flash boot mode 0. Redesigning Magnetite fw to use interrupt and exception | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 vectors in the ROM branching to 0x80001C-0x800034 in IRAM is not in line with | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 the Mother's vision, but a surgical hack to make the Magnetite fw flash image | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 receive control from the boot ROM in mode 0, disable the boot ROM via the | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 FFFF:FB10 register and jump to 0 as if in mode 1 is quite doable, and it | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 accomplishes the job of producing a flash image of FC Magnetite that boots | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 without a hitch on the flash-boot-challenged FCDEV3B. | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 The standard FC Magnetite build is unchanged and unaffected, i.e., the hack in | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 question is NOT applied by default. However, if you have a board that has | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 trouble booting the regular Magnetite fwimage.bin that uses flash boot mode 1, | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 you can run 'make fwimage.mode0' in your build directory to get an image patched | 
| 
63c12cba5ed5
implemented optional workaround for the flash boot problem on FCDEV3B
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 with the flash boot mode 0 hack. | 
