summaryrefslogtreecommitdiff
path: root/nuttx/arch/arm/src/stm32
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-05 23:02:43 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-09-05 23:02:43 +0000
commitaf2c1fe0b2327427ea8c2adc376c06796141aedb (patch)
tree7011e0912cedf3470b14dbe4dc237933da287bab /nuttx/arch/arm/src/stm32
parent26e1787a9bccfb9e301cbdceb70f838df158c7c7 (diff)
downloadpx4-nuttx-af2c1fe0b2327427ea8c2adc376c06796141aedb.tar.gz
px4-nuttx-af2c1fe0b2327427ea8c2adc376c06796141aedb.tar.bz2
px4-nuttx-af2c1fe0b2327427ea8c2adc376c06796141aedb.zip
STM32 Kconfig looks good. STM32 external ram configuration changed.
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5100 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/arch/arm/src/stm32')
-rw-r--r--nuttx/arch/arm/src/stm32/Kconfig64
-rw-r--r--nuttx/arch/arm/src/stm32/stm32_allocateheap.c19
2 files changed, 55 insertions, 28 deletions
diff --git a/nuttx/arch/arm/src/stm32/Kconfig b/nuttx/arch/arm/src/stm32/Kconfig
index 442f7c659..db785fd62 100644
--- a/nuttx/arch/arm/src/stm32/Kconfig
+++ b/nuttx/arch/arm/src/stm32/Kconfig
@@ -84,7 +84,42 @@ config STM32_STM32F20XX
config STM32_STM32F40XX
bool
- default y if ARCH_CHIP_STM32F405RG || ARCH_CHIP_STM32F405VG || ARCH_CHIP_STM32F405ZG || ARCH_CHIP_STM32F407VE || ARCH_CHIP_STM32F407VG || ARCH_CHIP_STM32F407ZE || ARCH_CHIP_STM32F407ZG || ARCH_CHIP_STM32F407IE || ARCH_CHIP_STM32F407IE
+ default y if ARCH_CHIP_STM32F405RG || ARCH_CHIP_STM32F405VG || ARCH_CHIP_STM32F405ZG || ARCH_CHIP_STM32F407VE || ARCH_CHIP_STM32F407VG || ARCH_CHIP_STM32F407ZE || ARCH_CHIP_STM32F407ZG || ARCH_CHIP_STM32F407IE || ARCH_CHIP_STM32F407IG
+
+choice
+ prompt "Toolchain Selection"
+ default STM32_CODESOURCERYW
+ depends on ARCH_CHIP_STM32
+
+config STM32_CODESOURCERYW
+ bool "CodeSourcery for Windows"
+
+config STM32_CODESOURCERYL
+ bool "CodeSourcery for Linux"
+
+config STM32_ATOLLIC_LITE
+ bool "Atollic Lite for Windows"
+
+config STM32_ATOLLIC_PRO
+ bool "Atollic Pro for Windows"
+
+config STM32_DEVKITARM
+ bool "DevkitARM (Windows)"
+
+config STM32_RAISONANCE
+ bool "STMicro Raisonance for Windows"
+
+config STM32_BUILDROOT
+ bool "NuttX buildroot (Cygwin or Linux)"
+
+endchoice
+
+config STM32_DFU
+ bool "DFU bootloader"
+ default n
+ ---help---
+ Configure and position code for use with the STMicro DFU bootloader. Do
+ not select this option if you will load code using JTAG/SWM.
menu "STM32 Peripheral Support"
@@ -228,7 +263,7 @@ config STM32_SPI4
config STM32_SYSCFG
bool "SYSCFG"
- default n
+ default y
depends on STM32_STM32F20XX || STM32_STM32F40XX
config STM32_TIM1
@@ -517,24 +552,11 @@ config STM32_CCMEXCLUDE
config STM32_FSMC_SRAM
bool "External SRAM on FSMC"
default n
- depends on FSMC
+ depends on STM32_FSMC
+ select ARCH_HAVE_HEAP2
---help---
In addition to internal SRAM, SRAM may also be available through the FSMC.
-config HEAP2_BASE
- hex "FSMC SRAM base address"
- default 0x00000000
- depends on STM32_FSMC_SRAM
- ---help---
- The base address of the SRAM in the FSMC address space.
-
-config HEAP2_END
- hex "FSMC SRAM end+1 address"
- default 0x00000000
- depends on STM32_FSMC_SRAM
- ---help---
- The end (+1) of the SRAM in the FSMC address space
-
config STM32_TIM1_PWM
bool "TIM1 PWM"
default n
@@ -1536,6 +1558,7 @@ config STM32_PHYADDR
config STM32_MII
bool "Use MII interface"
default n
+ depends on STM32_ETHMAC
---help---
Support Ethernet MII interface.
@@ -1549,13 +1572,14 @@ config STM32_MII_MCO2
config STM32_AUTONEG
bool "Use autonegtiation"
default y
+ depends on STM32_ETHMAC
---help---
Use PHY autonegotion to determine speed and mode
config STM32_ETHFD
bool "Full duplex"
default n
- depends on !STM32_AUTONEG
+ depends on STM32_ETHMAC && !STM32_AUTONEG
---help---
If STM32_AUTONEG is not defined, then this may be defined to select full duplex
mode. Default: half-duplex
@@ -1563,7 +1587,7 @@ config STM32_ETHFD
config STM32_ETH100MBPS
bool "100 Mbps"
default n
- depends on !STM32_AUTONEG
+ depends on STM32_ETHMAC && !STM32_AUTONEG
---help---
If STM32_AUTONEG is not defined, then this may be defined to select 100 MBps
speed. Default: 10 Mbps
@@ -1607,6 +1631,7 @@ config STM32_PHYSR_FULLDUPLEX
config STM32_ETH_PTP
bool "Precision Time Protocol (PTP)"
default n
+ depends on STM32_ETHMAC
---help---
Precision Time Protocol (PTP). Not supported but some hooks are indicated
with this condition.
@@ -1616,6 +1641,7 @@ endmenu
config STM32_RMII
bool
default y if !STM32_MII
+ depends on STM32_ETHMAC
config STM32_MII_MCO1
bool
diff --git a/nuttx/arch/arm/src/stm32/stm32_allocateheap.c b/nuttx/arch/arm/src/stm32/stm32_allocateheap.c
index 4c186a852..8aa5622c8 100644
--- a/nuttx/arch/arm/src/stm32/stm32_allocateheap.c
+++ b/nuttx/arch/arm/src/stm32/stm32_allocateheap.c
@@ -73,13 +73,14 @@
*
* CONFIG_STM32_FSMC=y : Enables the FSMC
* CONFIG_STM32_FSMC_SRAM=y : Indicates that SRAM is available via the
- * FSMC (as opposed to an LCD or FLASH).
+ * 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
+ * address space
+ * CONFIG_HEAP2_SIZE : The size of the SRAM in the FSMC
+ * address space
* CONFIG_MM_REGIONS : Must be set to a large enough value to
- * include the FSMC SRAM (as determined by the rules provided below)
+ * include the FSMC SRAM (as determined by
+ * the rules provided below)
*/
#ifndef CONFIG_STM32_FSMC
@@ -256,12 +257,12 @@
/* If FSMC SRAM is going to be used as heap, then verify that the starting
* address and size of the external SRAM region has been provided in the
- * configuration (as CONFIG_HEAP2_BASE and CONFIG_HEAP2_END).
+ * configuration (as CONFIG_HEAP2_BASE and CONFIG_HEAP2_SIZE).
*/
#ifdef CONFIG_STM32_FSMC_SRAM
-# if !defined(CONFIG_HEAP2_BASE) || !defined(CONFIG_HEAP2_END)
-# error "CONFIG_HEAP2_BASE and CONFIG_HEAP2_END must be provided"
+# if !defined(CONFIG_HEAP2_BASE) || !defined(CONFIG_HEAP2_SIZE)
+# error "CONFIG_HEAP2_BASE and CONFIG_HEAP2_SIZE must be provided"
# undef CONFIG_STM32_FSMC_SRAM
# endif
#endif
@@ -317,7 +318,7 @@ void up_addregion(void)
/* Add the external FSMC SRAM heap region. */
#ifdef CONFIG_STM32_FSMC_SRAM
- mm_addregion((FAR void*)CONFIG_HEAP2_BASE, CONFIG_HEAP2_END - CONFIG_HEAP2_BASE);
+ mm_addregion((FAR void*)CONFIG_HEAP2_BASE, CONFIG_HEAP2_SIZE);
#endif
}
#endif