Updates the STM3220G-EVAL configurations

git-svn-id: https://nuttx.svn.sourceforge.net/svnroot/nuttx/trunk@4572 7fd9a85b-ad96-42d3-883c-3090e2eb8679
This commit is contained in:
patacongo 2012-04-07 22:32:35 +00:00
parent 4205d70cc8
commit 14c3218bdd
47 changed files with 696 additions and 9745 deletions

View File

@ -2,7 +2,7 @@ README
====== ======
This README discusses issues unique to NuttX configurations for the This README discusses issues unique to NuttX configurations for the
STMicro STM32140G-EVAL development board. STMicro STM3220G-EVAL development board.
Contents Contents
======== ========
@ -16,6 +16,8 @@ Contents
- Ethernet - Ethernet
- PWM - PWM
- CAN - CAN
- FSMC SRAM
- STM3220G-EVAL-specific Configuration Options
- Configurations - Configurations
Development Environment Development Environment
@ -30,21 +32,27 @@ Development Environment
GNU Toolchain Options GNU Toolchain Options
===================== =====================
Toolchain Configurations
------------------------
The NuttX make system has been modified to support the following different The NuttX make system has been modified to support the following different
toolchain options. toolchain options.
1. The CodeSourcery GNU toolchain, 1. The CodeSourcery GNU toolchain,
2. The devkitARM GNU toolchain, 2. The Atollic Toolchain,
3. Raisonance GNU toolchain, or 3. The devkitARM GNU toolchain,
4. The NuttX buildroot Toolchain (see below). 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 Most testing has been conducted using the CodeSourcery toolchain for Windows and
the devkitARM, Raisonance GNU, or NuttX buildroot toolchain, you simply need to that is the default toolchain in most configurations. To use 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) add one of the following configuration options to your .config (or defconfig)
file: file:
CONFIG_STM32_CODESOURCERYW=y : CodeSourcery under Windows CONFIG_STM32_CODESOURCERYW=y : CodeSourcery under Windows
CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux CONFIG_STM32_CODESOURCERYL=y : CodeSourcery under Linux
CONFIG_STM32_ATOLLIC_LITE=y : The free, "Lite" version of Atollic toolchain under Windows
CONFIG_STM32_ATOLLIC_PRO=y : The paid, "Pro" version of Atollic toolchain under Windows
CONFIG_STM32_DEVKITARM=y : devkitARM under Windows CONFIG_STM32_DEVKITARM=y : devkitARM under Windows
CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows CONFIG_STM32_RAISONANCE=y : Raisonance RIDE7 under Windows
CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default) CONFIG_STM32_BUILDROOT=y : NuttX buildroot under Linux or Cygwin (default)
@ -52,7 +60,7 @@ GNU Toolchain Options
If you change the default toolchain, then you may also have to modify the PATH in 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. 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 Windows native toolchains. The CodeSourcey (for Linux) and NuttX buildroot
toolchains are Cygwin and/or Linux native toolchains. There are several limitations 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: to using a Windows based toolchain in a Cygwin environment. The three biggest are:
@ -87,11 +95,45 @@ GNU Toolchain Options
If you have problems with the dependency build (for example, if you are not 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 building on C:), then you may need to modify tools/mkdeps.sh
NOTE 1: The CodeSourcery toolchain (2009q1) does not work with default optimization The CodeSourcery Toolchain (2009q1)
-----------------------------------
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 level of -Os (See Make.defs). It will work with -O0, -O1, or -O2, but not with
-Os. -Os.
NOTE 2: The devkitARM toolchain includes a version of MSYS make. Make sure that The Atollic "Pro" and "Lite" Toolchain
--------------------------------------
One problem that I had with the Atollic toolchains is that the provide a gcc.exe
and g++.exe in the same bin/ file as their ARM binaries. If the Atollic bin/ path
appears in your PATH variable before /usr/bin, then you will get the wrong gcc
when you try to build host executables. This will cause to strange, uninterpretable
errors build some host binaries in tools/ when you first make.
The Atollic "Lite" Toolchain
----------------------------
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
devkitARM
---------
The devkitARM toolchain includes a version of MSYS make. Make sure that the
the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM the paths to Cygwin's /bin and /usr/bin directories appear BEFORE the devkitARM
path or will get the wrong version of make. path or will get the wrong version of make.
@ -346,9 +388,22 @@ STM3220G-EVAL-specific Configuration Options
CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE) CONFIG_DRAM_END=(CONFIG_DRAM_START+CONFIG_DRAM_SIZE)
CONFIG_ARCH_IRQPRIO - The STM3220xxx supports interrupt prioritization CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP
CONFIG_ARCH_IRQPRIO=y In addition to internal SRAM, SRAM may also be available through the FSMC.
In order to use FSMC SRAM, the following additional things need to be
present in the NuttX configuration file:
CONFIG_STM32_FSMC_SRAM - Indicates that SRAM is available via the
FSMC (as opposed to an LCD or FLASH).
CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
CONFIG_ARCH_IRQPRIO - The STM3220xxx supports interrupt prioritization
CONFIG_ARCH_IRQPRIO=y
CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that CONFIG_ARCH_LEDS - Use LEDs to show state. Unique to boards that
have LEDs have LEDs
@ -690,7 +745,7 @@ Where <subdir> is one of the following:
-CONFIG_STM32_SDIO=n : SDIO is enabled -CONFIG_STM32_SDIO=n : SDIO is enabled
+CONFIG_STM32_SDIO=y +CONFIG_STM32_SDIO=y
Logically, that is the only difference: This configuration has SDIO (and Logically, these are the only differences: This configuration has SDIO (and
the SD card) enabled and the serial console disabled. There is ONLY a the SD card) enabled and the serial console disabled. There is ONLY a
Telnet console!. Telnet console!.
@ -716,9 +771,44 @@ Where <subdir> is one of the following:
configuration. configuration.
2. RS-232 is disabled, but Telnet is still available for use as a console. 2. RS-232 is disabled, but Telnet is still available for use as a console.
Since RS-232 and SDIO use the same pins (one controlled by JP22), RS232
and SDIO cannot be used concurrently.
3. This configuration requires that jumper JP22 be set to enable SDIO operation. 3. This configuration requires that jumper JP22 be set to enable SDIO operation.
4. In order to use SDIO without overruns, DMA must be used. The STM32 F4
has 192Kb of SRAM in two banks: 112Kb of "system" SRAM located at
0x2000:0000 and 64Kb of "CCM" SRAM located at 0x1000:0000. It appears
that you cannot perform DMA from CCM SRAM. The work around that I have now
is simply to omit the 64Kb of CCM SRAM from the heap so that all memory is
allocated from System SRAM. This is done by setting:
CONFIG_MM_REGIONS=1
Then DMA works fine. The downside is, of course, is that we lose 64Kb
of precious SRAM.
5. Another SDIO/DMA issue. This one is probably a software bug. This is
the bug as stated in the TODO list:
"If you use a large I/O buffer to access the file system, then the
MMCSD driver will perform multiple block SD transfers. With DMA
ON, this seems to result in CRC errors detected by the hardware
during the transfer. Workaround: CONFIG_MMCSD_MULTIBLOCK_DISABLE=y"
For this reason, CONFIG_MMCSD_MULTIBLOCK_DISABLE=y appears in the defconfig
file.
6. Another DMA-related concern. I see this statement in the reference
manual: "The burst configuration has to be selected in order to respect
the AHB protocol, where bursts must not cross the 1 KB address boundary
because the minimum address space that can be allocated to a single slave
is 1 KB. This means that the 1 KB address boundary should not be crossed
by a burst block transfer, otherwise an AHB error would be generated,
that is not reported by the DMA registers."
There is nothing in the DMA driver to prevent this now.
ostest: ostest:
------ ------
This configuration directory, performs a simple OS test using This configuration directory, performs a simple OS test using

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/dhcpd/Make.defs # configs/stm3220g-eval/dhcpd/Make.defs
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/dhcpd/appconfig # configs/stm3220g-eval/dhcpd/appconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr> # Author: Gregory Nutt <spudmonkey@racsa.co.cr>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/dhcpd/defconfig # configs/stm3220g-eval/dhcpd/defconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -94,6 +94,8 @@ CONFIG_ARCH_DMA=n
# #
CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=n CONFIG_STM32_BUILDROOT=n
@ -115,6 +117,30 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
CONFIG_STM32_CCMEXCLUDE=y
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -268,6 +294,8 @@ CONFIG_SSI_POLLWAIT=y
# mode for testing. The STM32 CAN driver does support loopback mode. # mode for testing. The STM32 CAN driver does support loopback mode.
# CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined. # CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined.
# CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined. # CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined.
# CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
# CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
# #
CONFIG_CAN=n CONFIG_CAN=n
CONFIG_CAN_EXTID=n CONFIG_CAN_EXTID=n
@ -314,7 +342,7 @@ CONFIG_STM32_MII_MCO2=n
CONFIG_STM32_RMII=n CONFIG_STM32_RMII=n
CONFIG_STM32_AUTONEG=y CONFIG_STM32_AUTONEG=y
#CONFIG_STM32_ETHFD #CONFIG_STM32_ETHFD
#CONFIG_STM32_ETH100MB #CONFIG_STM32_ETH100MBPS
CONFIG_STM32_PHYSR=16 CONFIG_STM32_PHYSR=16
CONFIG_STM32_PHYSR_SPEED=0x0002 CONFIG_STM32_PHYSR_SPEED=0x0002
CONFIG_STM32_PHYSR_100MBPS=0x0000 CONFIG_STM32_PHYSR_100MBPS=0x0000
@ -362,7 +390,10 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_VERBOSE - enables verbose debug output # CONFIG_DEBUG_VERBOSE - enables verbose debug output
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++S # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -451,12 +482,13 @@ CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n CONFIG_DEBUG_SYMBOLS=n
CONFIG_DEBUG_NET=n CONFIG_DEBUG_NET=n
CONFIG_HAVE_CXX=y CONFIG_HAVE_CXX=y
CONFIG_MM_REGIONS=1 CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_MM_REGIONS=2
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
CONFIG_TASK_NAME_SIZE=0 CONFIG_TASK_NAME_SIZE=0
CONFIG_START_YEAR=2011 CONFIG_START_YEAR=2012
CONFIG_START_MONTH=12 CONFIG_START_MONTH=12
CONFIG_START_DAY=13 CONFIG_START_DAY=13
CONFIG_GREGORIAN_TIME=n CONFIG_GREGORIAN_TIME=n
@ -696,6 +728,9 @@ CONFIG_FS_WRITEBUFFER=n
# Default: Medium # Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: # CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode. # 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
@ -705,20 +740,7 @@ CONFIG_SDIO_DMA=n
#CONFIG_SDIO_PRI=128 #CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO #CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY #CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_HAVECARDDETECT=n
#
# SDIO-based MMC/SD driver
#
# CONFIG_SDIO_DMA
# SDIO driver supports DMA
# CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate
#
CONFIG_SDIO_DMA=n
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* configs/stm3220g-eval/dhcpd/ld.script * configs/stm3220g-eval/dhcpd/ld.script
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# configs/stm3220g-eval/dhcpd/setenv.sh # configs/stm3220g-eval/dhcpd/setenv.sh
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -57,6 +57,14 @@ fi
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"

View File

@ -2,7 +2,7 @@
* configs/stm3220g-eval/include/board.h * configs/stm3220g-eval/include/board.h
* include/arch/board/board.h * include/arch/board/board.h
* *
* Copyright (C) 2011-12 Gregory Nutt. All rights reserved. * Copyright (C) 2012-12 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/nettest/Make.defs # configs/stm3220g-eval/nettest/Make.defs
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/nettest/nettest/appconfig # configs/stm3220g-eval/nettest/appconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/nettest/defconfig # configs/stm3220g-eval/nettest/defconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -94,6 +94,8 @@ CONFIG_ARCH_DMA=n
# #
CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=n CONFIG_STM32_BUILDROOT=n
@ -115,6 +117,30 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
CONFIG_STM32_CCMEXCLUDE=y
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -268,6 +294,8 @@ CONFIG_SSI_POLLWAIT=y
# mode for testing. The STM32 CAN driver does support loopback mode. # mode for testing. The STM32 CAN driver does support loopback mode.
# CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined. # CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined.
# CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined. # CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined.
# CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
# CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
# #
CONFIG_CAN=n CONFIG_CAN=n
CONFIG_CAN_EXTID=n CONFIG_CAN_EXTID=n
@ -362,7 +390,10 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_VERBOSE - enables verbose debug output # CONFIG_DEBUG_VERBOSE - enables verbose debug output
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++S # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -451,12 +482,13 @@ CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n CONFIG_DEBUG_SYMBOLS=n
CONFIG_DEBUG_NET=n CONFIG_DEBUG_NET=n
CONFIG_HAVE_CXX=y CONFIG_HAVE_CXX=y
CONFIG_MM_REGIONS=1 CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_MM_REGIONS=2
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
CONFIG_TASK_NAME_SIZE=0 CONFIG_TASK_NAME_SIZE=0
CONFIG_START_YEAR=2011 CONFIG_START_YEAR=2012
CONFIG_START_MONTH=12 CONFIG_START_MONTH=12
CONFIG_START_DAY=6 CONFIG_START_DAY=6
CONFIG_GREGORIAN_TIME=n CONFIG_GREGORIAN_TIME=n
@ -696,6 +728,9 @@ CONFIG_FS_WRITEBUFFER=n
# Default: Medium # Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: # CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode. # 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
@ -705,20 +740,7 @@ CONFIG_SDIO_DMA=n
#CONFIG_SDIO_PRI=128 #CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO #CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY #CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_HAVECARDDETECT=n
#
# SDIO-based MMC/SD driver
#
# CONFIG_SDIO_DMA
# SDIO driver supports DMA
# CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate
#
CONFIG_SDIO_DMA=n
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* configs/stm3220g-eval/nettest/ld.script * configs/stm3220g-eval/nettest/ld.script
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# configs/stm3220g-eval/nettest/setenv.sh # configs/stm3220g-eval/nettest/setenv.sh
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -57,6 +57,14 @@ fi
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/nsh/Make.defs # configs/stm3220g-eval/nsh/Make.defs
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/nsh/appconfig # configs/stm3220g-eval/nsh/appconfig
# #
# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/nsh/defconfig # configs/stm3220g-eval/nsh/defconfig
# #
# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -92,11 +92,13 @@ CONFIG_ARCH_DMA=n
# #
# Identify toolchain and linker options # Identify toolchain and linker options
# #
CONFIG_STM32_CODESOURCERYW=n CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=y CONFIG_STM32_BUILDROOT=n
# #
# JTAG Enable settings (by default JTAG-DP and SW-DP are disabled): # JTAG Enable settings (by default JTAG-DP and SW-DP are disabled):
@ -110,11 +112,35 @@ CONFIG_STM32_BUILDROOT=y
# but without JNTRST. # but without JNTRST.
# CONFIG_STM32_JTAG_SW_ENABLE - Set JTAG-DP disabled and SW-DP enabled # CONFIG_STM32_JTAG_SW_ENABLE - Set JTAG-DP disabled and SW-DP enabled
# #
CONFIG_STM32_DFU=n CONFIG_STM32_DFU=y
CONFIG_STM32_JTAG_FULL_ENABLE=y CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
CONFIG_STM32_CCMEXCLUDE=y
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -316,7 +342,7 @@ CONFIG_STM32_MII_MCO2=n
CONFIG_STM32_RMII=n CONFIG_STM32_RMII=n
CONFIG_STM32_AUTONEG=y CONFIG_STM32_AUTONEG=y
#CONFIG_STM32_ETHFD #CONFIG_STM32_ETHFD
#CONFIG_STM32_ETH100MB #CONFIG_STM32_ETH100MBPS
CONFIG_STM32_PHYSR=16 CONFIG_STM32_PHYSR=16
CONFIG_STM32_PHYSR_SPEED=0x0002 CONFIG_STM32_PHYSR_SPEED=0x0002
CONFIG_STM32_PHYSR_100MBPS=0x0000 CONFIG_STM32_PHYSR_100MBPS=0x0000
@ -399,6 +425,9 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++ # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -495,13 +524,15 @@ CONFIG_DEBUG_ANALOG=n
CONFIG_DEBUG_PWM=n CONFIG_DEBUG_PWM=n
CONFIG_DEBUG_CAN=n CONFIG_DEBUG_CAN=n
CONFIG_DEBUG_I2C=n CONFIG_DEBUG_I2C=n
CONFIG_DEBUG_DMA=n
CONFIG_HAVE_CXX=n CONFIG_HAVE_CXX=n
CONFIG_HAVE_CXXINITIALIZE=n
CONFIG_MM_REGIONS=1 CONFIG_MM_REGIONS=1
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
CONFIG_TASK_NAME_SIZE=0 CONFIG_TASK_NAME_SIZE=0
CONFIG_START_YEAR=2011 CONFIG_START_YEAR=2012
CONFIG_START_MONTH=12 CONFIG_START_MONTH=12
CONFIG_START_DAY=6 CONFIG_START_DAY=6
CONFIG_GREGORIAN_TIME=n CONFIG_GREGORIAN_TIME=n
@ -773,6 +804,9 @@ CONFIG_FS_WRITEBUFFER=n
# Default: Medium # Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: # CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode. # 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
@ -782,22 +816,10 @@ CONFIG_SDIO_DMA=n
#CONFIG_SDIO_PRI=128 #CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO #CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY #CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n
#
# SDIO-based MMC/SD driver
#
# CONFIG_SDIO_DMA
# SDIO driver supports DMA
# CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate
#
CONFIG_SDIO_DMA=n
CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n
# #
# TCP/IP and UDP support via uIP # TCP/IP and UDP support via uIP
@ -875,9 +897,9 @@ CONFIG_NET_RESOLV_ENTRIES=4
# CONFIG_FTPD_SERVERID - The server name to use in FTP communications. # CONFIG_FTPD_SERVERID - The server name to use in FTP communications.
# Default: "NuttX FTP Server" # Default: "NuttX FTP Server"
# CONFIG_FTPD_CMDBUFFERSIZE - The maximum size of one command. Default: # CONFIG_FTPD_CMDBUFFERSIZE - The maximum size of one command. Default:
# 512 bytes. # 128 bytes.
# CONFIG_FTPD_DATABUFFERSIZE - The size of the I/O buffer for data # CONFIG_FTPD_DATABUFFERSIZE - The size of the I/O buffer for data
# transfers. Default: 2048 bytes. # transfers. Default: 512 bytes.
# CONFIG_FTPD_WORKERSTACKSIZE - The stacksize to allocate for each # CONFIG_FTPD_WORKERSTACKSIZE - The stacksize to allocate for each
# FTP daemon worker thread. Default: 2048 bytes. # FTP daemon worker thread. Default: 2048 bytes.
# #
@ -887,6 +909,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
# CONFIG_DISABLE_PTHREAD - pthread support is required # CONFIG_DISABLE_PTHREAD - pthread support is required
# CONFIG_DISABLE_POLL - poll() support is required # CONFIG_DISABLE_POLL - poll() support is required
# #
CONFIG_FTPD_CMDBUFFERSIZE=2048
# #
# RTC Configuration # RTC Configuration
@ -1176,8 +1199,8 @@ CONFIG_NX_MXCLIENTMSGS=16
# #
# Settings for examples/uip # Settings for examples/uip
# #
CONFIG_EXAMPLE_UIP_IPADDR=(10<<24|0<<16|0<<8|2) CONFIG_EXAMPLE_UIP_IPADDR==(192<<24|168<<16|21<<8|15)
CONFIG_EXAMPLE_UIP_DRIPADDR=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_UIP_DRIPADDR=(192<<24|168<<16|21<<8|10)
CONFIG_EXAMPLE_UIP_NETMASK=(255<<24|255<<16|255<<8|0) CONFIG_EXAMPLE_UIP_NETMASK=(255<<24|255<<16|255<<8|0)
CONFIG_EXAMPLE_UIP_DHCPC=n CONFIG_EXAMPLE_UIP_DHCPC=n
@ -1186,10 +1209,10 @@ CONFIG_EXAMPLE_UIP_DHCPC=n
CONFIG_EXAMPLE_NETTEST_SERVER=n CONFIG_EXAMPLE_NETTEST_SERVER=n
CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n
CONFIG_EXAMPLE_NETTEST_NOMAC=y CONFIG_EXAMPLE_NETTEST_NOMAC=y
CONFIG_EXAMPLE_NETTEST_IPADDR=(10<<24|0<<16|0<<8|2) CONFIG_EXAMPLE_NETTEST_IPADDR==(192<<24|168<<16|21<<8|15)
CONFIG_EXAMPLE_NETTEST_DRIPADDR=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_NETTEST_DRIPADDR=(192<<24|168<<16|21<<8|10)
CONFIG_EXAMPLE_NETTEST_NETMASK=(255<<24|255<<16|255<<8|0) CONFIG_EXAMPLE_NETTEST_NETMASK=(255<<24|255<<16|255<<8|0)
CONFIG_EXAMPLE_NETTEST_CLIENTIP=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_NETTEST_CLIENTIP=(192<<24|168<<16|21<<8|10)
# #
# Settings for examples/ostest # Settings for examples/ostest

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* configs/stm3220g-eval/nsh/ld.script * configs/stm3220g-eval/nsh/ld.script
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# configs/stm3210e-eval/nsh2/setenv.sh # configs/stm3220g-eval/nsh/setenv.sh
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions # modification, are permitted provided that the following conditions
@ -57,6 +57,14 @@ fi
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" #export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.
export TOOLCHAIN_BIN="${WD}/../buildroot/build_arm_nofpu/staging_dir/bin" export TOOLCHAIN_BIN="${WD}/../buildroot/build_arm_nofpu/staging_dir/bin"

View File

@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -93,11 +93,13 @@ CONFIG_ARCH_DMA=n
# #
# Identify toolchain and linker options # Identify toolchain and linker options
# #
CONFIG_STM32_CODESOURCERYW=n CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=y CONFIG_STM32_BUILDROOT=n
# #
# JTAG Enable settings (by default JTAG-DP and SW-DP are disabled): # JTAG Enable settings (by default JTAG-DP and SW-DP are disabled):
@ -111,11 +113,35 @@ CONFIG_STM32_BUILDROOT=y
# but without JNTRST. # but without JNTRST.
# CONFIG_STM32_JTAG_SW_ENABLE - Set JTAG-DP disabled and SW-DP enabled # CONFIG_STM32_JTAG_SW_ENABLE - Set JTAG-DP disabled and SW-DP enabled
# #
CONFIG_STM32_DFU=n CONFIG_STM32_DFU=y
CONFIG_STM32_JTAG_FULL_ENABLE=y CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
CONFIG_STM32_CCMEXCLUDE=y
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -125,7 +151,7 @@ CONFIG_STM32_CRC=n
CONFIG_STM32_BKPSRAM=n CONFIG_STM32_BKPSRAM=n
CONFIG_STM32_CCMDATARAM=n CONFIG_STM32_CCMDATARAM=n
CONFIG_STM32_DMA1=n CONFIG_STM32_DMA1=n
CONFIG_STM32_DMA2=n CONFIG_STM32_DMA2=y
CONFIG_STM32_ETHMAC=y CONFIG_STM32_ETHMAC=y
CONFIG_STM32_OTGHS=n CONFIG_STM32_OTGHS=n
# AHB2: # AHB2:
@ -400,6 +426,9 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++ # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -483,26 +512,28 @@ CONFIG_HAVE_LIBM=n
# CONFIG_SCHED_ATEXIT - Enabled the atexit() API # CONFIG_SCHED_ATEXIT - Enabled the atexit() API
# #
#CONFIG_APPS_DIR= #CONFIG_APPS_DIR=
CONFIG_DEBUG=y CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=y CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=y CONFIG_DEBUG_SYMBOLS=n
CONFIG_DEBUG_FS=n CONFIG_DEBUG_FS=n
CONFIG_DEBUG_GRAPHICS=n CONFIG_DEBUG_GRAPHICS=n
CONFIG_DEBUG_LCD=n CONFIG_DEBUG_LCD=n
CONFIG_DEBUG_USB=n CONFIG_DEBUG_USB=n
CONFIG_DEBUG_NET=y CONFIG_DEBUG_NET=n
CONFIG_DEBUG_RTC=n CONFIG_DEBUG_RTC=n
CONFIG_DEBUG_ANALOG=n CONFIG_DEBUG_ANALOG=n
CONFIG_DEBUG_PWM=n CONFIG_DEBUG_PWM=n
CONFIG_DEBUG_CAN=n CONFIG_DEBUG_CAN=n
CONFIG_DEBUG_I2C=n CONFIG_DEBUG_I2C=n
CONFIG_HAVE_CXX=n CONFIG_DEBUG_DMA=n
CONFIG_HAVE_CXX=y
CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_MM_REGIONS=1 CONFIG_MM_REGIONS=1
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
CONFIG_TASK_NAME_SIZE=0 CONFIG_TASK_NAME_SIZE=0
CONFIG_START_YEAR=2011 CONFIG_START_YEAR=2012
CONFIG_START_MONTH=12 CONFIG_START_MONTH=12
CONFIG_START_DAY=6 CONFIG_START_DAY=6
CONFIG_GREGORIAN_TIME=n CONFIG_GREGORIAN_TIME=n
@ -595,7 +626,7 @@ CONFIG_DISABLE_SIGNALS=n
CONFIG_DISABLE_MQUEUE=n CONFIG_DISABLE_MQUEUE=n
CONFIG_DISABLE_MOUNTPOINT=n CONFIG_DISABLE_MOUNTPOINT=n
CONFIG_DISABLE_ENVIRON=n CONFIG_DISABLE_ENVIRON=n
CONFIG_DISABLE_POLL=y CONFIG_DISABLE_POLL=n
# #
# Misc libc settings # Misc libc settings
@ -774,31 +805,22 @@ CONFIG_FS_WRITEBUFFER=n
# Default: Medium # Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: # CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode. # 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate # SDIO driver card detection is 100% accurate
# #
CONFIG_SDIO_DMA=n CONFIG_SDIO_DMA=y
#CONFIG_SDIO_PRI=128 #CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO #CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY #CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n
#
# SDIO-based MMC/SD driver
#
# CONFIG_SDIO_DMA
# SDIO driver supports DMA
# CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate
#
CONFIG_SDIO_DMA=n
CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n
# #
# TCP/IP and UDP support via uIP # TCP/IP and UDP support via uIP
@ -876,9 +898,9 @@ CONFIG_NET_RESOLV_ENTRIES=4
# CONFIG_FTPD_SERVERID - The server name to use in FTP communications. # CONFIG_FTPD_SERVERID - The server name to use in FTP communications.
# Default: "NuttX FTP Server" # Default: "NuttX FTP Server"
# CONFIG_FTPD_CMDBUFFERSIZE - The maximum size of one command. Default: # CONFIG_FTPD_CMDBUFFERSIZE - The maximum size of one command. Default:
# 512 bytes. # 128 bytes.
# CONFIG_FTPD_DATABUFFERSIZE - The size of the I/O buffer for data # CONFIG_FTPD_DATABUFFERSIZE - The size of the I/O buffer for data
# transfers. Default: 2048 bytes. # transfers. Default: 512 bytes.
# CONFIG_FTPD_WORKERSTACKSIZE - The stacksize to allocate for each # CONFIG_FTPD_WORKERSTACKSIZE - The stacksize to allocate for each
# FTP daemon worker thread. Default: 2048 bytes. # FTP daemon worker thread. Default: 2048 bytes.
# #
@ -888,6 +910,7 @@ CONFIG_NET_RESOLV_ENTRIES=4
# CONFIG_DISABLE_PTHREAD - pthread support is required # CONFIG_DISABLE_PTHREAD - pthread support is required
# CONFIG_DISABLE_POLL - poll() support is required # CONFIG_DISABLE_POLL - poll() support is required
# #
CONFIG_FTPD_CMDBUFFERSIZE=2048
# #
# RTC Configuration # RTC Configuration
@ -1177,8 +1200,8 @@ CONFIG_NX_MXCLIENTMSGS=16
# #
# Settings for examples/uip # Settings for examples/uip
# #
CONFIG_EXAMPLE_UIP_IPADDR=(10<<24|0<<16|0<<8|2) CONFIG_EXAMPLE_UIP_IPADDR==(192<<24|168<<16|21<<8|15)
CONFIG_EXAMPLE_UIP_DRIPADDR=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_UIP_DRIPADDR=(192<<24|168<<16|21<<8|10)
CONFIG_EXAMPLE_UIP_NETMASK=(255<<24|255<<16|255<<8|0) CONFIG_EXAMPLE_UIP_NETMASK=(255<<24|255<<16|255<<8|0)
CONFIG_EXAMPLE_UIP_DHCPC=n CONFIG_EXAMPLE_UIP_DHCPC=n
@ -1187,10 +1210,10 @@ CONFIG_EXAMPLE_UIP_DHCPC=n
CONFIG_EXAMPLE_NETTEST_SERVER=n CONFIG_EXAMPLE_NETTEST_SERVER=n
CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n CONFIG_EXAMPLE_NETTEST_PERFORMANCE=n
CONFIG_EXAMPLE_NETTEST_NOMAC=y CONFIG_EXAMPLE_NETTEST_NOMAC=y
CONFIG_EXAMPLE_NETTEST_IPADDR=(10<<24|0<<16|0<<8|2) CONFIG_EXAMPLE_NETTEST_IPADDR==(192<<24|168<<16|21<<8|15)
CONFIG_EXAMPLE_NETTEST_DRIPADDR=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_NETTEST_DRIPADDR=(192<<24|168<<16|21<<8|10)
CONFIG_EXAMPLE_NETTEST_NETMASK=(255<<24|255<<16|255<<8|0) CONFIG_EXAMPLE_NETTEST_NETMASK=(255<<24|255<<16|255<<8|0)
CONFIG_EXAMPLE_NETTEST_CLIENTIP=(10<<24|0<<16|0<<8|1) CONFIG_EXAMPLE_NETTEST_CLIENTIP=(192<<24|168<<16|21<<8|10)
# #
# Settings for examples/ostest # Settings for examples/ostest

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -1,8 +1,8 @@
#!/bin/bash #!/bin/bash
# configs/stm3210e-eval/nsh2/setenv.sh # configs/stm3220g-eval/nsh2/setenv.sh
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <spudmonkey@racsa.co.cr> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions # modification, are permitted provided that the following conditions
@ -56,6 +56,13 @@ fi
# toolchain under windows. You will also have to edit this if you install # toolchain under windows. You will also have to edit this if you install
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
#export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" #export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/ostest/Make.defs # configs/stm3220g-eval/ostest/Make.defs
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/ostest/appconfig # configs/stm3220g-eval/ostest/appconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/ostest/defconfig # configs/stm3220g-eval/ostest/defconfig
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -94,6 +94,8 @@ CONFIG_ARCH_DMA=n
# #
CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=n CONFIG_STM32_BUILDROOT=n
@ -115,6 +117,30 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
CONFIG_STM32_CCMEXCLUDE=y
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -180,7 +206,7 @@ CONFIG_STM32_TIM11=n
#CONFIG_STM32_FORCEPOWER=y #CONFIG_STM32_FORCEPOWER=y
# #
# STM3220xxx specific serial device driver settings # STM32F20xxx specific serial device driver settings
# #
# CONFIG_USARTn_SERIAL_CONSOLE - selects the USARTn for the # CONFIG_USARTn_SERIAL_CONSOLE - selects the USARTn for the
# console and ttys0 (default is the USART1). # console and ttys0 (default is the USART1).
@ -305,6 +331,9 @@ CONFIG_CAN2_BAUD=700000
# defined. This provides the value of the mode bits indicating full duplex mode. # defined. This provides the value of the mode bits indicating full duplex mode.
# CONFIG_STM32_ETH_PTP - Precision Time Protocol (PTP). Not supported # CONFIG_STM32_ETH_PTP - Precision Time Protocol (PTP). Not supported
# but some hooks are indicated with this condition. # but some hooks are indicated with this condition.
# CONFIG_STM32_ETHMAC_REGDEBUG - If CONFIG_DEBUG is also enabled, this will
# generate far more debug output than you could ever care to see unless you
# are debugging low-level Ethernet driver features.
# #
CONFIG_STM32_PHYADDR=0x01 CONFIG_STM32_PHYADDR=0x01
CONFIG_STM32_MII=y CONFIG_STM32_MII=y
@ -320,6 +349,7 @@ CONFIG_STM32_PHYSR_100MBPS=0x0000
CONFIG_STM32_PHYSR_MODE=0x0004 CONFIG_STM32_PHYSR_MODE=0x0004
CONFIG_STM32_PHYSR_FULLDUPLEX=0x0004 CONFIG_STM32_PHYSR_FULLDUPLEX=0x0004
CONFIG_STM32_ETH_PTP=n CONFIG_STM32_ETH_PTP=n
CONFIG_STM32_ETHMAC_REGDEBUG=n
# #
# I2C configuration # I2C configuration
@ -360,7 +390,10 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_VERBOSE - enables verbose debug output # CONFIG_DEBUG_VERBOSE - enables verbose debug output
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++S # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -448,7 +481,8 @@ CONFIG_DEBUG=n
CONFIG_DEBUG_VERBOSE=n CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n CONFIG_DEBUG_SYMBOLS=n
CONFIG_HAVE_CXX=n CONFIG_HAVE_CXX=n
CONFIG_MM_REGIONS=1 CONFIG_HAVE_CXXINITIALIZE=n
CONFIG_MM_REGIONS=2
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
@ -675,16 +709,28 @@ CONFIG_FS_READAHEAD=n
CONFIG_FS_WRITEBUFFER=n CONFIG_FS_WRITEBUFFER=n
# #
# SDIO-based MMC/SD driver # STM32 SDIO-based MMC/SD driver
# #
# CONFIG_SDIO_DMA # CONFIG_SDIO_DMA
# SDIO driver supports DMA # SDIO driver supports DMA
# CONFIG_SDIO_PRI - Select SDIO interrupt prority. Default: 128
# CONFIG_SDIO_DMAPRIO - Select SDIO DMA interrupt priority.
# Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate # SDIO driver card detection is 100% accurate
# #
CONFIG_SDIO_DMA=n CONFIG_SDIO_DMA=n
#CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n

File diff suppressed because it is too large Load Diff

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* configs/stm3220g-eval/ostest/ld.script * configs/stm3220g-eval/ostest/ld.script
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -1,7 +1,7 @@
#!/bin/bash #!/bin/bash
# configs/stm3220g-eval/ostest/setenv.sh # configs/stm3220g-eval/ostest/setenv.sh
# #
# Copyright (C) 2011 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -57,6 +57,14 @@ fi
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"

View File

@ -1,7 +1,7 @@
############################################################################ ############################################################################
# configs/stm3220g-eval/src/Makefile # configs/stm3220g-eval/src/Makefile
# #
# Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. # Copyright (C) 2012 Gregory Nutt. All rights reserved.
# Author: Gregory Nutt <gnutt@nuttx.org> # Author: Gregory Nutt <gnutt@nuttx.org>
# #
# Redistribution and use in source and binary forms, with or without # Redistribution and use in source and binary forms, with or without
@ -42,6 +42,10 @@ AOBJS = $(ASRCS:.S=$(OBJEXT))
CSRCS = up_boot.c up_spi.c CSRCS = up_boot.c up_spi.c
ifeq ($(CONFIG_HAVE_CXX),y)
CSRCS += up_cxxinitialize.c
endif
ifeq ($(CONFIG_ARCH_LEDS),y) ifeq ($(CONFIG_ARCH_LEDS),y)
CSRCS += up_autoleds.c CSRCS += up_autoleds.c
else else
@ -52,6 +56,14 @@ ifeq ($(CONFIG_ARCH_BUTTONS),y)
CSRCS += up_buttons.c CSRCS += up_buttons.c
endif endif
ifeq ($(CONFIG_USBDEV),y)
CSRCS += up_usbdev.c
endif
ifeq ($(CONFIG_STM32_FSMC),y)
CSRCS += up_extmem.c up_selectsram.c up_deselectsram.c
endif
ifeq ($(CONFIG_ADC),y) ifeq ($(CONFIG_ADC),y)
CSRCS += up_adc.c CSRCS += up_adc.c
endif endif
@ -68,6 +80,10 @@ ifeq ($(CONFIG_NSH_ARCHINIT),y)
CSRCS += up_nsh.c CSRCS += up_nsh.c
endif endif
ifeq ($(CONFIG_ARCH_FPU),y)
CSRCS += up_ostest.c
endif
COBJS = $(CSRCS:.c=$(OBJEXT)) COBJS = $(CSRCS:.c=$(OBJEXT))
SRCS = $(ASRCS) $(CSRCS) SRCS = $(ASRCS) $(CSRCS)

View File

@ -2,7 +2,7 @@
* configs/stm3220g_eval/src/stm3220g_internal.h * configs/stm3220g_eval/src/stm3220g_internal.h
* arch/arm/src/board/stm3220g_internal.n * arch/arm/src/board/stm3220g_internal.n
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g-eval/src/up_adc.c * configs/stm3220g-eval/src/up_adc.c
* arch/arm/src/board/up_adc.c * arch/arm/src/board/up_adc.c
* *
* Copyright (C) 2011-2012 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g_eval/src/up_autoleds.c * configs/stm3220g_eval/src/up_autoleds.c
* arch/arm/src/board/up_autoleds.c * arch/arm/src/board/up_autoleds.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g-eval/src/up_boot.c * configs/stm3220g-eval/src/up_boot.c
* arch/arm/src/board/up_boot.c * arch/arm/src/board/up_boot.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -82,6 +82,12 @@ void stm32_boardinitialize(void)
} }
#endif #endif
/* If the FSMC is enabled, then enable SRAM access */
#ifdef CONFIG_STM32_FSMC
stm32_selectsram();
#endif
/* Configure on-board LEDs if LED support has been selected. */ /* Configure on-board LEDs if LED support has been selected. */
#ifdef CONFIG_ARCH_LEDS #ifdef CONFIG_ARCH_LEDS

View File

@ -1,7 +1,7 @@
/**************************************************************************** /****************************************************************************
* configs/stm3220g-eval/src/up_buttons.c * configs/stm3220g-eval/src/up_buttons.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g-eval/src/up_can.c * configs/stm3220g-eval/src/up_can.c
* arch/arm/src/board/up_can.c * arch/arm/src/board/up_can.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without
@ -139,4 +139,4 @@ int can_devinit(void)
return OK; return OK;
} }
#endif /* CONFIG_CAN && (CONFIG_STM32_CAN2 || CONFIG_STM32_CAN3) */ #endif /* CONFIG_CAN && (CONFIG_STM32_CAN1 || CONFIG_STM32_CAN2) */

View File

@ -2,7 +2,7 @@
* configs/stm3220g-eval/src/up_pwm.c * configs/stm3220g-eval/src/up_pwm.c
* arch/arm/src/board/up_pwm.c * arch/arm/src/board/up_pwm.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g_eval/src/up_spi.c * configs/stm3220g_eval/src/up_spi.c
* arch/arm/src/board/up_spi.c * arch/arm/src/board/up_spi.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -2,7 +2,7 @@
* configs/stm3220g_eval/src/up_leds.c * configs/stm3220g_eval/src/up_leds.c
* arch/arm/src/board/up_leds.c * arch/arm/src/board/up_leds.c
* *
* Copyright (C) 2011 Gregory Nutt. All rights reserved. * Copyright (C) 2012 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* *
* Redistribution and use in source and binary forms, with or without * Redistribution and use in source and binary forms, with or without

View File

@ -40,30 +40,57 @@ include ${TOPDIR}/.config
ifeq ($(CONFIG_STM32_CODESOURCERYW),y) ifeq ($(CONFIG_STM32_CODESOURCERYW),y)
# CodeSourcery under Windows # CodeSourcery under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_CODESOURCERYL),y) ifeq ($(CONFIG_STM32_CODESOURCERYL),y)
# CodeSourcery under Linux # CodeSourcery under Linux
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
MAXOPTIMIZATION = -O2 MAXOPTIMIZATION = -O2
endif endif
ifeq ($(CONFIG_STM32_ATOLLIC_LITE),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV =
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_ATOLLIC_PRO),y)
# Atollic toolchain under Windows
CROSSDEV = arm-atollic-eabi-
ARCROSSDEV = arm-atollic-eabi-
WINTOOL = y
ifeq ($(CONFIG_ARCH_FPU),y)
ARCHCPUFLAGS = -mcpu=cortex-m4 -mthumb -march=armv7e-m -mfpu=fpv4-sp-d16 -mfloat-abi=hard
else
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif
endif
ifeq ($(CONFIG_STM32_DEVKITARM),y) ifeq ($(CONFIG_STM32_DEVKITARM),y)
# devkitARM under Windows # devkitARM under Windows
CROSSDEV = arm-eabi- CROSSDEV = arm-eabi-
ARCROSSDEV = arm-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_RAISONANCE),y) ifeq ($(CONFIG_STM32_RAISONANCE),y)
# Raisonance RIDE7 under Windows # Raisonance RIDE7 under Windows
CROSSDEV = arm-none-eabi- CROSSDEV = arm-none-eabi-
ARCROSSDEV = arm-none-eabi-
WINTOOL = y WINTOOL = y
ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft ARCHCPUFLAGS = -mcpu=cortex-m3 -mthumb -mfloat-abi=soft
endif endif
ifeq ($(CONFIG_STM32_BUILDROOT),y) ifeq ($(CONFIG_STM32_BUILDROOT),y)
# NuttX buildroot under Linux or Cygwin # NuttX buildroot under Linux or Cygwin
CROSSDEV = arm-elf- CROSSDEV = arm-elf-
ARCROSSDEV = arm-elf-
ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft ARCHCPUFLAGS = -mtune=cortex-m3 -march=armv7-m -mfloat-abi=soft
MAXOPTIMIZATION = -Os MAXOPTIMIZATION = -Os
endif endif
@ -91,8 +118,8 @@ CC = $(CROSSDEV)gcc
CXX = $(CROSSDEV)g++ CXX = $(CROSSDEV)g++
CPP = $(CROSSDEV)gcc -E CPP = $(CROSSDEV)gcc -E
LD = $(CROSSDEV)ld LD = $(CROSSDEV)ld
AR = $(CROSSDEV)ar rcs AR = $(ARCROSSDEV)ar rcs
NM = $(CROSSDEV)nm NM = $(ARCROSSDEV)nm
OBJCOPY = $(CROSSDEV)objcopy OBJCOPY = $(CROSSDEV)objcopy
OBJDUMP = $(CROSSDEV)objdump OBJDUMP = $(CROSSDEV)objdump

View File

@ -94,6 +94,8 @@ CONFIG_ARCH_DMA=n
# #
CONFIG_STM32_CODESOURCERYW=y CONFIG_STM32_CODESOURCERYW=y
CONFIG_STM32_CODESOURCERYL=n CONFIG_STM32_CODESOURCERYL=n
CONFIG_STM32_ATOLLIC_LITE=n
CONFIG_STM32_ATOLLIC_PRO=n
CONFIG_STM32_DEVKITARM=n CONFIG_STM32_DEVKITARM=n
CONFIG_STM32_RAISONANCE=n CONFIG_STM32_RAISONANCE=n
CONFIG_STM32_BUILDROOT=n CONFIG_STM32_BUILDROOT=n
@ -115,6 +117,29 @@ CONFIG_STM32_JTAG_FULL_ENABLE=y
CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n CONFIG_STM32_JTAG_NOJNTRST_ENABLE=n
CONFIG_STM32_JTAG_SW_ENABLE=n CONFIG_STM32_JTAG_SW_ENABLE=n
#
# On-chip CCM SRAM configuration
#
# CONFIG_STM32_CCMEXCLUDE - Exclude CCM SRAM from the HEAP. You would need
# to do this if DMA is enabled to prevent non-DMA-able CCM memory from
# being a part of the stack.
#
#
# On-board FSMC SRAM configuration
#
# CONFIG_STM32_FSMC - Required. See below
# CONFIG_MM_REGIONS - Required. Must be 2 or 3 (see above)
#
# CONFIG_STM32_FSMC_SRAM=y - Indicates that SRAM is available via the
# FSMC (as opposed to an LCD or FLASH).
# CONFIG_HEAP2_BASE - The base address of the SRAM in the FSMC address space
# CONFIG_HEAP2_END - The end (+1) of the SRAM in the FSMC address space
#
CONFIG_STM32_FSMC_SRAM=y
CONFIG_HEAP2_BASE=0x64000000
CONFIG_HEAP2_END=(0x64000000+(2*1024*1024))
# #
# Individual subsystems can be enabled: # Individual subsystems can be enabled:
# #
@ -268,6 +293,8 @@ CONFIG_SSI_POLLWAIT=y
# mode for testing. The STM32 CAN driver does support loopback mode. # mode for testing. The STM32 CAN driver does support loopback mode.
# CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined. # CONFIG_CAN1_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN1 is defined.
# CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined. # CONFIG_CAN2_BAUD - CAN1 BAUD rate. Required if CONFIG_STM32_CAN2 is defined.
# CONFIG_CAN_TSEG1 - The number of CAN time quanta in segment 1. Default: 6
# CONFIG_CAN_TSEG2 - the number of CAN time quanta in segment 2. Default: 7
# #
CONFIG_CAN=n CONFIG_CAN=n
CONFIG_CAN_EXTID=n CONFIG_CAN_EXTID=n
@ -314,7 +341,7 @@ CONFIG_STM32_MII_MCO2=n
CONFIG_STM32_RMII=n CONFIG_STM32_RMII=n
CONFIG_STM32_AUTONEG=y CONFIG_STM32_AUTONEG=y
#CONFIG_STM32_ETHFD #CONFIG_STM32_ETHFD
#CONFIG_STM32_ETH100MB #CONFIG_STM32_ETH100MBPS
CONFIG_STM32_PHYSR=16 CONFIG_STM32_PHYSR=16
CONFIG_STM32_PHYSR_SPEED=0x0002 CONFIG_STM32_PHYSR_SPEED=0x0002
CONFIG_STM32_PHYSR_100MBPS=0x0000 CONFIG_STM32_PHYSR_100MBPS=0x0000
@ -362,7 +389,10 @@ CONFIG_HAVE_LIBM=n
# CONFIG_DEBUG_VERBOSE - enables verbose debug output # CONFIG_DEBUG_VERBOSE - enables verbose debug output
# CONFIG_DEBUG_SYMBOLS - build without optimization and with # CONFIG_DEBUG_SYMBOLS - build without optimization and with
# debug symbols (needed for use with a debugger). # debug symbols (needed for use with a debugger).
# CONFIG_HAVE_CXX - Enable support for C++S # CONFIG_HAVE_CXX - Enable support for C++
# CONFIG_HAVE_CXXINITIALIZE - The platform-specific logic includes support
# for initialization of static C++ instances for this architecture
# and for the selected toolchain (via up_cxxinitialize()).
# CONFIG_MM_REGIONS - If the architecture includes multiple # CONFIG_MM_REGIONS - If the architecture includes multiple
# regions of memory to allocate from, this specifies the # regions of memory to allocate from, this specifies the
# number of memory regions that the memory manager must # number of memory regions that the memory manager must
@ -451,12 +481,13 @@ CONFIG_DEBUG_VERBOSE=n
CONFIG_DEBUG_SYMBOLS=n CONFIG_DEBUG_SYMBOLS=n
CONFIG_DEBUG_NET=n CONFIG_DEBUG_NET=n
CONFIG_HAVE_CXX=y CONFIG_HAVE_CXX=y
CONFIG_MM_REGIONS=1 CONFIG_HAVE_CXXINITIALIZE=y
CONFIG_MM_REGIONS=2
CONFIG_ARCH_LOWPUTC=y CONFIG_ARCH_LOWPUTC=y
CONFIG_RR_INTERVAL=200 CONFIG_RR_INTERVAL=200
CONFIG_SCHED_INSTRUMENTATION=n CONFIG_SCHED_INSTRUMENTATION=n
CONFIG_TASK_NAME_SIZE=0 CONFIG_TASK_NAME_SIZE=0
CONFIG_START_YEAR=2011 CONFIG_START_YEAR=2012
CONFIG_START_MONTH=12 CONFIG_START_MONTH=12
CONFIG_START_DAY=6 CONFIG_START_DAY=6
CONFIG_GREGORIAN_TIME=n CONFIG_GREGORIAN_TIME=n
@ -696,6 +727,9 @@ CONFIG_FS_WRITEBUFFER=n
# Default: Medium # Default: Medium
# CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default: # CONFIG_SDIO_WIDTH_D1_ONLY - Select 1-bit transfer mode. Default:
# 4-bit transfer mode. # 4-bit transfer mode.
# CONFIG_MMCSD_MULTIBLOCK_DISABLE - Use only the single block transfer method.
# This setting is used to work around buggy drivers that cannot handle
# multiple block transfers.
# CONFIG_MMCSD_MMCSUPPORT # CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards # Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT # CONFIG_MMCSD_HAVECARDDETECT
@ -705,20 +739,7 @@ CONFIG_SDIO_DMA=n
#CONFIG_SDIO_PRI=128 #CONFIG_SDIO_PRI=128
#CONFIG_SDIO_DMAPRIO #CONFIG_SDIO_DMAPRIO
#CONFIG_SDIO_WIDTH_D1_ONLY #CONFIG_SDIO_WIDTH_D1_ONLY
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MULTIBLOCK_DISABLE=y
CONFIG_MMCSD_HAVECARDDETECT=n
#
# SDIO-based MMC/SD driver
#
# CONFIG_SDIO_DMA
# SDIO driver supports DMA
# CONFIG_MMCSD_MMCSUPPORT
# Enable support for MMC cards
# CONFIG_MMCSD_HAVECARDDETECT
# SDIO driver card detection is 100% accurate
#
CONFIG_SDIO_DMA=n
CONFIG_MMCSD_MMCSUPPORT=n CONFIG_MMCSD_MMCSUPPORT=n
CONFIG_MMCSD_HAVECARDDETECT=n CONFIG_MMCSD_HAVECARDDETECT=n

File diff suppressed because it is too large Load Diff

View File

@ -33,7 +33,7 @@
* *
****************************************************************************/ ****************************************************************************/
/* The STM32F103ZET6 has 1024Kb of FLASH beginning at address 0x0800:0000 and /* The STM32F207IGH6U has 1024Kb of FLASH beginning at address 0x0800:0000 and
* 192Kb of SRAM. SRAM is split up into three blocks: * 192Kb of SRAM. SRAM is split up into three blocks:
* *
* 1) 112Kb of SRAM beginning at address 0x2000:0000 * 1) 112Kb of SRAM beginning at address 0x2000:0000
@ -72,6 +72,12 @@ SECTIONS
_etext = ABSOLUTE(.); _etext = ABSOLUTE(.);
} > flash } > flash
.init_section : {
_sinit = ABSOLUTE(.);
*(.init_array .init_array.*)
_einit = ABSOLUTE(.);
} > flash
__exidx_start = ABSOLUTE(.); __exidx_start = ABSOLUTE(.);
.ARM.exidx : { .ARM.exidx : {
*(.ARM.exidx*) *(.ARM.exidx*)

View File

@ -57,6 +57,14 @@ fi
# the CodeSourcery toolchain in any other location # the CodeSourcery toolchain in any other location
export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin" export TOOLCHAIN_BIN="/cygdrive/c/Program Files (x86)/CodeSourcery/Sourcery G++ Lite/bin"
# These are the Cygwin paths to the locations where I installed the Atollic
# toolchain under windows. You will also have to edit this if you install
# the Atollic toolchain in any other location. /usr/bin is added before
# the Atollic bin path because there is are binaries named gcc.exe and g++.exe
# at those locations as well.
#export TOOLCHAIN_BIN="/usr/bin:/cygdrive/c/Program Files (x86)/Atollic/TrueSTUDIO for ARM Pro 2.3.0/ARMTools/bin"
#export TOOLCHAIN_BIN="/usr/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 # This the Cygwin path to the location where I build the buildroot
# toolchain. # toolchain.
#export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin" #export TOOLCHAIN_BIN="${WD}/../misc/buildroot/build_arm_nofpu/staging_dir/bin"