FreeCalypso > hg > fc-magnetite
annotate doc/Flash-boot-mode-hack @ 450:395e464e4005
Compal & Pirelli targets: APCOFF register setting
changed to match what the respective original firmwares set
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Mon, 05 Mar 2018 04:01:30 +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. |