FreeCalypso > hg > fc-selenite
annotate doc/Developer-notes @ 195:2863e5e4af4f
sim.c: speed enhancement change from Magnetite
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 24 May 2020 19:34:29 +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. |