Two pass build for on-demand paging now works

git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@2896 42af7a65-404d-4744-a932-0658087f49c3
This commit is contained in:
patacongo 2010-08-29 14:27:58 +00:00
parent 4fb60ab7bf
commit bc0ccccca8
2 changed files with 55 additions and 7 deletions

View File

@ -8,7 +8,7 @@
<tr align="center" bgcolor="#e4e4e4">
<td>
<h1><big><font color="#3c34ec"><i>NuttX RTOS</i></font></big></h1>
<p>Last Updated: August 27, 2010</p>
<p>Last Updated: August 28, 2010</p>
</td>
</tr>
</table>
@ -1903,8 +1903,22 @@ nuttx-5.10 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
the arch/arm/src/Makefile for now.
* arch/arm/src/lpc17xx/lpc17_internal.h - Add missing parentheses in
macros definitions (patch submitted by Tiago Maluta).
* Documents/NuttxPortingGuide.html, configs/README.txt, etc. -
Replaced CONFIG_EXAMPLE with CONFIG_APP_DIR (see documents for
desciption). This allows NuttX application code to be built
outside of the examples/ directory.
pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
For people who have their own configurations and/or Makefiles,
you will need to make a couple of changes:
- Replace all occurrences of CONFIG_EXAMPLE=foobar with
CONFIG_APP_DIR=examples/foobar in all of the configuration
files.
- Replace any occurrences of examples/$(CONFIG_EXAMPLE) with
$(CONFIG_APP_DIR)
- Replace any occurrences of lib$(CONFIG_EXAMPLE)$(LIBEXT)
with libapp$(LIBEXT) in your Makefiles.
- Check any other occurrences of CONFIG_EXAMPLE.pascal-2.1 2010-xx-xx Gregory Nutt &lt;spudmonkey@racsa.co.cr&gt;
buildroot-1.9 2010-xx-xx <spudmonkey@racsa.co.cr>
</pre></ul>

View File

@ -12,7 +12,7 @@
<h1><big><font color="#3c34ec">
<i>NuttX RTOS Porting Guide</i>
</font></big></h1>
<p>Last Updated: August 27, 2010</p>
<p>Last Updated: August 29, 2010</p>
</td>
</tr>
</table>
@ -2178,6 +2178,7 @@ extern void up_ledoff(int led);
The start address of DRAM (virtual)</li>
</ul>
<h2>Build Options</h2>
<p>
General build options:
</p>
@ -2206,9 +2207,9 @@ extern void up_ledoff(int led);
have been defined in the configurations <code>Make.defs</code> file.
</li>
</ul>
<h2>General OS setup</h2>
<p>
Building application code:
</p>
<ul>
<li>
<p>
@ -2261,6 +2262,38 @@ build
It can be used, for example, to include makefile fragments (e.g., <code>.config</code> or <code>Make.defs</code>) or to set up include file paths.
</p>
</li>
</ul>
<p>
Two-pass Build Options.
If the 2 pass build option is selected, then these options configure the make system build a extra link object.
This link object is assumed to be an incremental (relative) link object, but could be a static library (archive)
(some modification to this Makefile would be required if CONFIG_PASS1_OBJECT is an archive).
Pass 1 1ncremental (relative) link objects should be put into the processor-specific source directory
where other link objects will be created - ff the pass1 obect is an archive, it could go anywhere.
</p>
<ul>
<li>
<code>CONFIG_BUILD_2PASS</code>:
Enables the two pass build options.
</li>
</ul>
<p>
When the two pass build option is enabled, the following also apply:
</p>
<ul>
<li>
<code>CONFIG_PASS1_OBJECT</code>: The name of the first pass object.
</li>
<li><code>CONFIG_PASS1_BUILDIR</code>:
The path, relative to the top NuttX build directory to directory that contains the Makefile to build the first pass object.
The Makefile must support the following targets:
<ul>
<li>The special target <code>arch/$(CONFIG_ARCH)/src/$(CONFIG_PASS1_OBJECT)</code>, and</li>
<li>The usual depend, clean, and distclean targets.</li>
</ul>
</ul>
<h2>General OS setup</h2>
<li>
<code>CONFIG_DEBUG</code>: enables built-in debug options
</li>
@ -2434,7 +2467,8 @@ build
</ul>
<p>
If CONFIG_PAGING is selected, then the following also apply:
If CONFIG_PAGING is selected, then you will probabaly need <code>CONFIG_BUILD_2PASS</code> to correctly position
the code and the following configuration options also apply:
</p>
<ul>
<li>