sbsv1/abld/doc/zephyr_buildrom_changes.txt
changeset 629 541af5ee3ed9
parent 599 fa7a3cc6effd
equal deleted inserted replaced
628:7c4a911dc066 629:541af5ee3ed9
       
     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.