summaryrefslogtreecommitdiff
path: root/nuttx/configs/olimex-strp711/README.txt
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-11 14:47:03 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-06-11 14:47:03 +0000
commit94a04f9e5a37e615bc7f8809a055ed98ea36a19b (patch)
tree78aebf6ed7c5d6f6b9b81f7f81d33b71810593e1 /nuttx/configs/olimex-strp711/README.txt
parent3ad84ca396bbfad20398f519d4493111c2bf63a6 (diff)
downloadpx4-nuttx-94a04f9e5a37e615bc7f8809a055ed98ea36a19b.tar.gz
px4-nuttx-94a04f9e5a37e615bc7f8809a055ed98ea36a19b.tar.bz2
px4-nuttx-94a04f9e5a37e615bc7f8809a055ed98ea36a19b.zip
Add support for Windows GCC to lpc2148 and str711
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1875 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/configs/olimex-strp711/README.txt')
-rw-r--r--nuttx/configs/olimex-strp711/README.txt75
1 files changed, 71 insertions, 4 deletions
diff --git a/nuttx/configs/olimex-strp711/README.txt b/nuttx/configs/olimex-strp711/README.txt
index fd918b037..c9b4482b2 100644
--- a/nuttx/configs/olimex-strp711/README.txt
+++ b/nuttx/configs/olimex-strp711/README.txt
@@ -57,14 +57,81 @@ Olimex STR-P711
Jumpers
STNBY Will pull pin 23 /STDBY low
-Toolchain
-^^^^^^^^^
+Development Environment
+^^^^^^^^^^^^^^^^^^^^^^^
+
+ Either Linux or Cygwin on Windows can be used for the development environment.
+ The source has been built only using the GNU toolchain (see below). Other
+ toolchains will likely cause problems.
+
+GNU Toolchain Options
+^^^^^^^^^^^^^^^^^^^^^
+
+ The NuttX make system has been modified to support the following different
+ toolchain options.
+
+ 1. The NuttX buildroot Toolchain (see below).
+ 2. The CodeSourcery GNU toolchain,
+ 3. The devkitARM GNU toolchain, or
+
+ All testing has been conducted using the NuttX buildroot toolchain. To use
+ the CodeSourcery or devkitARM GNU toolchain, you simply need to build the
+ system as follows:
+
+ make # Will build for the NuttX buildroot toolchain
+ make CROSSDEV=arm-eabi- # Will build for the devkitARM toolchain
+ make CROSSDEV=arm-none-eabi- # Will build for the CodeSourcery toolchain
+ make CROSSDEV=arm-elf- # Will build for the NuttX buildroot toolchain
+
+ Of course, hard coding this CROSS_COMPILE value in Make.defs file will save
+ some repetitive typing.
+
+ NOTE: the CodeSourcery and devkitARM toolchains are Windows native toolchains.
+ The NuttX buildroot toolchain is a Cygwin toolchain. There are several limitations
+ to using a Windows based toolchain in a Cygwin environment. The three biggest are:
+
+ 1. The Windows toolchain cannot follow Cygwin paths. Path conversions are
+ performed automatically in the Cygwin makefiles using the 'cygpath' utility
+ but you might easily find some new path problems. If so, check out 'cygpath -w'
+
+ 2. Windows toolchains cannot follow Cygwin symbolic links. Many symbolic links
+ are used in Nuttx (e.g., include/arch). The make system works around these
+ problems for the Windows tools by copying directories instead of linking them.
+ But this can also cause some confusion for you: For example, you may edit
+ a file in a "linked" directory and find that your changes had not effect.
+ That is because you are building the copy of the file in the "fake" symbolic
+ directory. If you use a Windows toolchain, you should get in the habit of
+ making like this:
+
+ make clean_context; make CROSSDEV=arm-none-eabi-
+
+ An alias in your .bashrc file might make that less painful.
+
+ 3. Dependencies are not made when using Windows versions of the GCC. This is
+ because the dependencies are generated using Windows pathes which do not
+ work with the Cygwin make.
+
+ Support has been added for making dependencies with the CodeSourcery toolchain.
+ That support can be enabled by modifying your Make.defs file as follows:
+
+ - MKDEP = $(TOPDIR)/tools/mknulldeps.sh
+ + MKDEP = $(TOPDIR)/tools/mkdeps.sh --winpaths "$(TOPDIR)"
+
+ If you have problems with the dependency build (for example, if you are not
+ building on C:), then you may need to modify tools/mkdeps.sh
+
+ NOTE: The CodeSourcery toolchain (2009q1) may not work with default optimization
+ level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
+ -Os.
+
+NuttX buildroot Toolchain
+^^^^^^^^^^^^^^^^^^^^^^^^^
A GNU GCC-based toolchain is assumed. The files */setenv.sh should
- be modified to point to the correct path to the SH toolchain (if
+ be modified to point to the correct path to the ARM toolchain (if
different from the default).
- If you have no SH toolchain, one can be downloaded from the NuttX
+ If you have no ARM toolchain, one can be downloaded from the NuttX
SourceForge download site (https://sourceforge.net/project/showfiles.php?group_id=189573).
1. You must have already configured Nuttx in <some-dir>nuttx.