A NOR flash allows the ROM image binaries to be eXecuted In Place (XIP),
thereby enabling the ROM image to be programmed onto the NOR flash. The
configuration of the ROM image depends on the various keywords specified in the
ROM OBY file, on which the ROMBUILD utility acts.
Example
This section lists code snippets from an OBY file that contain some of
the basic keywords required to configure a NOR flash ROM.
The following code snippet contains the
ROM image-related keywords.
romname=h4hrp_001.techview.IMG
.
.
.
romsize=0x2000000
.
.
.
romlinearbase=0x80000000
romalign=0x10
.
.
.
romchecksum=0x12345678
.
.
.
The following code snippet contains the
kernel-related keywords:
.
.
.
kerneltrace 0x80000000
.
.
.
multikernel
.
.
.
kerneldataaddress=0xC8000000
kernelheapmin=0x01000
kernelheapmax=0x00FFF000
.
.
.
The following are the various file-related keywords:
.
.
.
extension[0x09080004]=\epoc32\release\ARMV5\urel\_h4hrp_kaomap.dll "Sys\Bin\kaomap.dll"
.
.
.
data=\epoc32\rom\h4hrp\ESTARTTECHVIEW.TXT "Sys\Data\ESTARTFILESYSTEMS.TXT"
.
.
.
file=\epoc32\release\ARMV5\urel\drtaeabi.dll "sys\bin\DRTAEABI.dll"
.
.
.
In the following code snippet, the
primary and
secondary keywords point
to files loaded without and through the file servers respectively.
.
.
.
primary[0x09080004]=\epoc32\release\ARMV5\urel\_h4hrp_ekern.exe "Sys\Bin\ekern.exe" code-align 0x4000
.
.
.
secondary=\epoc32\release\ARMV5\urel\efile.exe "sys\bin\efile.exe"
.
.
.
Some of the other keywords used in configuring a NOR flash ROM are as
follows:
-
The bootbinary keyword refers to
the filename of the ROM's bootstrap code.
bootbinary=\epoc32\release\ARMV5\_h4hrp_bootrom.bin
-
The dataaddress keyword refers to
the linear address of data chunks.
dataaddress=0x400000
-
The debugport
keyword specifies the destination port for kernel and bootstrap devices.
debugport 1
-
The defaultstackreserve
keyword specifies the maximum stack size.
defaultstackreserve=0x200000
-
The device
keyword defines logical or physical device drivers that can contain global
data.
device[0x09080004]=\epoc32\release\ARMV5\urel\_h4hrp_euart.pdd "Sys\Bin\euart1.pdd"
-
The memmodel
keyword specifies the memory model to be used at runtime.
memmodel multiple 0x100000
-
The variant
keyword defines hardware variants.
variant[0x09080004]=\epoc32\release\ARMV5\urel\_h4hrp_ecust_tv.dll "Sys\Bin\ecust.dll"