diff options
author | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-02-23 02:25:53 +0000 |
---|---|---|
committer | patacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3> | 2013-02-23 02:25:53 +0000 |
commit | f6cc3cf96afa3b5fd0d633fe532f45316da4bdad (patch) | |
tree | 33c0ae7de055a4b4bc9762893a936798421900ca /misc/buildroot/configs | |
parent | 8dc2d637b75a2edc0f53a1029a9a45fc2792bfb8 (diff) | |
download | nuttx-f6cc3cf96afa3b5fd0d633fe532f45316da4bdad.tar.gz nuttx-f6cc3cf96afa3b5fd0d633fe532f45316da4bdad.tar.bz2 nuttx-f6cc3cf96afa3b5fd0d633fe532f45316da4bdad.zip |
Buildroot now builds armv6-m toolchain; NuTiny configuration now uses buildroot toolchain
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5665 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'misc/buildroot/configs')
-rw-r--r-- | misc/buildroot/configs/README.txt | 157 | ||||
-rw-r--r-- | misc/buildroot/configs/cortexm0-eabi-defconfig-4.6.3 | 124 |
2 files changed, 206 insertions, 75 deletions
diff --git a/misc/buildroot/configs/README.txt b/misc/buildroot/configs/README.txt index 6b76ff80d..0e9c6df5e 100644 --- a/misc/buildroot/configs/README.txt +++ b/misc/buildroot/configs/README.txt @@ -14,117 +14,124 @@ AVAILABLE CONFIGURATIONS ^^^^^^^^^^^^^^^^^^^^^^^^ arm-defconfig - Builds an OABI ARM toolchain using gcc 3.4.6 + Builds an OABI ARM toolchain using gcc 3.4.6 arm7tdmi-defconfig-4.2.4 arm920t-defconfig-4.2.4 arm926t-defconfig-4.2.4 - Builds an OABI ARM toolchain using gcc 4.2.4. This configuration - builds both gcc and g++. There are three versions: one for - arm7tdmi (armv4t), arm920t (armv4t) and arm926t (arv5t) because - of differences in the way that soft floating is handled in between - the armv4t and arm5t architectures. + Builds an OABI ARM toolchain using gcc 4.2.4. This configuration + builds both gcc and g++. There are three versions: one for + arm7tdmi (armv4t), arm920t (armv4t) and arm926t (arv5t) because + of differences in the way that soft floating is handled in between + the armv4t and arm5t architectures. - NOTE: The newer versions of GCC generate new sections and can - cause some problems for NuttX configurations developed under older - toolchains. In particular, arm-elf-objcopy may fail with strange - errors. If this occurs, try adding the following arguments to the - arm-elf-objcopy command "-R .note -R .note.gnu.build-id -R .comment" + NOTE: The newer versions of GCC generate new sections and can + cause some problems for NuttX configurations developed under older + toolchains. In particular, arm-elf-objcopy may fail with strange + errors. If this occurs, try adding the following arguments to the + arm-elf-objcopy command "-R .note -R .note.gnu.build-id -R .comment" - This logic is several configuration Make.defs files: + This logic is several configuration Make.defs files: - HOSTOS = ${shell uname -o} + HOSTOS = ${shell uname -o} - ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'} - ARCHCCMAJOR = ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1} + ARCHCCVERSION = ${shell $(CC) -v 2>&1 | sed -n '/^gcc version/p' | sed -e 's/^gcc version \([0-9\.]\)/\1/g' -e 's/[-\ ].*//g' -e '1q'} + ARCHCCMAJOR= ${shell echo $(ARCHCCVERSION) | cut -d'.' -f1} - ifeq ($(ARCHCCMAJOR),4) - ifneq ($(HOSTOS),Cygwin) - OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment - endif - endif + ifeq ($(ARCHCCMAJOR),4) + ifneq ($(HOSTOS),Cygwin) + OBJCOPYARGS = -R .note -R .note.gnu.build-id -R .comment + endif + endif - This change probably applies to other architectures as well (?) + This change probably applies to other architectures as well (?) arm920t-defconfig-4.3.3 arm7tdmi-defconfig-4.3.3 - Builds an OABI ARM toolchain using gcc 4.3.3. These configurations - builds both gcc and g++ for the arm7tdmi (armv4t) or the arm920t - (armv4t). These are udates to *-defconfig-4.2.4 (see notes above). + Builds an OABI ARM toolchain using gcc 4.3.3. These configurations + builds both gcc and g++ for the arm7tdmi (armv4t) or the arm920t + (armv4t). These are udates to *-defconfig-4.2.4 (see notes above). + +arm926t-defconfig-nxflat + This configuration build an NXFLAT toolchain (only) for + use with the ARM9. avr-defconfig-4.3.3 avr-defconfig-5.4.2 - Builds an AVR toolchain using gcc 4.3.3 or 4.5.2. This configuration - builds both gcc and g++ for the AVR (armv4t). This toolchain - is intended to support the NuttX ATmega128 port. + Builds an AVR toolchain using gcc 4.3.3 or 4.5.2. This configuration + builds both gcc and g++ for the AVR (armv4t). This toolchain + is intended to support the NuttX ATmega128 port. + +cortexm0-eabi-defconfig-4.6.3 + Builds an EABI ARM toolchain for the Cortex-M0 using gcc 4.6.3. + This configuration builds gcc and g++ (NXFLAT is not currently + supported for the Cortex-M0). cortexm3-defconfig-4.3.3 - Builds an OABI ARM toolchain for the Cortex-M3 using gcc 4.3.3. - This configuration builds gcc, g++ and the NXFLAT toolchain. + Builds an OABI ARM toolchain for the Cortex-M3 using gcc 4.3.3. + This configuration builds gcc, g++ and the NXFLAT toolchain. + +cortexm3-eabi-defconfig-4.5.2 + Builds an EABI ARM toolchain for the Cortex-M3 using gcc 4.5.2. + This configuration builds gcc, g++ and the NXFLAT toolchain. cortexm3-eabi-defconfig-4.6.3 - Builds an EABI ARM toolchain for the Cortex-M3 using gcc 4.6.3. - This configuration builds gcc, g++ and the NXFLAT toolchain. + Builds an EABI ARM toolchain for the Cortex-M3 using gcc 4.6.3. + This configuration builds gcc, g++ and the NXFLAT toolchain. cortexm3-defconfig-nxflat -arm926t-defconfig-nxflat - This configuration build an NXFLAT toolchain (only) for - use with the Cortex-M3 or ARM9 (untested on ARM9 as of this - writing). - -cortexm3-eabi-defconfig-4.5.2 - Builds an EABI ARM toolchain for the Cortex-M3 using gcc 4.5.2. - This configuration builds gcc, g++ and the NXFLAT toolchain. + This configuration build an NXFLAT toolchain (only) for + use with the Cortex-M3. bfin-defconfig-4.2.4 - Builds an Blackfin toolchain using gcc 4.2.4 + Builds an Blackfin toolchain using gcc 4.2.4 h8300_config - Builds an H8/300 toolchain using gcc 3.4.6 + Builds an H8/300 toolchain using gcc 3.4.6 i486-defconfig-4.3.3 - Builds an i486 cross development toolchain using gcc 4.3.3. Why would - you want such a thing? On Linux, of course, such a thing is not needed - because you can use the installed GCC to build i486 ELF binaries. But - that will not work under Cygwin! The Cygwin toolchain (and probably - MinGW), build DOS MZ format executables (i.e., .exe files). That is - probably not usable for most NuttX targets. Instead, you should use this - i486-elf-gcc to generate true ELF binaries under Cygwin. + Builds an i486 cross development toolchain using gcc 4.3.3. Why would + you want such a thing? On Linux, of course, such a thing is not needed + because you can use the installed GCC to build i486 ELF binaries. But + that will not work under Cygwin! The Cygwin toolchain (and probably + MinGW), build DOS MZ format executables (i.e., .exe files). That is + probably not usable for most NuttX targets. Instead, you should use this + i486-elf-gcc to generate true ELF binaries under Cygwin. m32c_defconfig_4.2.4 m32c_defconfig_4.3.3 - Build a toolchain for use with the M16C port using eith gcc 4.2.4 or 4.3.3 + Build a toolchain for use with the M16C port using eith gcc 4.2.4 or 4.3.3 m68hc11-config m68hc12-config-3.4.6 - Builds an hc11/hc12 toolchain using gcc 3.4.6 . NOT RECOMMENDED for hcs12; + Builds an hc11/hc12 toolchain using gcc 3.4.6 . NOT RECOMMENDED for hcs12; Use m9s12x_config_3.3.6 m68hc12-config-4.3.3 - Builds an hc11/hc12 toolchain using gcc 4.3.3.NOT RECOMMENDED for hcs12; + Builds an hc11/hc12 toolchain using gcc 4.3.3.NOT RECOMMENDED for hcs12; Use m9s12x_config_3.3.6 - This configuration fails to build with the following error: + This configuration fails to build with the following error: - make[3]: Entering directory `blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3-build/m68hc12-elf/libgcc' - ... - blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3/libgcc/../gcc/libgcc2.c:566: internal compiler error: in init_move_cost, at regclass.c:323 - Please submit a full bug report, - with preprocessed source if appropriate. - See <http://gcc.gnu.org/bugs.html> for instructions. - make[3]: *** [_muldi3.o] Error 1 - make[3]: Leaving directory `blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3-build/m68hc12-elf/libgcc' + make[3]: Entering directory `blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3-build/m68hc12-elf/libgcc' + ... + blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3/libgcc/../gcc/libgcc2.c:566: internal compiler error: in init_move_cost, at regclass.c:323 + Please submit a full bug report, + with preprocessed source if appropriate. + See <http://gcc.gnu.org/bugs.html> for instructions. + make[3]: *** [_muldi3.o] Error 1 + make[3]: Leaving directory `blabla/buildroot/toolchain_build_m68hc12/gcc-4.3.3-build/m68hc12-elf/libgcc' - Use m68hc12-config-3.4.6 + Use m68hc12-config-3.4.6 m9s12x_config_3.3.6 - Builds a hcs12 toolchain using gcc 3.3.6 and extensive m9x12x-specific patches. + Builds a hcs12 toolchain using gcc 3.3.6 and extensive m9x12x-specific patches. m68k-config - Builds an M68K toolchain using gcc 3.4.6 + Builds an M68K toolchain using gcc 3.4.6 sh-defconfig - Builds an SH-1/2 toolchain using gcc 3.4.6 + Builds an SH-1/2 toolchain using gcc 3.4.6 GENERAL BUILD STEPS ^^^^^^^^^^^^^^^^^^^ @@ -282,14 +289,14 @@ Cygwin GCC BUILD NOTES and, apparently, the make variable "exeext" is set incorrectly. A work around after the above occurs is: - cd toolchain_build_<arch>/gcc-4.2.4-build/gcc # Go to the directory where error occurred - mv cc1-dummy.exe cc1-dummy # Rename the executable without .exe - rm cc1-checksum.c # Get rid of the bad generated file + cd toolchain_build_<arch>/gcc-4.2.4-build/gcc # Go to the directory where error occurred + mv cc1-dummy.exe cc1-dummy # Rename the executable without .exe + rm cc1-checksum.c # Get rid of the bad generated file Then resume the buildroot make: - cd - # Back to the buildroot make directory - make # Restart the build + cd - # Back to the buildroot make directory + make # Restart the build If you build g++, you will see another similar error: @@ -300,14 +307,14 @@ Cygwin GCC BUILD NOTES The fix is similar: - cd toolchain_build_<arch>/gcc-4.2.4-build/gcc # Go to the directory where error occurred - mv cc1plus-dummy.exe cc1plus-dummy # Rename the executable without .exe - rm cc1plus-checksum.c # Get rid of the bad generated file + cd toolchain_build_<arch>/gcc-4.2.4-build/gcc # Go to the directory where error occurred + mv cc1plus-dummy.exe cc1plus-dummy # Rename the executable without .exe + rm cc1plus-checksum.c # Get rid of the bad generated file Then resume the buildroot make: - cd - # Back to the buildroot make directory - make # Restart the build + cd - # Back to the buildroot make directory + make # Restart the build o Once I had problems building the toolchain on Cygwin. In this case, I would occasioinally get "Permission denied" errors will trying to configure @@ -341,4 +348,4 @@ Building GDB Under Cygwin directory if it is needed: cp configs/gdb-1_8-cygwin-1_7.patch toolchain/gdb/6.8/. - +
\ No newline at end of file diff --git a/misc/buildroot/configs/cortexm0-eabi-defconfig-4.6.3 b/misc/buildroot/configs/cortexm0-eabi-defconfig-4.6.3 new file mode 100644 index 000000000..663d548db --- /dev/null +++ b/misc/buildroot/configs/cortexm0-eabi-defconfig-4.6.3 @@ -0,0 +1,124 @@ +# +# Automatically generated make config: don't edit +# +BR2_HAVE_DOT_CONFIG=y +# BR2_alpha is not set +BR2_arm=y +# BR2_armeb is not set +# BR2_avr is not set +# BR2_avr32 is not set +# BR2_bfin is not set +# BR2_cris is not set +# BR2_i386 is not set +# BR2_m32c is not set +# BR2_m68k is not set +# BR2_m68hc11 is not set +# BR2_m68hc12 is not set +# BR2_m9s12x is not set +# BR2_mips is not set +# BR2_mipsel is not set +# BR2_nios2 is not set +# BR2_powerpc is not set +# BR2_sh is not set +# BR2_sh64 is not set +# BR2_h8300 is not set +# BR2_sparc is not set +# BR2_x86_64 is not set +# BR2_generic_arm is not set +# BR2_arm610 is not set +# BR2_arm7tdmi is not set +# BR2_arm710 is not set +# BR2_arm720t is not set +# BR2_arm740t is not set +# BR2_arm920t is not set +# BR2_arm922t is not set +# BR2_arm926t is not set +# BR2_arm1136jf_s is not set +# BR2_cortex_m3 is not set +BR2_cortex_m0=y +# BR2_sa110 is not set +# BR2_sa1100 is not set +# BR2_xscale is not set +# BR2_iwmmxt is not set +# BR2_ARM_OABI is not set +BR2_ARM_EABI=y +BR2_ARCH="arm" +BR2_GCC_TARGET_TUNE="cortex-m0" +BR2_GCC_TARGET_ARCH="armv6-m" +BR2_GCC_TARGET_ABI="aapcs-linux" +BR2_ENDIAN="LITTLE" + +# +# Build options +# +BR2_WGET="wget --passive-ftp" +BR2_SVN="svn co" +BR2_ZCAT="zcat" +BR2_BZCAT="bzcat" +BR2_TAR_OPTIONS="" +BR2_DL_DIR="$(BASE_DIR)/../archives" +BR2_STAGING_DIR="$(BUILD_DIR)/staging_dir" +BR2_NUTTX_DIR="$(TOPDIR)/../../nuttx" +BR2_TOPDIR_PREFIX="" +BR2_TOPDIR_SUFFIX="" +BR2_GNU_BUILD_SUFFIX="pc-elf" +BR2_GNU_TARGET_SUFFIX="nuttx-eabi" +# BR2_PREFER_IMA is not set + +# +# Toolchain Options +# + +# +# Binutils Options +# +# BR2_BINUTILS_VERSION_2_17 is not set +# BR2_BINUTILS_VERSION_2_18 is not set +# BR2_BINUTILS_VERSION_2_19 is not set +# BR2_BINUTILS_VERSION_2_19_1 is not set +# BR2_BINUTILS_VERSION_2_21_1 is not set +BR2_BINUTILS_VERSION_2_22=y +BR2_BINUTILS_VERSION="2.22" +BR2_EXTRA_BINUTILS_CONFIG_OPTIONS="" + +# +# GCC Options +# +BR2_PACKAGE_GCC=y +# BR2_GCC_VERSION_3_3_6 is not set +# BR2_GCC_VERSION_3_4_6 is not set +# BR2_GCC_VERSION_4_2_4 is not set +# BR2_GCC_VERSION_4_3_3 is not set +# BR2_GCC_VERSION_4_5_2 is not set +BR2_GCC_VERSION_4_6_3=y +BR2_GCC_SUPPORTS_SYSROOT=y +BR2_GCC_VERSION="4.6.3" +# BR2_GCC_USE_SJLJ_EXCEPTIONS is not set +BR2_EXTRA_GCC_CONFIG_OPTIONS="" +BR2_INSTALL_LIBSTDCPP=y +# BR2_INSTALL_LIBGCJ is not set +# BR2_INSTALL_OBJC is not set +# BR2_INSTALL_FORTRAN is not set + +# +# Gdb Options +# +# BR2_PACKAGE_GDB is not set +# BR2_PACKAGE_GDB_SERVER is not set +# BR2_PACKAGE_GDB_HOST is not set + +# +# NuttX Binary Support +# +# BR2_PACKAGE_NXFLAT is not set +BR2_PACKAGE_GENROMFS=y + +# +# Common Toolchain Options +# +# BR2_PACKAGE_SSTRIP_TARGET is not set +# BR2_PACKAGE_SSTRIP_HOST is not set +# BR2_ENABLE_MULTILIB is not set +BR2_LARGEFILE=y +BR2_SOFT_FLOAT=y +BR2_TARGET_OPTIMIZATION="-Os -pipe" |