From ea61dba2159dde7b53fda2bcabdd172a081687ef Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 23 Feb 2012 18:42:36 +0000 Subject: Add support for the Atollic 'Lite' toolchain in all STM32 F4 configurations git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@4417 42af7a65-404d-4744-a932-0658087f49c3 --- nuttx/ChangeLog | 2 ++ nuttx/arch/arm/src/Makefile | 5 ---- nuttx/arch/arm/src/c5471/c5471_irq.c | 16 +++++------ nuttx/arch/arm/src/dm320/dm320_irq.c | 9 +++---- nuttx/arch/avr/src/Makefile | 5 ---- nuttx/arch/hc/src/Makefile | 5 ---- nuttx/arch/mips/src/Makefile | 5 ---- nuttx/arch/sh/src/Makefile | 5 ---- nuttx/arch/x86/src/Makefile | 5 ---- nuttx/configs/c5471evm/httpd/ld.script | 6 ++--- nuttx/configs/c5471evm/nettest/ld.script | 6 ++--- nuttx/configs/c5471evm/nsh/ld.script | 6 ++--- nuttx/configs/c5471evm/ostest/ld.script | 6 ++--- nuttx/configs/stm3240g-eval/README.txt | 36 ++++++++++++++++++++----- nuttx/configs/stm3240g-eval/dhcpd/Make.defs | 18 ++++++++++--- nuttx/configs/stm3240g-eval/dhcpd/defconfig | 3 ++- nuttx/configs/stm3240g-eval/dhcpd/setenv.sh | 7 ++++- nuttx/configs/stm3240g-eval/nettest/Make.defs | 18 ++++++++++--- nuttx/configs/stm3240g-eval/nettest/defconfig | 3 ++- nuttx/configs/stm3240g-eval/nettest/setenv.sh | 7 ++++- nuttx/configs/stm3240g-eval/nsh/Make.defs | 18 ++++++++++--- nuttx/configs/stm3240g-eval/nsh/defconfig | 1 + nuttx/configs/stm3240g-eval/nsh/setenv.sh | 7 ++++- nuttx/configs/stm3240g-eval/nsh2/Make.defs | 16 +++++++++-- nuttx/configs/stm3240g-eval/nsh2/defconfig | 1 + nuttx/configs/stm3240g-eval/nsh2/setenv.sh | 5 ++++ nuttx/configs/stm3240g-eval/ostest/Make.defs | 18 ++++++++++--- nuttx/configs/stm3240g-eval/ostest/defconfig | 3 ++- nuttx/configs/stm3240g-eval/ostest/setenv.sh | 7 ++++- nuttx/configs/stm3240g-eval/telnetd/Make.defs | 16 +++++++++-- nuttx/configs/stm3240g-eval/telnetd/defconfig | 1 + nuttx/configs/stm3240g-eval/telnetd/setenv.sh | 5 ++++ nuttx/configs/stm32f4discovery/README.txt | 36 ++++++++++++++++++++----- nuttx/configs/stm32f4discovery/nsh/Make.defs | 18 ++++++++++--- nuttx/configs/stm32f4discovery/nsh/defconfig | 1 + nuttx/configs/stm32f4discovery/nsh/setenv.sh | 7 ++++- nuttx/configs/stm32f4discovery/ostest/Make.defs | 18 ++++++++++--- nuttx/configs/stm32f4discovery/ostest/defconfig | 1 + nuttx/configs/stm32f4discovery/ostest/setenv.sh | 7 ++++- 39 files changed, 258 insertions(+), 101 deletions(-) diff --git a/nuttx/ChangeLog b/nuttx/ChangeLog index df9646b47..dde876459 100644 --- a/nuttx/ChangeLog +++ b/nuttx/ChangeLog @@ -2493,3 +2493,5 @@ was ignored because its sequence number looked wrong. Fix was, obviously, to only increment the recevied sequence number if the TCP data was accepted. + * configs/stm3240g-eval, configs/stm32f40discovery, and arch/*/src/Makefile: + Add changes to support building with the Atollic "Lite" toolchain. diff --git a/nuttx/arch/arm/src/Makefile b/nuttx/arch/arm/src/Makefile index 3868f6c9a..790880c86 100644 --- a/nuttx/arch/arm/src/Makefile +++ b/nuttx/arch/arm/src/Makefile @@ -119,11 +119,6 @@ endif @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \ - mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \ - fi # This is part of the top-level export target diff --git a/nuttx/arch/arm/src/c5471/c5471_irq.c b/nuttx/arch/arm/src/c5471/c5471_irq.c index fbeb2e720..49930f60f 100644 --- a/nuttx/arch/arm/src/c5471/c5471_irq.c +++ b/nuttx/arch/arm/src/c5471/c5471_irq.c @@ -1,8 +1,8 @@ /**************************************************************************** * arch/arm/src/c5471/c5471_irq.c * - * Copyright (C) 2007, 2009, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2009, 2011-2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -65,17 +65,15 @@ volatile uint32_t *current_regs; * Private Data ****************************************************************************/ -/* The value of _vflashstart is defined in ld.script. It - * could be hard-coded because we know that correct IRAM - * area is 0xffc00000. +/* The value of _svectors is defined in ld.script. It could be hard-coded + * because we know that correct IRAM area is 0xffc00000. */ extern int _svectors; /* Type does not matter */ -/* The C5471 has FLASH at the low end of memory. The - * rrload bootloaer will catch all interrupts and re-vector - * them to vectors stored in IRAM. The following table is - * used to initialize those vectors. +/* The C5471 has FLASH at the low end of memory. The rrload bootloaer will + * catch all interrupts and re-vector them to vectors stored in IRAM. The + * following table is used to initialize those vectors. */ static up_vector_t g_vectorinittab[] = diff --git a/nuttx/arch/arm/src/dm320/dm320_irq.c b/nuttx/arch/arm/src/dm320/dm320_irq.c index eb8201bb4..2fb41475d 100644 --- a/nuttx/arch/arm/src/dm320/dm320_irq.c +++ b/nuttx/arch/arm/src/dm320/dm320_irq.c @@ -1,8 +1,8 @@ /************************************************************************ * arch/arm/src/dm320/dm320_irq.c * - * Copyright (C) 2007, 2009 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2009, 2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -63,9 +63,8 @@ volatile uint32_t *current_regs; * Private Data ************************************************************************/ -/* The value of _vflashstart is defined in ld.script. It - * could be hard-coded because we know that correct IRAM - * area is 0xffc00000. +/* The value of _svectors is defined in ld.script. It could be hard- + * coded because we know that correct IRAM area is 0xffc00000. */ extern int _svectors; /* Type does not matter */ diff --git a/nuttx/arch/avr/src/Makefile b/nuttx/arch/avr/src/Makefile index 7b297f1c1..5584ca5af 100644 --- a/nuttx/arch/avr/src/Makefile +++ b/nuttx/arch/avr/src/Makefile @@ -119,11 +119,6 @@ nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \ - mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \ - fi # This is part of the top-level export target diff --git a/nuttx/arch/hc/src/Makefile b/nuttx/arch/hc/src/Makefile index 101f24e42..9e5be386e 100755 --- a/nuttx/arch/hc/src/Makefile +++ b/nuttx/arch/hc/src/Makefile @@ -115,11 +115,6 @@ endif @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \ - mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \ - fi # This is part of the top-level export target diff --git a/nuttx/arch/mips/src/Makefile b/nuttx/arch/mips/src/Makefile index b57831441..57da4844b 100644 --- a/nuttx/arch/mips/src/Makefile +++ b/nuttx/arch/mips/src/Makefile @@ -108,11 +108,6 @@ nuttx: $(HEAD_OBJ) board/libboard$(LIBEXT) @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \ - mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \ - fi # This is part of the top-level export target diff --git a/nuttx/arch/sh/src/Makefile b/nuttx/arch/sh/src/Makefile index a9683fe08..3423b63f4 100644 --- a/nuttx/arch/sh/src/Makefile +++ b/nuttx/arch/sh/src/Makefile @@ -93,11 +93,6 @@ endif @$(NM) $(TOPDIR)/$@ | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(TOPDIR)/$@ | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) --adjust-section-vma=.vector=0x$$vflashstart $(TOPDIR)/$@ $(TOPDIR)/$@.flashimage; \ - mv $(TOPDIR)/$@.flashimage $(TOPDIR)/$@; \ - fi # This is part of the top-level export target diff --git a/nuttx/arch/x86/src/Makefile b/nuttx/arch/x86/src/Makefile index e91df0c85..8b7032a09 100644 --- a/nuttx/arch/x86/src/Makefile +++ b/nuttx/arch/x86/src/Makefile @@ -121,11 +121,6 @@ endif @$(NM) $(NUTTX)$(EXEEXT) | \ grep -v '\(compiled\)\|\(\$(OBJEXT)$$\)\|\( [aUw] \)\|\(\.\.ng$$\)\|\(LASH[RL]DI\)' | \ sort > $(TOPDIR)/System.map - @export vflashstart=`$(OBJDUMP) --all-headers $(NUTTX)$(EXEEXT) | grep _vflashstart | cut -d' ' -f1`; \ - if [ ! -z "$$vflashstart" ]; then \ - $(OBJCOPY) $(OBJCOPYARGS) --adjust-section-vma=.vector=0x$$vflashstart $(NUTTX)$(EXEEXT) $(NUTTX).flashimage; \ - mv $(NUTTX).flashimage $(NUTTX)$(EXEEXT); \ - fi # This is part of the top-level export target diff --git a/nuttx/configs/c5471evm/httpd/ld.script b/nuttx/configs/c5471evm/httpd/ld.script index 0aadf36d3..89397f3ad 100644 --- a/nuttx/configs/c5471evm/httpd/ld.script +++ b/nuttx/configs/c5471evm/httpd/ld.script @@ -1,8 +1,8 @@ /************************************************************ * ld.script * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,7 +39,7 @@ SECTIONS { /* Interrupt vector trampoline and command line parameters * are provided in IRAM by the rrload bootloader. Vectors will be - * copied into _svectors from _vflashstart. + * copied into _svectors. */ . = 0xffc00000; diff --git a/nuttx/configs/c5471evm/nettest/ld.script b/nuttx/configs/c5471evm/nettest/ld.script index 0aadf36d3..89397f3ad 100644 --- a/nuttx/configs/c5471evm/nettest/ld.script +++ b/nuttx/configs/c5471evm/nettest/ld.script @@ -1,8 +1,8 @@ /************************************************************ * ld.script * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,7 +39,7 @@ SECTIONS { /* Interrupt vector trampoline and command line parameters * are provided in IRAM by the rrload bootloader. Vectors will be - * copied into _svectors from _vflashstart. + * copied into _svectors. */ . = 0xffc00000; diff --git a/nuttx/configs/c5471evm/nsh/ld.script b/nuttx/configs/c5471evm/nsh/ld.script index 0aadf36d3..89397f3ad 100644 --- a/nuttx/configs/c5471evm/nsh/ld.script +++ b/nuttx/configs/c5471evm/nsh/ld.script @@ -1,8 +1,8 @@ /************************************************************ * ld.script * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,7 +39,7 @@ SECTIONS { /* Interrupt vector trampoline and command line parameters * are provided in IRAM by the rrload bootloader. Vectors will be - * copied into _svectors from _vflashstart. + * copied into _svectors. */ . = 0xffc00000; diff --git a/nuttx/configs/c5471evm/ostest/ld.script b/nuttx/configs/c5471evm/ostest/ld.script index 0aadf36d3..89397f3ad 100644 --- a/nuttx/configs/c5471evm/ostest/ld.script +++ b/nuttx/configs/c5471evm/ostest/ld.script @@ -1,8 +1,8 @@ /************************************************************ * ld.script * - * Copyright (C) 2007, 2011 Gregory Nutt. All rights reserved. - * Author: Gregory Nutt + * Copyright (C) 2007, 2011-2012 Gregory Nutt. All rights reserved. + * Author: Gregory Nutt * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions @@ -39,7 +39,7 @@ SECTIONS { /* Interrupt vector trampoline and command line parameters * are provided in IRAM by the rrload bootloader. Vectors will be - * copied into _svectors from _vflashstart. + * copied into _svectors. */ . = 0xffc00000; diff --git a/nuttx/configs/stm3240g-eval/README.txt b/nuttx/configs/stm3240g-eval/README.txt index af6e71dad..3e47d9db8 100755 --- a/nuttx/configs/stm3240g-eval/README.txt +++ b/nuttx/configs/stm3240g-eval/README.txt @@ -36,17 +36,19 @@ GNU Toolchain Options toolchain options. 1. The CodeSourcery GNU toolchain, - 2. The devkitARM GNU toolchain, - 3. Raisonance GNU toolchain, or - 4. The NuttX buildroot Toolchain (see below). + 2. The Atollic Toolchain, + 3. The devkitARM GNU toolchain, + 4. Raisonance GNU toolchain, or + 5. The NuttX buildroot Toolchain (see below). All testing has been conducted using the CodeSourcery toolchain for Windows. To use - the devkitARM, Raisonance GNU, or NuttX buildroot toolchain, you simply need to + the Atollic, devkitARM, Raisonance GNU, or NuttX buildroot toolchain, you simply need to add one of the following configuration options to your .config (or defconfig) file: CONFIG_STM32_CODESOURCERYW=y : CodeSourcery under Windows CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux + CONFIG_STM32_ATOLLIC=y : Atollic toolchain under Windows CONFIG_STM32_DEVKITARM=y : devkitARM under Windows CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) @@ -54,7 +56,7 @@ GNU Toolchain Options If you change the default toolchain, then you may also have to modify the PATH in the setenv.h file if your make cannot find the tools. - NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are + NOTE: the CodeSourcery (for Windows), Atollic, devkitARM, and Raisonance toolchains are Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot toolchains are Cygwin and/or Linux native toolchains. There are several limitations to using a Windows based toolchain in a Cygwin environment. The three biggest are: @@ -89,11 +91,31 @@ GNU Toolchain Options 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 1: The CodeSourcery toolchain (2009q1) does not work with default optimization + NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with -Os. - NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that + NOTE 2: The free, "Lite" version of the Atollic toolchain does not support C++ + nor does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite" + toolchain, you will have to set: + + CONFIG_HAVE_CXX=n + + In order to compile successfully. Otherwise, you will get errors like: + + "C++ Compiler only available in TrueSTUDIO Professional" + + The make may then fail in some of the post link processing because of some of + the other missing tools. The Make.defs file replaces the ar and nm with + the default system x86 tool versions and these seem to work okay. Disable all + of the following to avoid using objcopy: + + CONFIG_RRLOAD_BINARY=n + CONFIG_INTELHEX_BINARY=n + CONFIG_MOTOROLA_SREC=n + CONFIG_RAW_BINARY=n + + NOTE 3: The devkitARM toolchain includes a version of MSYS make. Make sure that the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM path or will get the wrong version of make. diff --git a/nuttx/configs/stm3240g-eval/dhcpd/Make.defs b/nuttx/configs/stm3240g-eval/dhcpd/Make.defs index db2007570..c78a5a047 100644 --- a/nuttx/configs/stm3240g-eval/dhcpd/Make.defs +++ b/nuttx/configs/stm3240g-eval/dhcpd/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/dhcpd/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/dhcpd/defconfig b/nuttx/configs/stm3240g-eval/dhcpd/defconfig index b11a2d90a..5bbaf0482 100644 --- a/nuttx/configs/stm3240g-eval/dhcpd/defconfig +++ b/nuttx/configs/stm3240g-eval/dhcpd/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/dhcpd/defconfig # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/dhcpd/setenv.sh b/nuttx/configs/stm3240g-eval/dhcpd/setenv.sh index 6b6f3102e..e4312c3c2 100755 --- a/nuttx/configs/stm3240g-eval/dhcpd/setenv.sh +++ b/nuttx/configs/stm3240g-eval/dhcpd/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm3240g-eval/dhcpd/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm3240g-eval/nettest/Make.defs b/nuttx/configs/stm3240g-eval/nettest/Make.defs index 3425f9e6a..42cb36f64 100644 --- a/nuttx/configs/stm3240g-eval/nettest/Make.defs +++ b/nuttx/configs/stm3240g-eval/nettest/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/nettest/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/nettest/defconfig b/nuttx/configs/stm3240g-eval/nettest/defconfig index 2f7d19956..b690b503b 100644 --- a/nuttx/configs/stm3240g-eval/nettest/defconfig +++ b/nuttx/configs/stm3240g-eval/nettest/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/nettest/defconfig # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/nettest/setenv.sh b/nuttx/configs/stm3240g-eval/nettest/setenv.sh index 9c87e1362..4ce9ee88f 100755 --- a/nuttx/configs/stm3240g-eval/nettest/setenv.sh +++ b/nuttx/configs/stm3240g-eval/nettest/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm3240g-eval/nettest/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm3240g-eval/nsh/Make.defs b/nuttx/configs/stm3240g-eval/nsh/Make.defs index cd612aa3e..ad84f4038 100644 --- a/nuttx/configs/stm3240g-eval/nsh/Make.defs +++ b/nuttx/configs/stm3240g-eval/nsh/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/nsh/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/nsh/defconfig b/nuttx/configs/stm3240g-eval/nsh/defconfig index d3f9ecfa3..75becc839 100644 --- a/nuttx/configs/stm3240g-eval/nsh/defconfig +++ b/nuttx/configs/stm3240g-eval/nsh/defconfig @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/nsh/setenv.sh b/nuttx/configs/stm3240g-eval/nsh/setenv.sh index 265520997..aacd28089 100755 --- a/nuttx/configs/stm3240g-eval/nsh/setenv.sh +++ b/nuttx/configs/stm3240g-eval/nsh/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm3240g-eval/nsh/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm3240g-eval/nsh2/Make.defs b/nuttx/configs/stm3240g-eval/nsh2/Make.defs index 3d463c0b6..10a4346e1 100644 --- a/nuttx/configs/stm3240g-eval/nsh2/Make.defs +++ b/nuttx/configs/stm3240g-eval/nsh2/Make.defs @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/nsh2/defconfig b/nuttx/configs/stm3240g-eval/nsh2/defconfig index 05f41123c..39abd9bef 100644 --- a/nuttx/configs/stm3240g-eval/nsh2/defconfig +++ b/nuttx/configs/stm3240g-eval/nsh2/defconfig @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=y # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/nsh2/setenv.sh b/nuttx/configs/stm3240g-eval/nsh2/setenv.sh index 53346f52e..380b35933 100755 --- a/nuttx/configs/stm3240g-eval/nsh2/setenv.sh +++ b/nuttx/configs/stm3240g-eval/nsh2/setenv.sh @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm3240g-eval/ostest/Make.defs b/nuttx/configs/stm3240g-eval/ostest/Make.defs index 7e09b5502..f49a8c9aa 100644 --- a/nuttx/configs/stm3240g-eval/ostest/Make.defs +++ b/nuttx/configs/stm3240g-eval/ostest/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/ostest/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/ostest/defconfig b/nuttx/configs/stm3240g-eval/ostest/defconfig index 78a23b09a..268af2367 100644 --- a/nuttx/configs/stm3240g-eval/ostest/defconfig +++ b/nuttx/configs/stm3240g-eval/ostest/defconfig @@ -1,7 +1,7 @@ ############################################################################ # configs/stm3240g-eval/ostest/defconfig # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/ostest/setenv.sh b/nuttx/configs/stm3240g-eval/ostest/setenv.sh index 5ce6562c1..bd830183e 100755 --- a/nuttx/configs/stm3240g-eval/ostest/setenv.sh +++ b/nuttx/configs/stm3240g-eval/ostest/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm3240g-eval/ostest/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm3240g-eval/telnetd/Make.defs b/nuttx/configs/stm3240g-eval/telnetd/Make.defs index 30a6296b4..fb4c2cc66 100644 --- a/nuttx/configs/stm3240g-eval/telnetd/Make.defs +++ b/nuttx/configs/stm3240g-eval/telnetd/Make.defs @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm3240g-eval/telnetd/defconfig b/nuttx/configs/stm3240g-eval/telnetd/defconfig index 0726e0e12..8120189f9 100644 --- a/nuttx/configs/stm3240g-eval/telnetd/defconfig +++ b/nuttx/configs/stm3240g-eval/telnetd/defconfig @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYL=n +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm3240g-eval/telnetd/setenv.sh b/nuttx/configs/stm3240g-eval/telnetd/setenv.sh index 52b7514ae..4edcc0db2 100755 --- a/nuttx/configs/stm3240g-eval/telnetd/setenv.sh +++ b/nuttx/configs/stm3240g-eval/telnetd/setenv.sh @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm32f4discovery/README.txt b/nuttx/configs/stm32f4discovery/README.txt index 31b950bd6..f6aeb3b89 100755 --- a/nuttx/configs/stm32f4discovery/README.txt +++ b/nuttx/configs/stm32f4discovery/README.txt @@ -35,17 +35,19 @@ GNU Toolchain Options toolchain options. 1. The CodeSourcery GNU toolchain, - 2. The devkitARM GNU toolchain, - 3. Raisonance GNU toolchain, or - 4. The NuttX buildroot Toolchain (see below). + 2. The Atollic Toolchain, + 3. The devkitARM GNU toolchain, + 4. Raisonance GNU toolchain, or + 5. The NuttX buildroot Toolchain (see below). All testing has been conducted using the CodeSourcery toolchain for Windows. To use - the devkitARM, Raisonance GNU, or NuttX buildroot toolchain, you simply need to + the Atollic, devkitARM, Raisonance GNU, or NuttX buildroot toolchain, you simply need to add one of the following configuration options to your .config (or defconfig) file: CONFIG_STM32_CODESOURCERYW=y : CodeSourcery under Windows CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux + CONFIG_STM32_ATOLLIC=y : Atollic toolchain under Windows CONFIG_STM32_DEVKITARM=y : devkitARM under Windows CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) @@ -53,7 +55,7 @@ GNU Toolchain Options If you change the default toolchain, then you may also have to modify the PATH in the setenv.h file if your make cannot find the tools. - NOTE: the CodeSourcery (for Windows), devkitARM, and Raisonance toolchains are + NOTE: the CodeSourcery (for Windows), Atollic, devkitARM, and Raisonance toolchains are Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot toolchains are Cygwin and/or Linux native toolchains. There are several limitations to using a Windows based toolchain in a Cygwin environment. The three biggest are: @@ -88,11 +90,31 @@ GNU Toolchain Options 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 1: The CodeSourcery toolchain (2009q1) does not work with default optimization + NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with -Os. - NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that + NOTE 2: The free, "Lite" version of the Atollic toolchain does not support C++ + nor does it support ar, nm, objdump, or objdcopy. If you use the Atollic "Lite" + toolchain, you will have to set: + + CONFIG_HAVE_CXX=n + + In order to compile successfully. Otherwise, you will get errors like: + + "C++ Compiler only available in TrueSTUDIO Professional" + + The make may then fail in some of the post link processing because of some of + the other missing tools. The Make.defs file replaces the ar and nm with + the default system x86 tool versions and these seem to work okay. Disable all + of the following to avoid using objcopy: + + CONFIG_RRLOAD_BINARY=n + CONFIG_INTELHEX_BINARY=n + CONFIG_MOTOROLA_SREC=n + CONFIG_RAW_BINARY=n + + NOTE 3: The devkitARM toolchain includes a version of MSYS make. Make sure that the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM path or will get the wrong version of make. diff --git a/nuttx/configs/stm32f4discovery/nsh/Make.defs b/nuttx/configs/stm32f4discovery/nsh/Make.defs index 3a5bf3aa1..02dec9abf 100644 --- a/nuttx/configs/stm32f4discovery/nsh/Make.defs +++ b/nuttx/configs/stm32f4discovery/nsh/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm32f4discovery/nsh/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm32f4discovery/nsh/defconfig b/nuttx/configs/stm32f4discovery/nsh/defconfig index ea5400882..051de3862 100755 --- a/nuttx/configs/stm32f4discovery/nsh/defconfig +++ b/nuttx/configs/stm32f4discovery/nsh/defconfig @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=n CONFIG_STM32_CODESOURCERYL=y +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm32f4discovery/nsh/setenv.sh b/nuttx/configs/stm32f4discovery/nsh/setenv.sh index 15539bf68..22fbebab2 100755 --- a/nuttx/configs/stm32f4discovery/nsh/setenv.sh +++ b/nuttx/configs/stm32f4discovery/nsh/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm32f4discovery/nsh/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" diff --git a/nuttx/configs/stm32f4discovery/ostest/Make.defs b/nuttx/configs/stm32f4discovery/ostest/Make.defs index 5a49387c6..ea129c142 100644 --- a/nuttx/configs/stm32f4discovery/ostest/Make.defs +++ b/nuttx/configs/stm32f4discovery/ostest/Make.defs @@ -1,7 +1,7 @@ ############################################################################ # configs/stm32f4discovery/ostest/Make.defs # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -40,30 +40,42 @@ include ${TOPDIR}/.config ifeq ($(CONFIG_STM32_CODESOURCERYW),y) # CodeSourcery under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_CODESOURCERYL),y) # CodeSourcery under Linux CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft MAXOPTIMIZATION = -O2 endif +ifeq ($(CONFIG_STM32_ATOLLIC),y) + # Atollic toolchain under Windows + CROSSDEV = arm-atollic-eabi- + ARCROSSDEV = + WINTOOL = y + ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft +endif ifeq ($(CONFIG_STM32_DEVKITARM),y) # devkitARM under Windows CROSSDEV = arm-eabi- + ARCROSSDEV = arm-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_RAISONANCE),y) # Raisonance RIDE7 under Windows CROSSDEV = arm-none-eabi- + ARCROSSDEV = arm-none-eabi- WINTOOL = y ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft endif ifeq ($(CONFIG_STM32_BUILDROOT),y) # NuttX buildroot under Linux or Cygwin CROSSDEV = arm-elf- + ARCROSSDEV = arm-elf- ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft MAXOPTIMIZATION = -Os endif @@ -91,8 +103,8 @@ CC = $(CROSSDEV)gcc CXX = $(CROSSDEV)g++ CPP = $(CROSSDEV)gcc -E LD = $(CROSSDEV)ld -AR = $(CROSSDEV)ar rcs -NM = $(CROSSDEV)nm +AR = $(ARCROSSDEV)ar rcs +NM = $(ARCROSSDEV)nm OBJCOPY = $(CROSSDEV)objcopy OBJDUMP = $(CROSSDEV)objdump diff --git a/nuttx/configs/stm32f4discovery/ostest/defconfig b/nuttx/configs/stm32f4discovery/ostest/defconfig index 60169385e..166d72338 100755 --- a/nuttx/configs/stm32f4discovery/ostest/defconfig +++ b/nuttx/configs/stm32f4discovery/ostest/defconfig @@ -97,6 +97,7 @@ CONFIG_ARCH_DMA=n # CONFIG_STM32_CODESOURCERYW=n CONFIG_STM32_CODESOURCERYL=y +CONFIG_STM32_ATOLLIC=n CONFIG_STM32_DEVKITARM=n CONFIG_STM32_RAISONANCE=n CONFIG_STM32_BUILDROOT=n diff --git a/nuttx/configs/stm32f4discovery/ostest/setenv.sh b/nuttx/configs/stm32f4discovery/ostest/setenv.sh index 58c639e16..b8b443c88 100755 --- a/nuttx/configs/stm32f4discovery/ostest/setenv.sh +++ b/nuttx/configs/stm32f4discovery/ostest/setenv.sh @@ -1,7 +1,7 @@ #!/bin/bash # configs/stm32f4discovery/ostest/setenv.sh # -# Copyright (C) 2011 Gregory Nutt. All rights reserved. +# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Author: Gregory Nutt # # Redistribution and use in source and binary forms, with or without @@ -57,6 +57,11 @@ fi # the CodeSourcery toolchain in any other location export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" +# This the Cygwin path to the location where I installed the Atollic +# toolchain under windows. You will also have to edit this if you install +# the CodeSourcery toolchain in any other location +#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for STMicroelectronics STM32 Lite 2.3.0/ARMTools/bin" + # This the Cygwin path to the location where I build the buildroot # toolchain. #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" -- cgit v1.2.3