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

View File

@ -58,11 +58,13 @@ config ARCH_X86
config ARCH_Z16
bool "ZNEO"
select ARCH_HAVE_HEAP2
---help---
ZiLOG ZNEO 16-bit architectures (z16f).
config ARCH_Z80
bool "z80"
select ARCH_HAVE_HEAP2
---help---
ZiLOG 8-bit architectures (z80, ez80, z8).

View File

@ -17,6 +17,7 @@ config ARCH_CHIP_C5471
config ARCH_CHIP_CALYPSO
bool "Calypso"
select ARCH_ARM7TDMI
select ARCH_HAVE_HEAP2
---help---
TI Calypso-based cell phones (ARM7TDMI)
@ -29,6 +30,7 @@ config ARCH_CHIP_DM320
config ARCH_CHIP_IMX
bool "Freescale iMX"
select ARCH_ARM920T
select ARCH_HAVE_HEAP2
---help---
Freescale iMX architectures (ARM920T)

View File

@ -37,6 +37,10 @@
*
****************************************************************************/
/****************************************************************************
* Included Files
****************************************************************************/
#include <nuttx/config.h>
#include <nuttx/mm.h>
@ -52,6 +56,14 @@
#include "up_arch.h"
#include "up_internal.h"
/****************************************************************************
* Preprocessor Definitions
****************************************************************************/
/****************************************************************************
* Public Functions
****************************************************************************/
/****************************************************************************
* Name: up_addregion
*
@ -84,7 +96,7 @@ void up_addregion(void)
/* Configure the RHEA bridge with some sane default values */
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

View File

@ -111,8 +111,8 @@ void up_addregion(void)
/* Check for any additional memory regions */
#if defined(CONFIG_HEAP2_BASE) && defined(CONFIG_HEAP2_END)
mm_addregion((FAR void*)CONFIG_HEAP2_BASE, CONFIG_HEAP2_END - CONFIG_HEAP2_BASE);
#if defined(CONFIG_HEAP2_BASE) && defined(CONFIG_HEAP2_SIZE)
mm_addregion((FAR void*)CONFIG_HEAP2_BASE, CONFIG_HEAP2_SIZE);
#endif
}
#endif

View File

@ -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

View File

@ -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

View File

@ -107,6 +107,6 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
#if CONFIG_MM_REGIONS > 1
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

View File

@ -109,6 +109,6 @@ void up_allocate_heap(FAR void **heap_start, size_t *heap_size)
#if CONFIG_MM_REGIONS > 1
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