FreeCalypso > hg > fc-selenite
annotate doc/Developer-notes @ 134:7d50d8d13711
FFS code sync with Magnetite + gcc version fix
This change brings the new flash autodetection for FC and Pirelli targets
from Magnetite, and should also fix the gcc version for C1xx and gtamodem
targets, which were previously broken because they used TI's original
flash autodetect code (which operates at address 0) while the boot ROM
is mapped there.
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Tue, 11 Dec 2018 08:43:25 +0000 |
parents | 3055bcff8050 |
children |
rev | line source |
---|---|
129
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 The present article is a Selenite-specific addendum to the TCS211-fw-arch |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 document in the freecalypso-docs repository; the latter document needs to be |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 read first before this one. Also because FC Selenite is derived from FC |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 Magnetite, you should also read the Developer-notes document in the fc-magnetite |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 source repository before the present one. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 Source tree layout |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 ================== |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 The principal difference between Magnetite and Selenite in terms of the source |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 tree layout is that Magnetite supports building two different code base variants |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 (either pure TCS211 with G23M PS blobs or our FreeCalypso signature TCS2/TCS3 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 hybrid), whereas Selenite only supports the hybrid code base. Dropping support |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 for the non-hybrid version is necessary in order to have a saner code base for |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 new forward developments such as the compiler migration to gcc (the objective |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 of FC Selenite) or the future planned UI development work which will be done in |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 yet another to-be-created source tree after we build the necessary hardware. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 The source tree change is the elimination of parallel versions: in Magnetite we |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20 have to maintain two parallel versions for many firmware components, whereas in |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 Selenite there is only one version, the one corresponding to our FreeCalypso |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22 signature TCS2/TCS3 hybrid explained in the TCS211-fw-arch document. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24 The directories under src/ are now as follows: |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26 condat |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28 This subtree is the amalgamation of condat2 and condat3 from Magnetite, |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 hybridized as detailed in the TCS211-fw-arch document. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 cs |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 This subtree is an import of chipsetsw from TCS211, plus our own |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34 reconstruction of those parts of TCS211 chipsetsw which were censored |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 out in our starting copy: src/cs/layer1, src/cs/system/main and the |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36 src/cs/system/bootloader/src stub. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 This subtree is kept in sync with Magnetite as much as possible; the |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 diffs from Magnetite are to support gcc and the new version of Nucleus. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 g23m-aci |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 g23m-fad |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 g23m-gprs |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 g23m-gsm |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 These directories contain the new TCS3 version of the G23M PS+ACI code |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 realm for our blob-free hybrid. The directory layout comes directly |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 from our TCS3.2 source from Peek/FGW: TI previously kept all G23M code |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 under g23m/condat/ms/src, but then they moved to these new g23m-* |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 directories which I (Mother Mychaela) like for their shortness, so we |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 enthusiastically kept the new directory layout. Only two pieces still |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 resided under g23m/condat/ms/src in our TCS3.2 source: ati_ext and upm, |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53 which we moved into g23m-aci and g23m-gprs, respectively, where they |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 properly belong. Just like in Magnetite, our TCS2/TCS3 hybrid uses the |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 TCS2 version of ALR; in Selenite it has been moved to g23m-gsm/alr2. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 These directories are kept in sync with Magnetite as much as possible; |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 the diffs from Magnetite are fixes (band-aids in some cases) to pass |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 compilation with gcc. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 gpf |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 This subtree is the amalgamation of gpf2 and gpf3 from Magnetite; see |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 TCS211-fw-arch for the explanation of how our version of GPF has been |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 reconstructed from the surviving bits and pieces. One additional change |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 is that the old Nucleus header files have been moved out of the way so |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 that we always use the new Nucleus headers without ambiguity or |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 conflict. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 libsys |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 This library is specific to the gcc-built configuration. We use newlib |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 that is built as part of our gcc toolchain (see Toolchain-setup-gcc) as |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 our libc implementation for the most part, but for a few functions we |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 are not able to use newlib's implementation because it uses malloc or |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 depends on a Unix syscall environment which we don't have; libsys |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 provides our own replacements for these few libc functions. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 nucleus |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 We use a non-TI-sourced version of Nucleus from Comrade XVilka; because |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82 it does not come from any of our TI-sourced components, it gets its own |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 top-level source directory. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85 Assembly code pieces |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 ==================== |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 Like any other software that runs on the bare metal as opposed to an application |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 under some high-level OS like Linux, our FreeCalypso GSM fw necessarily includes |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 some assembly code pieces in addition to the main body of C code. The |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 differences between TI's TMS470 and GNU ARM environments and ABIs are great, |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 hence entirely different versions of all assembly code pieces and linker script |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 magic are needed between the two. For the TMS470 compiler environment all |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 assembly code pieces and linker scripts are essentially unchanged from TI's |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 TCS211, whereas for the gcc version all assembly code is entirely new. This |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 assembly code and other support pieces that are specific to the gcc environment |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 (see libsys above) originate from our first attempts at gcc-built GSM fw from |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 the 2013-2015 timeframe. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 The use of two entirely independent assembly code implementations between the |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 two compiler environments gives rise to some minor architectural differences: |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 the new gcc version takes the approach of routing interrupts and exceptions |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103 through the Calypso internal ROM (on all targets in both flashed and RAM-loaded |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 builds) and uses flash boot mode 0 instead of flash boot mode 1 on the sensible |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 non-Compal targets. Both of these design decisions require that the Calypso |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 chip version be one of the new ones with boot ROM version 0300 (the one with |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 all of the earlier bugs fixed); this requirement poses no problem for our own |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 FreeCalypso hw and for the use case of running FreeCalypso fw on the historical |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 hw from Motorola, Openmoko and Pirelli, but if anyone besides the Mother has an |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 ancient D-Sample or Leonardo board with a Calypso C05 chip on it, those boards |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 cannot run Selenite-gcc. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 Configuration and build system |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 ============================== |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 The configuration and build system of FC Selenite is based on that of Magnetite; |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 please read the Developer-notes document in the fc-magnetite source repository. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119 The first difference from Magnetite is that Selenite does not have overall fw |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 configuration recipes like Magnetite has in configs/* - instead the recipe for |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121 the hybrid modem configuration (the only config in the Magnetite sense that is |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 supported in Selenite) has been incorporated into the new configure-gcc.sh |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 and configure-tms470.sh scripts. The selection of which components will be |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 included or excluded is driven by GPRS, SRVC and FCHG_STATE config variables - |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 these config vars exist in Magnetite too, but in Selenite they can be set by |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126 the user on the configure command line. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 The individual component build recipes in components/* are similar between |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 Magnetite and Selenite, but the following aspects are different: |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 * There are no component variants: for each given foo.lib (TMS470) or foo.a |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 (gcc) firmware component, there is only one components/foo recipe. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 * Except for a few gcc-specific components and one TMS470-specific component |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 (the empty bootloader stub, see TCS211-fw-arch), every components/foo recipe |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 has to work for both TMS470 and gcc environments. The CFLAGS Bourne shell |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 variable is for TI's cl470 compiler, CFLAGS_gcc is for gcc, and CPPFLAGS are |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 common for both. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 * The shell function call for compiling C source files is c_file, replacing |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 Magnetite's cfile_plain and cfile_str2ind - there is no support for str2ind |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 in Selenite. |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 Because there is no hybrid vs. classic TCS211 dichotomy in Selenite, there are |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 no more header file selection shell variables - see the ex script in |
3055bcff8050
doc/Developer-notes written
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 scripts/convert-from-magnetite.ex for the idea. |