FreeCalypso > hg > fc-tourmaline
annotate doc/Blob-status @ 280:82665effff30
keypad boot init overhaul: handle initially held-down keys
This change fixes two previous behavioural defects:
1) On Compal phones, the PWR key had to be released before the boot
sequence would proceed at all - it was stuck in an endless IRQ loop
at the point of Nucleus enabling interrupts, before anything else.
2) On both Compal and sane platforms including Luna, if some regular
non-PWR key was held down at boot time, the boot sequence would
proceed and complete normally, but all non-PWR keypad buttons would
be dead for the remainder of that boot cycle.
The fix is a generic solution - no Compal-specific hack ended up being
needed for the special case of their idiotic PWON-to-ROW4 hw wiring.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Fri, 24 Sep 2021 00:47:12 +0000 |
parents | a62e5bf88434 |
children |
rev | line source |
---|---|
50
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 State of blobs in FreeCalypso firmware |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 ====================================== |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 FC Tourmaline is almost completely deblobbed. Only the following very small |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 components exist in the form of blobs (prebuilt binary objects for which we |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 have no exact corresponding source) in the standard Tourmaline build: |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 * OSL and OSX glue components of GPF: 14992 bytes of code |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 * TMS470 compiler's RTS library (libc/libgcc equivalent): 13152 bytes of code |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 For OSL and OSX we do have reconstructed C code written based on disassembly of |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 the blobs, but I (Mother Mychaela) do not consider the current state of this C |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 reconstruction to be fit for production use - hence standard Tourmaline fw |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 builds use blob versions of these components. However, our configuration and |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 build system gives you the freedom to select which version of each component |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 you would rather use; the selection is made with Bourne shell config variables |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 on the configure.sh invokation line: |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 OSL=0 use the blob version of OSL |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 OSL=1 use the reconstructed C version of OSL |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 OSX=0 use the blob version of OSX |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 OSX=1 use the reconstructed C version of OSX |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 The current default is OSL=0 and OSX=0. |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 RTS library |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 =========== |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 We do have source code for some versions of the TMS470 compiler's RTS library, |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 but they may not be exactly corresponding to the blob version from TCS211 which |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 we are using. This area is deemed to be such a low priority that no real |
a62e5bf88434
first round of documentation
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 investigation has been done yet. |