Configuring a ROM Image for NOR Flash

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"

For detailed information on keywords, refer to Keywords.