sbsv1/abld/doc/zephyr_buildrom_changes.txt
author Mike Kinghan <mikek@symbian.org>
Thu, 25 Nov 2010 13:59:07 +0000
changeset 40 68f68128601f
permissions -rw-r--r--
1) Add the sbsv1 components from sftools/dev/build to make the linux_build package independent of the obsolete buildtools package. 2) Enhance romnibus.pl so that it generate the symbol file for the built rom when invoked by Raptor 3) Make the maksym.pl tool portable for Linux as well as Windows. 4) Remove the of armasm2as.pl from the e32tools component in favour of the copy now exported from sbsv1/e32util.

Zephyr/Cedar BUILDROM
2003/09/03

BUILDROM has been extended to support the building of 'mostly-thumb' ROMs and mixed ROMs.

1. Mostly Thumb ROMs.

In Cedar for Zephyr BUILDROM supports the following macros for
specifying which build to construct the ROM from:
	   _ARM4 - The ARM4 build (eventually this will be removed)
	   _ARM4T - The 'mostly-thumb' ARM4T.

2. Mixed ROMs

Mixed ROMs have a kernel built for a different ABI than that targeted
by user-side code. In practice this means an EABI kernel and GCC98r2
user-side code. By default BUILDROM use the same ABI for the kernel as
specified for user-side code (i.e. one of ARM4 or ARM4T). The default
kernel ABI can be overriden by supplying the appropriate value for
_KABI in BUILDROM's commandline e.g. -D_KABI=ARMV5.

The following example builds a 'mostly thumb' techview ROM with an
EABI kernel compiled specifically for XScale:

     buildrom lubbock -D_ARM4T -D_KABI=XSCALE -o\epoc32\techview.arm4t.xscale.img \epoc32\rom\include\techview

The above example shows that the EABI kernel does not have to be the
default ARMV5 build. BUILDROM supports customizations of the default
ARMV5 build. It is also worth noting that the XScale build does not
have to be complete. If BUILDROM cannot find an XScale file it will
look for the equivalent file from the build that has been
customized. Currently this will always be ARMV5, since this is the
only build that supports customization at this time.