summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-25 19:12:25 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2009-04-25 19:12:25 +0000
commit5fe2d3ad004c6d2e260f398d40ae0faa018cc17b (patch)
treedce6d80337751f985fdb051c40d36d8cd74abc66
parent81c9d657ee349097ef4c063900e59ad591068f3c (diff)
downloadpx4-nuttx-5fe2d3ad004c6d2e260f398d40ae0faa018cc17b.tar.gz
px4-nuttx-5fe2d3ad004c6d2e260f398d40ae0faa018cc17b.tar.bz2
px4-nuttx-5fe2d3ad004c6d2e260f398d40ae0faa018cc17b.zip
fix Cortex-M3 build
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1737 42af7a65-404d-4744-a932-0658087f49c3
-rw-r--r--misc/buildroot/ChangeLog7
-rw-r--r--misc/buildroot/Config.in2
-rw-r--r--misc/buildroot/ReleaseNotes62
-rw-r--r--misc/buildroot/toolchain/binutils/2.19.1/400-thumb-cputype.patch4
-rw-r--r--misc/buildroot/toolchain/gcc/Makefile.in5
-rw-r--r--misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk2
-rw-r--r--misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk2
7 files changed, 55 insertions, 29 deletions
diff --git a/misc/buildroot/ChangeLog b/misc/buildroot/ChangeLog
index 2dcbdb859..71517f109 100644
--- a/misc/buildroot/ChangeLog
+++ b/misc/buildroot/ChangeLog
@@ -27,11 +27,14 @@ buildroot-0.1.4 2009-04-19 <spudmonkey@racsa.co.cr>
we do not build a libc. Now it builds almost twice as fast.
* Removed logic to build the target GCC. That is never used.
-buildroot-0.1.5 2009-xx-xx <spudmonkey@racsa.co.cr>
+buildroot-0.1.5 2009-04-25 <spudmonkey@racsa.co.cr>
* Replaced config/arm-defconfig-4.2.4 with config/arm920t-defconfig-4.2.4
and config/arm926t-defconfig-4.2.4 because of differences in the
way that soft floating point is handled between these two
architectures.
- * Add support for gcc-4.3.3 and the ARM Cortex-M3 processor
+ * Add support for gcc-4.3.3 and the ARM Cortex-M3 processor (thumb2)
* Add support for binutils 2.19.1
+
+buildroot-0.1.6 2009-xx-xx <spudmonkey@racsa.co.cr>
+
diff --git a/misc/buildroot/Config.in b/misc/buildroot/Config.in
index e575654d8..2b876bfea 100644
--- a/misc/buildroot/Config.in
+++ b/misc/buildroot/Config.in
@@ -27,7 +27,7 @@ config BR2_cris
config BR2_i386
bool "i386"
config BR2_m32c
- bool "r8c/m16c/m32c/"
+ bool "r8c/m16c/m32c"
config BR2_m68k
bool "m68k"
config BR2_m68hc11
diff --git a/misc/buildroot/ReleaseNotes b/misc/buildroot/ReleaseNotes
index 67f2e6dce..ce035d8b4 100644
--- a/misc/buildroot/ReleaseNotes
+++ b/misc/buildroot/ReleaseNotes
@@ -1,42 +1,58 @@
-ReleaseNotes v0.1.4:
+ReleaseNotes v0.1.5:
^^^^^^^^^^^^^^^^^^^
This is a highly hacked up version of the buildroot (see
-http://buildroot.uclibc.org/ . It has been hacked so
-that it can be used to build the following NuttX-compatible
-toolchains:
+http://buildroot.uclibc.org/ . It has been hacked so that it
+can be used to build the following NuttX-compatible toolchains:
-o arm-elf toolchain needed for use with the TI C5471 (ARM7),
- NXP LPC214x (ARM7), STMicro STR71x (ARM7), and TI DM320
- (ARM9) ports provided with the NuttX releases.
+ o arm-elf toolchain needed for use with the TI C5471 (ARM7TDMI),
+ NXP LPC214x (ARM7TMDI), STMicro STR71x (ARM7TDMI), Freescale
+ i.MX1 (ARM920T), and TI DM320 (ARM926EJ-S) provided with the
+ NuttX releases.
-o m68k-elf toolchain (not currently used in any NuttX
- configuration).
+ o arm-elf thumb2 toolchain needed for use with the ARM Cortex-M3
+ ports provided with the NuttX releases.
-o m68hc11-elf toolchain (not currently used in any NuttX
- configuration).
+ o m68k-elf toolchain (not currently used in any NuttX
+ configuration).
-o sh-elf toolchain needed for the SH-1 NuttX port.
+ o m68hc11-elf toolchain (not currently used in any NuttX
+ configuration).
-o m32c-elf toolchain needed for the Renesas M16C NuttX port.
+ o sh-elf toolchain needed for the SH-1 NuttX port.
-o H8/300 toolchain (not currently used in any NuttX
- configuration).
+ o m32c-elf toolchain needed for the Renesas M16C NuttX port.
-o bfin-elf toolchain not currently used in any NuttX
- configuration).
+ o H8/300 toolchain (not currently used in any NuttX
+ configuration).
-Instructions:
+ o bfin-elf toolchain not currently used in any NuttX
+ configuration).
- -You must have already configured Nuttx in <some-dir>nuttx
- -download into <some-dir>
- -unpack -cd <some-dir>/buildroot
- -cp configs/arm-defconfig .config
+Supported tool versions include:
+
+ o gcc-3.4.6 + binutils-2.17
+ o gcc-4.2.4 + binutils-2.19
+ o gcc-4.3.3 + binutils-2.19.1
+
+See the ChangeLog of features/architectgures added in v0.1.5.
+
+Installation instructions:
+
+ - You must have already configured Nuttx in <some-dir>/nuttx
+ - download the buildroot package into <some-dir>
+ - unpack -cd <some-dir>/buildroot
+ - cp configs/arm-defconfig .config
- make oldconfig
- make
See configs/README.txt for other configurations and for more detailed
-instructions.
+instructions. If your NuttX installation resides at a different location
+then:
+
+ - make menuconfig
+
+And set the "Path to the NuttX root directory" appropriately.
diff --git a/misc/buildroot/toolchain/binutils/2.19.1/400-thumb-cputype.patch b/misc/buildroot/toolchain/binutils/2.19.1/400-thumb-cputype.patch
index 61c7315fe..c792d2e38 100644
--- a/misc/buildroot/toolchain/binutils/2.19.1/400-thumb-cputype.patch
+++ b/misc/buildroot/toolchain/binutils/2.19.1/400-thumb-cputype.patch
@@ -1,3 +1,7 @@
+// This patch is bogus. It does let you create a a version of binutils with the cross
+// name of thumb-elf, but it is insufficient to build a whole thumb-elf toolchain because
+// of issues with gcc. Rather, build arm-elf, but configure --with-mode=thumb
+//
diff -u binutils-2.19.1/gas/configure.tgt.orig binutils-2.19.1/gas/configure.tgt
--- binutils-2.19.1/gas/configure.tgt.orig 2009-04-25 11:00:15.593750000 -0400
+++ binutils-2.19.1/gas/configure.tgt 2009-04-25 11:00:45.593750000 -0400
diff --git a/misc/buildroot/toolchain/gcc/Makefile.in b/misc/buildroot/toolchain/gcc/Makefile.in
index 895f345d7..aaec774dc 100644
--- a/misc/buildroot/toolchain/gcc/Makefile.in
+++ b/misc/buildroot/toolchain/gcc/Makefile.in
@@ -44,7 +44,7 @@ TARGET_SOFT_FLOAT:=
ARCH_FPU_SUFFIX:=
endif
-# some additional defaults
+# some additional tuning values
ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ARCH))),)
# ")))
GCC_WITH_ARCH:=--with-arch=$(BR2_GCC_TARGET_ARCH)
@@ -57,3 +57,6 @@ ifneq ($(strip $(subst ",,$(BR2_GCC_TARGET_ABI))),)
# ")))
GCC_WITH_ABI:=--with-abi=$(BR2_GCC_TARGET_ABI)
endif
+ifdef BR2_cortex_m3
+GCC_WITH_MODE:=--with-mode=thumb
+endif
diff --git a/misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk b/misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk
index 2214cfda2..3b745c153 100644
--- a/misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk
+++ b/misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk
@@ -123,7 +123,7 @@ $(GCC_BUILD_DIR)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
$(THREADS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
+ $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_MODE) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(DISABLE_LARGEFILE) \
$(EXTRA_GCC_CONFIG_OPTIONS));
diff --git a/misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk b/misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk
index 41c0590ef..1a2dbcb3f 100644
--- a/misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk
+++ b/misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk
@@ -121,7 +121,7 @@ $(GCC_BUILD_DIR)/.configured: $(GCC_DIR)/.patched $(GCC_STAGING_PREREQ)
$(THREADS) \
$(MULTILIB) \
$(SOFT_FLOAT_CONFIG_OPTION) \
- $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) \
+ $(GCC_WITH_ABI) $(GCC_WITH_ARCH) $(GCC_WITH_TUNE) $(GCC_WITH_MODE) \
$(GCC_USE_SJLJ_EXCEPTIONS) \
$(DISABLE_LARGEFILE) \
$(EXTRA_GCC_CONFIG_OPTIONS));