summaryrefslogtreecommitdiffstats
path: root/apps/examples/README.txt
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-27 00:04:47 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-10-27 00:04:47 +0000
commit1ba327bd1c3e895675e7ab504af1064635fdf282 (patch)
tree615048fb87a55a2421efe353d061d0ded0d8eebf /apps/examples/README.txt
parentf1c2ce14060e4442dd59f6fa89e02b23c2d3989d (diff)
The ELF loader is basically functional (needs more testing)
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5265 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'apps/examples/README.txt')
-rw-r--r--apps/examples/README.txt15
1 files changed, 10 insertions, 5 deletions
diff --git a/apps/examples/README.txt b/apps/examples/README.txt
index bfb92b6b79..70dffc9897 100644
--- a/apps/examples/README.txt
+++ b/apps/examples/README.txt
@@ -318,7 +318,12 @@ examples/elf
NOTES:
- 1. Your top-level nuttx/Make.defs file must include an approproate definition,
+ 1. CFLAGS should be provided in CELFFLAGS. RAM and FLASH memory regions
+ may require long allcs. For ARM, this might be:
+
+ CELFFLAGS = $(CFLAGS) -mlong-calls
+
+ 2. Your top-level nuttx/Make.defs file must alos include an approproate definition,
LDELFFLAGS, to generate a relocatable ELF object. With GNU LD, this should
include '-r' and '-e main' (or _main on some platforms).
@@ -327,24 +332,24 @@ examples/elf
If you use GCC to link, you make also need to include '-nostdlib' or
'-nostartfiles' and '-nodefaultlibs'.
- 2. This example also requires genromfs. genromfs can be build as part of the
+ 3. This example also requires genromfs. genromfs can be build as part of the
nuttx toolchain. Or can built from the genromfs sources that can be found
at misc/tools/genromfs-0.5.2.tar.gz. In any event, the PATH variable must
include the path to the genromfs executable.
- 3. ELF size: The ELF files in this example are, be default, quite large
+ 4. ELF size: The ELF files in this example are, be default, quite large
because they include a lot of "build garbage". You can greatly reduce the
size of the ELF binaries are using the 'objcopy --strip-unneeded' command to
remove un-necessary information from the ELF files.
- 4. Simulator. You cannot use this example with the the NuttX simulator on
+ 5. Simulator. You cannot use this example with the the NuttX simulator on
Cygwin. That is because the Cygwin GCC does not generate ELF file but
rather some Windows-native binary format.
If you really want to do this, you can create a NuttX x86 buildroot toolchain
and use that be build the ELF executables for the ROMFS file system.
- 5. Linker scripts. You might also want to use a linker scripts to combine
+ 6. Linker scripts. You might also want to use a linker scripts to combine
sections better. An example linker script is at nuttx/binfmt/libelf/gnu-elf.ld.
That example might have to be tuned for your particular linker output to
position additional sections correctly. The GNU LD LDELFFLAGS then might