599
|
1 |
Zephyr/Cedar BUILDROM
|
|
2 |
2003/09/03
|
|
3 |
|
|
4 |
BUILDROM has been extended to support the building of 'mostly-thumb' ROMs and mixed ROMs.
|
|
5 |
|
|
6 |
1. Mostly Thumb ROMs.
|
|
7 |
|
|
8 |
In Cedar for Zephyr BUILDROM supports the following macros for
|
|
9 |
specifying which build to construct the ROM from:
|
|
10 |
_ARM4 - The ARM4 build (eventually this will be removed)
|
|
11 |
_ARM4T - The 'mostly-thumb' ARM4T.
|
|
12 |
|
|
13 |
2. Mixed ROMs
|
|
14 |
|
|
15 |
Mixed ROMs have a kernel built for a different ABI than that targeted
|
|
16 |
by user-side code. In practice this means an EABI kernel and GCC98r2
|
|
17 |
user-side code. By default BUILDROM use the same ABI for the kernel as
|
|
18 |
specified for user-side code (i.e. one of ARM4 or ARM4T). The default
|
|
19 |
kernel ABI can be overriden by supplying the appropriate value for
|
|
20 |
_KABI in BUILDROM's commandline e.g. -D_KABI=ARMV5.
|
|
21 |
|
|
22 |
The following example builds a 'mostly thumb' techview ROM with an
|
|
23 |
EABI kernel compiled specifically for XScale:
|
|
24 |
|
|
25 |
buildrom lubbock -D_ARM4T -D_KABI=XSCALE -o\epoc32\techview.arm4t.xscale.img \epoc32\rom\include\techview
|
|
26 |
|
|
27 |
The above example shows that the EABI kernel does not have to be the
|
|
28 |
default ARMV5 build. BUILDROM supports customizations of the default
|
|
29 |
ARMV5 build. It is also worth noting that the XScale build does not
|
|
30 |
have to be complete. If BUILDROM cannot find an XScale file it will
|
|
31 |
look for the equivalent file from the build that has been
|
|
32 |
customized. Currently this will always be ARMV5, since this is the
|
|
33 |
only build that supports customization at this time.
|