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
This commit is contained in:
patacongo
2012-09-05 23:02:43 +00:00
parent 0f4f0d72af
commit 513e6ae681
8 changed files with 76 additions and 33 deletions
+2
View File
@@ -58,11 +58,13 @@ config ARCH_X86
config ARCH_Z16 config ARCH_Z16
bool "ZNEO" bool "ZNEO"
select ARCH_HAVE_HEAP2
---help--- ---help---
ZiLOG ZNEO 16-bit architectures (z16f). ZiLOG ZNEO 16-bit architectures (z16f).
config ARCH_Z80 config ARCH_Z80
bool "z80" bool "z80"
select ARCH_HAVE_HEAP2
---help--- ---help---
ZiLOG 8-bit architectures (z80, ez80, z8). ZiLOG 8-bit architectures (z80, ez80, z8).
+2
View File
@@ -17,6 +17,7 @@ config ARCH_CHIP_C5471
config ARCH_CHIP_CALYPSO config ARCH_CHIP_CALYPSO
bool "Calypso" bool "Calypso"
select ARCH_ARM7TDMI select ARCH_ARM7TDMI
select ARCH_HAVE_HEAP2
---help--- ---help---
TI Calypso-based cell phones (ARM7TDMI) TI Calypso-based cell phones (ARM7TDMI)
@@ -29,6 +30,7 @@ config ARCH_CHIP_DM320
config ARCH_CHIP_IMX config ARCH_CHIP_IMX
bool "Freescale iMX" bool "Freescale iMX"
select ARCH_ARM920T select ARCH_ARM920T
select ARCH_HAVE_HEAP2
---help--- ---help---
Freescale iMX architectures (ARM920T) Freescale iMX architectures (ARM920T)
+13 -1
View File
@@ -37,6 +37,10 @@
* *
****************************************************************************/ ****************************************************************************/
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h> #include <nuttx/config.h>
#include <nuttx/mm.h> #include <nuttx/mm.h>
@@ -52,6 +56,14 @@
#include "up_arch.h" #include "up_arch.h"
#include "up_internal.h" #include "up_internal.h"
/****************************************************************************
* Preprocessor Definitions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/**************************************************************************** /****************************************************************************
* Name: up_addregion * Name: up_addregion
* *
@@ -84,7 +96,7 @@ void up_addregion(void)
/* Configure the RHEA bridge with some sane default values */ /* Configure the RHEA bridge with some sane default values */
calypso_rhea_cfg(0, 0, 0xff, 0, 1, 0, 0); calypso_rhea_cfg(0, 0, 0xff, 0, 1, 0, 0);
mm_addregion((FAR void*)CONFIG_HEAP2_START, CONFIG_HEAP2_END-CONFIG_HEAP2_START); mm_addregion((FAR void*)CONFIG_HEAP2_BASE, CONFIG_HEAP2_SIZE);
} }
#endif #endif
+2 -2
View File
@@ -111,8 +111,8 @@ void up_addregion(void)
/* Check for any additional memory regions */ /* Check for any additional memory regions */
#if defined(CONFIG_HEAP2_BASE) && defined(CONFIG_HEAP2_END) #if defined(CONFIG_HEAP2_BASE) && defined(CONFIG_HEAP2_SIZE)
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
} }
#endif #endif
+45 -19
View File
@@ -84,7 +84,42 @@ config STM32_STM32F20XX
config STM32_STM32F40XX config STM32_STM32F40XX
bool 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" menu "STM32 Peripheral Support"
@@ -228,7 +263,7 @@ config STM32_SPI4
config STM32_SYSCFG config STM32_SYSCFG
bool "SYSCFG" bool "SYSCFG"
default n default y
depends on STM32_STM32F20XX || STM32_STM32F40XX depends on STM32_STM32F20XX || STM32_STM32F40XX
config STM32_TIM1 config STM32_TIM1
@@ -517,24 +552,11 @@ config STM32_CCMEXCLUDE
config STM32_FSMC_SRAM config STM32_FSMC_SRAM
bool "External SRAM on FSMC" bool "External SRAM on FSMC"
default n default n
depends on FSMC depends on STM32_FSMC
select ARCH_HAVE_HEAP2
---help--- ---help---
In addition to internal SRAM, SRAM may also be available through the FSMC. 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 config STM32_TIM1_PWM
bool "TIM1 PWM" bool "TIM1 PWM"
default n default n
@@ -1536,6 +1558,7 @@ config STM32_PHYADDR
config STM32_MII config STM32_MII
bool "Use MII interface" bool "Use MII interface"
default n default n
depends on STM32_ETHMAC
---help--- ---help---
Support Ethernet MII interface. Support Ethernet MII interface.
@@ -1549,13 +1572,14 @@ config STM32_MII_MCO2
config STM32_AUTONEG config STM32_AUTONEG
bool "Use autonegtiation" bool "Use autonegtiation"
default y default y
depends on STM32_ETHMAC
---help--- ---help---
Use PHY autonegotion to determine speed and mode Use PHY autonegotion to determine speed and mode
config STM32_ETHFD config STM32_ETHFD
bool "Full duplex" bool "Full duplex"
default n default n
depends on !STM32_AUTONEG depends on STM32_ETHMAC && !STM32_AUTONEG
---help--- ---help---
If STM32_AUTONEG is not defined, then this may be defined to select full duplex If STM32_AUTONEG is not defined, then this may be defined to select full duplex
mode. Default: half-duplex mode. Default: half-duplex
@@ -1563,7 +1587,7 @@ config STM32_ETHFD
config STM32_ETH100MBPS config STM32_ETH100MBPS
bool "100 Mbps" bool "100 Mbps"
default n default n
depends on !STM32_AUTONEG depends on STM32_ETHMAC && !STM32_AUTONEG
---help--- ---help---
If STM32_AUTONEG is not defined, then this may be defined to select 100 MBps If STM32_AUTONEG is not defined, then this may be defined to select 100 MBps
speed. Default: 10 Mbps speed. Default: 10 Mbps
@@ -1607,6 +1631,7 @@ config STM32_PHYSR_FULLDUPLEX
config STM32_ETH_PTP config STM32_ETH_PTP
bool "Precision Time Protocol (PTP)" bool "Precision Time Protocol (PTP)"
default n default n
depends on STM32_ETHMAC
---help--- ---help---
Precision Time Protocol (PTP). Not supported but some hooks are indicated Precision Time Protocol (PTP). Not supported but some hooks are indicated
with this condition. with this condition.
@@ -1616,6 +1641,7 @@ endmenu
config STM32_RMII config STM32_RMII
bool bool
default y if !STM32_MII default y if !STM32_MII
depends on STM32_ETHMAC
config STM32_MII_MCO1 config STM32_MII_MCO1
bool bool
+7 -6
View File
@@ -76,10 +76,11 @@
* 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 * CONFIG_HEAP2_BASE : The base address of the SRAM in the FSMC
* address space * address space
* CONFIG_HEAP2_END : The end (+1) of the SRAM in the FSMC * CONFIG_HEAP2_SIZE : The size of the SRAM in the FSMC
* address space * address space
* CONFIG_MM_REGIONS : Must be set to a large enough value to * 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 #ifndef CONFIG_STM32_FSMC
@@ -256,12 +257,12 @@
/* If FSMC SRAM is going to be used as heap, then verify that the starting /* 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 * 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 #ifdef CONFIG_STM32_FSMC_SRAM
# if !defined(CONFIG_HEAP2_BASE) || !defined(CONFIG_HEAP2_END) # if !defined(CONFIG_HEAP2_BASE) || !defined(CONFIG_HEAP2_SIZE)
# error "CONFIG_HEAP2_BASE and CONFIG_HEAP2_END must be provided" # error "CONFIG_HEAP2_BASE and CONFIG_HEAP2_SIZE must be provided"
# undef CONFIG_STM32_FSMC_SRAM # undef CONFIG_STM32_FSMC_SRAM
# endif # endif
#endif #endif
@@ -317,7 +318,7 @@ void up_addregion(void)
/* Add the external FSMC SRAM heap region. */ /* Add the external FSMC SRAM heap region. */
#ifdef CONFIG_STM32_FSMC_SRAM #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
} }
#endif #endif
+1 -1
View File
@@ -107,6 +107,6 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
#if CONFIG_MM_REGIONS > 1 #if CONFIG_MM_REGIONS > 1
void up_addregion(void) void up_addregion(void)
{ {
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
+1 -1
View File
@@ -109,6 +109,6 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
#if CONFIG_MM_REGIONS > 1 #if CONFIG_MM_REGIONS > 1
void up_addregion(void) void up_addregion(void)
{ {
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