Symbian3/PDK/Source/GUID-684F99F3-7C7D-5B50-8EC0-BE14E22C33BE.dita
author Dominic Pinkman <dominic.pinkman@nokia.com>
Fri, 16 Jul 2010 17:23:46 +0100
changeset 12 80ef3a206772
parent 9 59758314f811
child 14 578be2adaf3e
permissions -rw-r--r--
Week 28 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 1897, Bug 344, Bug 2681, Bug 463, Bug 1522.

<?xml version="1.0" encoding="utf-8"?>
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
<!-- This component and the accompanying materials are made available under the terms of the License 
"Eclipse Public License v1.0" which accompanies this distribution, 
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
<!-- Initial Contributors:
    Nokia Corporation - initial contribution.
Contributors: 
-->
<!DOCTYPE concept
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
<concept id="GUID-684F99F3-7C7D-5B50-8EC0-BE14E22C33BE" xml:lang="en"><title>ROM
Compression of Executable Files</title><shortdesc/><prolog><metadata><keywords/></metadata></prolog><conbody>
<p>Both EKA1 and EKA2 both allow compression of files in non-XIP ROM images.
EKA2 can also compress executables in XIP ROM images. </p>
<p>When an executable file is built into the release directory, it is either
in a compressed or an uncompressed state, depending on whether the <codeph>compresstarget</codeph> or <codeph>uncompresstarget</codeph> keyword
is specified in the <filepath>.mmp</filepath> file that describes how the
executable is built. This does not change in EKA2. </p>
<section id="GUID-A1E4CBAE-46A8-5CCE-8C87-EC2E44CB4F7E"><title>Non-XIP ROM
image</title> <p>The general rule for an executable file in a non-XIP ROM
image is the same in both EKA1 and EKA2, i.e. the file is in the same state
as in the release directory, unless it is overridden by specifying the <xref href="GUID-D9FA2894-D7B6-58EE-AEE3-39E6BECF144E.dita">compress</xref> option on
the <codeph>ROM_IMAGE</codeph> keyword in the <filepath>.oby</filepath> file
that you pass to <codeph>BUILDROM</codeph>. (Note that this gets translated
to the command line option <codeph>‑compress</codeph>, and passed to the appropriate
tool: <xref href="GUID-77C17C57-6BC7-5C9F-9F2C-7DC57B45F774.dita">rombuild or rofs
build</xref> . </p> </section>
<section id="GUID-566898A8-4655-598F-8430-9E54B440F21E"><title>XIP ROM image</title> <p><b>EKA1</b> </p> <p>In EKA1, an executable file is always uncompressed in
a XIP ROM image. The uncompressed file has had all of its symbols resolved,
and can only be executed in its location within the XIP ROM. Files are specified
by using the <codeph>file</codeph> keyword in the <filepath>.oby</filepath> file.
The following diagram summarises the situation for EKA1. </p> <fig id="GUID-F781B307-B816-5E86-A92F-81A96D513451">
<image href="GUID-6E4BA263-5A75-5E8F-9E3A-5517C52DF67E_d0e390624_href.png" placement="inline"/>
</fig> <p><b>EKA2</b> </p> <p>In
EKA2, executables can be placed in the ROM in: </p> <ul>
<li id="GUID-6830D039-F67A-5409-9805-ACC34C5AF9C4"><p> <i>uncompressed</i> form
with all of its symbols resolved, and able to be executed in its location
within the XIP ROM. The executable is usually specified by using the <codeph>file</codeph> keyword
in the <filepath>.oby</filepath> file. </p> </li>
<li id="GUID-6C573DBF-BF29-5BC7-A427-4818DB00A768"><p>in <i>uncompressed</i> form,
but with all of its relocatable information still present; this is specified
by using the new <codeph>fileuncompress</codeph> keyword in the <filepath>.oby</filepath> file. </p> </li>
<li id="GUID-1E6EEA8B-9AAD-5B77-A8CB-317F57F35266"><p>in <i>compressed</i> form,
but with all of its relocatable information still present; this is specified
by using the <codeph>filecompress</codeph> keyword in the <filepath>.oby</filepath> file. </p> </li>
</ul> </section>
</conbody></concept>