sbsv1_os/e32toolp/docs/zephyr_buildrom_changes.txt
author Ross Qin <ross.qin@nokia.com>
Thu, 30 Sep 2010 14:38:30 +0800
branchRCL_3
changeset 16 22bdd8a90cc4
permissions -rw-r--r--
synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
16
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     1
Zephyr/Cedar BUILDROM
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     2
2003/09/03
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     3
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     4
BUILDROM has been extended to support the building of 'mostly-thumb' ROMs and mixed ROMs.
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     5
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     6
1. Mostly Thumb ROMs.
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     7
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     8
In Cedar for Zephyr BUILDROM supports the following macros for
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
     9
specifying which build to construct the ROM from:
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    10
	   _ARM4 - The ARM4 build (eventually this will be removed)
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    11
	   _ARM4T - The 'mostly-thumb' ARM4T.
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    12
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    13
2. Mixed ROMs
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    14
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    15
Mixed ROMs have a kernel built for a different ABI than that targeted
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    16
by user-side code. In practice this means an EABI kernel and GCC98r2
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    17
user-side code. By default BUILDROM use the same ABI for the kernel as
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    18
specified for user-side code (i.e. one of ARM4 or ARM4T). The default
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    19
kernel ABI can be overriden by supplying the appropriate value for
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    20
_KABI in BUILDROM's commandline e.g. -D_KABI=ARMV5.
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    21
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    22
The following example builds a 'mostly thumb' techview ROM with an
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    23
EABI kernel compiled specifically for XScale:
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    24
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    25
     buildrom lubbock -D_ARM4T -D_KABI=XSCALE -o\epoc32\techview.arm4t.xscale.img \epoc32\rom\include\techview
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    26
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    27
The above example shows that the EABI kernel does not have to be the
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    28
default ARMV5 build. BUILDROM supports customizations of the default
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    29
ARMV5 build. It is also worth noting that the XScale build does not
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    30
have to be complete. If BUILDROM cannot find an XScale file it will
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    31
look for the equivalent file from the build that has been
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    32
customized. Currently this will always be ARMV5, since this is the
22bdd8a90cc4 synchronize from nokia internal Synergy depository buildtools/92, including fix to bugs 151,468,2049,1371,325,2539, etc.
Ross Qin <ross.qin@nokia.com>
parents:
diff changeset
    33
only build that supports customization at this time.