From 5fe2d3ad004c6d2e260f398d40ae0faa018cc17b Mon Sep 17 00:00:00 2001 From: patacongo Date: Sat, 25 Apr 2009 19:12:25 +0000 Subject: fix Cortex-M3 build git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@1737 42af7a65-404d-4744-a932-0658087f49c3 --- misc/buildroot/ChangeLog | 7 ++- misc/buildroot/Config.in | 2 +- misc/buildroot/ReleaseNotes | 62 ++++++++++++++-------- .../binutils/2.19.1/400-thumb-cputype.patch | 4 ++ misc/buildroot/toolchain/gcc/Makefile.in | 5 +- misc/buildroot/toolchain/gcc/gcc-nuttx-3.x.mk | 2 +- misc/buildroot/toolchain/gcc/gcc-nuttx-4.x.mk | 2 +- 7 files changed, 55 insertions(+), 29 deletions(-) (limited to 'misc/buildroot') 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 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 +buildroot-0.1.5 2009-04-25 * 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 + 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 nuttx - -download into - -unpack -cd /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 /nuttx + - download the buildroot package into + - unpack -cd /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)); -- cgit v1.2.3