From d14fbab22590b0fa6ac12fbd5b5cedfbffdba919 Mon Sep 17 00:00:00 2001 From: patacongo Date: Thu, 23 Feb 2012 18:42:36 +0000 Subject: [PATCH] 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 --- ChangeLog | 2 ++ arch/arm/src/Makefile | 5 ---- arch/arm/src/c5471/c5471_irq.c | 16 +++++----- arch/arm/src/dm320/dm320_irq.c | 9 +++--- arch/avr/src/Makefile | 5 ---- arch/hc/src/Makefile | 5 ---- arch/mips/src/Makefile | 5 ---- arch/sh/src/Makefile | 5 ---- arch/x86/src/Makefile | 5 ---- configs/c5471evm/httpd/ld.script | 6 ++-- configs/c5471evm/nettest/ld.script | 6 ++-- configs/c5471evm/nsh/ld.script | 6 ++-- configs/c5471evm/ostest/ld.script | 6 ++-- configs/stm3240g-eval/README.txt | 36 ++++++++++++++++++----- configs/stm3240g-eval/dhcpd/Make.defs | 18 ++++++++++-- configs/stm3240g-eval/dhcpd/defconfig | 3 +- configs/stm3240g-eval/dhcpd/setenv.sh | 7 ++++- configs/stm3240g-eval/nettest/Make.defs | 18 ++++++++++-- configs/stm3240g-eval/nettest/defconfig | 3 +- configs/stm3240g-eval/nettest/setenv.sh | 7 ++++- configs/stm3240g-eval/nsh/Make.defs | 18 ++++++++++-- configs/stm3240g-eval/nsh/defconfig | 1 + configs/stm3240g-eval/nsh/setenv.sh | 7 ++++- configs/stm3240g-eval/nsh2/Make.defs | 16 ++++++++-- configs/stm3240g-eval/nsh2/defconfig | 1 + configs/stm3240g-eval/nsh2/setenv.sh | 5 ++++ configs/stm3240g-eval/ostest/Make.defs | 18 ++++++++++-- configs/stm3240g-eval/ostest/defconfig | 3 +- configs/stm3240g-eval/ostest/setenv.sh | 7 ++++- configs/stm3240g-eval/telnetd/Make.defs | 16 ++++++++-- configs/stm3240g-eval/telnetd/defconfig | 1 + configs/stm3240g-eval/telnetd/setenv.sh | 5 ++++ configs/stm32f4discovery/README.txt | 36 ++++++++++++++++++----- configs/stm32f4discovery/nsh/Make.defs | 18 ++++++++++-- configs/stm32f4discovery/nsh/defconfig | 1 + configs/stm32f4discovery/nsh/setenv.sh | 7 ++++- configs/stm32f4discovery/ostest/Make.defs | 18 ++++++++++-- configs/stm32f4discovery/ostest/defconfig | 1 + configs/stm32f4discovery/ostest/setenv.sh | 7 ++++- 39 files changed, 258 insertions(+), 101 deletions(-) diff --git a/ChangeLog b/ChangeLog index df9646b47b6..dde8764599b 100644 --- a/ChangeLog +++ b/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/arch/arm/src/Makefile b/arch/arm/src/Makefile index 3868f6c9a0b..790880c86af 100644 --- a/arch/arm/src/Makefile +++ b/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/arch/arm/src/c5471/c5471_irq.c b/arch/arm/src/c5471/c5471_irq.c index fbeb2e72068..49930f60fc7 100644 --- a/arch/arm/src/c5471/c5471_irq.c +++ b/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/arch/arm/src/dm320/dm320_irq.c b/arch/arm/src/dm320/dm320_irq.c index eb8201bb44d..2fb41475d74 100644 --- a/arch/arm/src/dm320/dm320_irq.c +++ b/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/arch/avr/src/Makefile b/arch/avr/src/Makefile index 7b297f1c1e7..5584ca5afd9 100644 --- a/arch/avr/src/Makefile +++ b/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/arch/hc/src/Makefile b/arch/hc/src/Makefile index 101f24e42cb..9e5be386e5e 100755 --- a/arch/hc/src/Makefile +++ b/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/arch/mips/src/Makefile b/arch/mips/src/Makefile index b578314415f..57da4844b5b 100644 --- a/arch/mips/src/Makefile +++ b/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/arch/sh/src/Makefile b/arch/sh/src/Makefile index a9683fe08fc..3423b63f49c 100644 --- a/arch/sh/src/Makefile +++ b/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/arch/x86/src/Makefile b/arch/x86/src/Makefile index e91df0c8583..8b7032a0955 100644 --- a/arch/x86/src/Makefile +++ b/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/configs/c5471evm/httpd/ld.script b/configs/c5471evm/httpd/ld.script index 0aadf36d371..89397f3ad14 100644 --- a/configs/c5471evm/httpd/ld.script +++ b/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/configs/c5471evm/nettest/ld.script b/configs/c5471evm/nettest/ld.script index 0aadf36d371..89397f3ad14 100644 --- a/configs/c5471evm/nettest/ld.script +++ b/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/configs/c5471evm/nsh/ld.script b/configs/c5471evm/nsh/ld.script index 0aadf36d371..89397f3ad14 100644 --- a/configs/c5471evm/nsh/ld.script +++ b/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/configs/c5471evm/ostest/ld.script b/configs/c5471evm/ostest/ld.script index 0aadf36d371..89397f3ad14 100644 --- a/configs/c5471evm/ostest/ld.script +++ b/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/configs/stm3240g-eval/README.txt b/configs/stm3240g-eval/README.txt index af6e71dadbc..3e47d9db87b 100755 --- a/configs/stm3240g-eval/README.txt +++ b/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/configs/stm3240g-eval/dhcpd/Make.defs b/configs/stm3240g-eval/dhcpd/Make.defs index db2007570cb..c78a5a04752 100644 --- a/configs/stm3240g-eval/dhcpd/Make.defs +++ b/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/configs/stm3240g-eval/dhcpd/defconfig b/configs/stm3240g-eval/dhcpd/defconfig index b11a2d90a5a..5bbaf0482f4 100644 --- a/configs/stm3240g-eval/dhcpd/defconfig +++ b/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/configs/stm3240g-eval/dhcpd/setenv.sh b/configs/stm3240g-eval/dhcpd/setenv.sh index 6b6f3102e12..e4312c3c240 100755 --- a/configs/stm3240g-eval/dhcpd/setenv.sh +++ b/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/configs/stm3240g-eval/nettest/Make.defs b/configs/stm3240g-eval/nettest/Make.defs index 3425f9e6a93..42cb36f6472 100644 --- a/configs/stm3240g-eval/nettest/Make.defs +++ b/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/configs/stm3240g-eval/nettest/defconfig b/configs/stm3240g-eval/nettest/defconfig index 2f7d1995610..b690b503b1d 100644 --- a/configs/stm3240g-eval/nettest/defconfig +++ b/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/configs/stm3240g-eval/nettest/setenv.sh b/configs/stm3240g-eval/nettest/setenv.sh index 9c87e1362dd..4ce9ee88f6f 100755 --- a/configs/stm3240g-eval/nettest/setenv.sh +++ b/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/configs/stm3240g-eval/nsh/Make.defs b/configs/stm3240g-eval/nsh/Make.defs index cd612aa3ed7..ad84f403861 100644 --- a/configs/stm3240g-eval/nsh/Make.defs +++ b/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/configs/stm3240g-eval/nsh/defconfig b/configs/stm3240g-eval/nsh/defconfig index d3f9ecfa355..75becc83922 100644 --- a/configs/stm3240g-eval/nsh/defconfig +++ b/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/configs/stm3240g-eval/nsh/setenv.sh b/configs/stm3240g-eval/nsh/setenv.sh index 265520997da..aacd2808985 100755 --- a/configs/stm3240g-eval/nsh/setenv.sh +++ b/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/configs/stm3240g-eval/nsh2/Make.defs b/configs/stm3240g-eval/nsh2/Make.defs index 3d463c0b69a..10a4346e13f 100644 --- a/configs/stm3240g-eval/nsh2/Make.defs +++ b/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/configs/stm3240g-eval/nsh2/defconfig b/configs/stm3240g-eval/nsh2/defconfig index 05f41123c88..39abd9bef81 100644 --- a/configs/stm3240g-eval/nsh2/defconfig +++ b/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/configs/stm3240g-eval/nsh2/setenv.sh b/configs/stm3240g-eval/nsh2/setenv.sh index 53346f52e49..380b35933cf 100755 --- a/configs/stm3240g-eval/nsh2/setenv.sh +++ b/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/configs/stm3240g-eval/ostest/Make.defs b/configs/stm3240g-eval/ostest/Make.defs index 7e09b5502ba..f49a8c9aa53 100644 --- a/configs/stm3240g-eval/ostest/Make.defs +++ b/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/configs/stm3240g-eval/ostest/defconfig b/configs/stm3240g-eval/ostest/defconfig index 78a23b09aab..268af2367c3 100644 --- a/configs/stm3240g-eval/ostest/defconfig +++ b/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/configs/stm3240g-eval/ostest/setenv.sh b/configs/stm3240g-eval/ostest/setenv.sh index 5ce6562c1a4..bd830183e7e 100755 --- a/configs/stm3240g-eval/ostest/setenv.sh +++ b/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/configs/stm3240g-eval/telnetd/Make.defs b/configs/stm3240g-eval/telnetd/Make.defs index 30a6296b4e4..fb4c2cc666d 100644 --- a/configs/stm3240g-eval/telnetd/Make.defs +++ b/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/configs/stm3240g-eval/telnetd/defconfig b/configs/stm3240g-eval/telnetd/defconfig index 0726e0e1223..8120189f9db 100644 --- a/configs/stm3240g-eval/telnetd/defconfig +++ b/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/configs/stm3240g-eval/telnetd/setenv.sh b/configs/stm3240g-eval/telnetd/setenv.sh index 52b7514ae77..4edcc0db295 100755 --- a/configs/stm3240g-eval/telnetd/setenv.sh +++ b/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/configs/stm32f4discovery/README.txt b/configs/stm32f4discovery/README.txt index 31b950bd6e5..f6aeb3b89bf 100755 --- a/configs/stm32f4discovery/README.txt +++ b/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/configs/stm32f4discovery/nsh/Make.defs b/configs/stm32f4discovery/nsh/Make.defs index 3a5bf3aa194..02dec9abf37 100644 --- a/configs/stm32f4discovery/nsh/Make.defs +++ b/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/configs/stm32f4discovery/nsh/defconfig b/configs/stm32f4discovery/nsh/defconfig index ea540088218..051de38626e 100755 --- a/configs/stm32f4discovery/nsh/defconfig +++ b/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/configs/stm32f4discovery/nsh/setenv.sh b/configs/stm32f4discovery/nsh/setenv.sh index 15539bf6824..22fbebab2cc 100755 --- a/configs/stm32f4discovery/nsh/setenv.sh +++ b/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/configs/stm32f4discovery/ostest/Make.defs b/configs/stm32f4discovery/ostest/Make.defs index 5a49387c688..ea129c14234 100644 --- a/configs/stm32f4discovery/ostest/Make.defs +++ b/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/configs/stm32f4discovery/ostest/defconfig b/configs/stm32f4discovery/ostest/defconfig index 60169385e7a..166d723386d 100755 --- a/configs/stm32f4discovery/ostest/defconfig +++ b/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/configs/stm32f4discovery/ostest/setenv.sh b/configs/stm32f4discovery/ostest/setenv.sh index 58c639e16f6..b8b443c8859 100755 --- a/configs/stm32f4discovery/ostest/setenv.sh +++ b/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"