Merged in david_s5/nuttx/upstream_nucleo-144 (pull request #79)

Upstream_nucleo 144
This commit is contained in:
Gregory Nutt 2016-06-28 11:28:11 -06:00
commit e5ca333246
5 changed files with 22 additions and 224 deletions

View File

@ -1861,6 +1861,14 @@ config STM32F7_CUSTOM_CLOCKCONFIG
---help---
Enables special, board-specific STM32 clock configuration.
config STM32F7_DTCMEXCLUDE
bool "Exclude DTCM SRAM from the heap"
default y if ELF
depends on ARMV7M_HAVE_DTCM
---help---
Exclude DTCM SRAM from the HEAP because it appears to be impossible
to execute ELF modules from DTCM RAM (REVISIT!).
config STM32F7_DTCM_PROCFS
bool "DTCM SRAM PROCFS support"
default n
@ -3509,222 +3517,10 @@ endif # !STM32F7_PWM_MULTICHAN
endif # STM32F7_TIM14_PWM
config STM32F7_TIM15_PWM
bool "TIM15 PWM"
default n
depends on STM32F7_TIM15
---help---
Reserve timer 15 for use by PWM
Timer devices may be used for different purposes. One special purpose is
to generate modulated outputs for such things as motor control. If STM32F7_TIM15
is defined then THIS following may also be defined to indicate that
the timer is intended to be used for pulsed output modulation.
if STM32F7_TIM15_PWM
if STM32F7_PWM_MULTICHAN
config STM32F7_TIM15_CHANNEL1
bool "TIM15 Channel 1"
default n
---help---
Enables channel 1.
if STM32F7_TIM15_CHANNEL1
config STM32F7_TIM15_CH1MODE
int "TIM15 Channel 1 Mode"
default 0
range 0 3 if STM32F7_STM32F30XX
range 0 1 if !STM32F7_STM32F30XX
---help---
Specifies the channel mode.
config STM32F7_TIM15_CH1OUT
bool "TIM15 Channel 1 Output"
default n
---help---
Enables channel 1 output.
endif # STM32F7_TIM15_CHANNEL1
config STM32F7_TIM15_CHANNEL2
bool "TIM15 Channel 2"
default n
---help---
Enables channel 2.
if STM32F7_TIM15_CHANNEL2
config STM32F7_TIM15_CH2MODE
int "TIM15 Channel 2 Mode"
default 0
range 0 3 if STM32F7_STM32F30XX
range 0 1 if !STM32F7_STM32F30XX
---help---
Specifies the channel mode.
config STM32F7_TIM15_CH2OUT
bool "TIM15 Channel 2 Output"
default n
---help---
Enables channel 2 output.
endif # STM32F7_TIM15_CHANNEL2
endif # STM32F7_PWM_MULTICHAN
if !STM32F7_PWM_MULTICHAN
config STM32F7_TIM15_CHANNEL
int "TIM15 PWM Output Channel"
default 1
range 1 2
---help---
If TIM15 is enabled for PWM usage, you also need specifies the timer output
channel {1,2}
config STM32F7_TIM15_CHMODE
int "TIM15 Channel Mode"
default 0
range 0 3 if STM32F7_STM32F30XX
range 0 1 if !STM32F7_STM32F30XX
---help---
Specifies the channel mode.
endif # !STM32F7_PWM_MULTICHAN
endif # STM32F7_TIM15_PWM
config STM32F7_TIM16_PWM
bool "TIM16 PWM"
default n
depends on STM32F7_TIM16
---help---
Reserve timer 16 for use by PWM
Timer devices may be used for different purposes. One special purpose is
to generate modulated outputs for such things as motor control. If STM32F7_TIM16
is defined then THIS following may also be defined to indicate that
the timer is intended to be used for pulsed output modulation.
if STM32F7_TIM16_PWM
if STM32F7_PWM_MULTICHAN
config STM32F7_TIM16_CHANNEL1
bool "TIM16 Channel 1"
default n
---help---
Enables channel 1.
if STM32F7_TIM16_CHANNEL1
config STM32F7_TIM16_CH1MODE
int "TIM16 Channel 1 Mode"
default 0
range 0 1
---help---
Specifies the channel mode.
config STM32F7_TIM16_CH1OUT
bool "TIM16 Channel 1 Output"
default n
---help---
Enables channel 1 output.
endif # STM32F7_TIM16_CHANNEL1
endif # STM32F7_PWM_MULTICHAN
if !STM32F7_PWM_MULTICHAN
config STM32F7_TIM16_CHANNEL
int "TIM16 PWM Output Channel"
default 1
range 1 1
---help---
If TIM16 is enabled for PWM usage, you also need specifies the timer output
channel {1}
config STM32F7_TIM16_CHMODE
int "TIM16 Channel Mode"
default 0
range 0 1
---help---
Specifies the channel mode.
endif # !STM32F7_PWM_MULTICHAN
endif # STM32F7_TIM16_PWM
config STM32F7_TIM17_PWM
bool "TIM17 PWM"
default n
depends on STM32F7_TIM17
---help---
Reserve timer 17 for use by PWM
Timer devices may be used for different purposes. One special purpose is
to generate modulated outputs for such things as motor control. If STM32F7_TIM17
is defined then THIS following may also be defined to indicate that
the timer is intended to be used for pulsed output modulation.
if STM32F7_TIM17_PWM
if STM32F7_PWM_MULTICHAN
config STM32F7_TIM17_CHANNEL1
bool "TIM17 Channel 1"
default n
---help---
Enables channel 1.
if STM32F7_TIM17_CHANNEL1
config STM32F7_TIM17_CH1MODE
int "TIM17 Channel 1 Mode"
default 0
range 0 1
---help---
Specifies the channel mode.
config STM32F7_TIM17_CH1OUT
bool "TIM17 Channel 1 Output"
default n
---help---
Enables channel 1 output.
endif # STM32F7_TIM17_CHANNEL1
endif # STM32F7_PWM_MULTICHAN
if !STM32F7_PWM_MULTICHAN
config STM32F7_TIM17_CHANNEL
int "TIM17 PWM Output Channel"
default 1
range 1 1
---help---
If TIM17 is enabled for PWM usage, you also need specifies the timer output
channel {1}
config STM32F7_TIM17_CHMODE
int "TIM17 Channel Mode"
default 0
range 0 1
---help---
Specifies the channel mode.
endif # !STM32F7_PWM_MULTICHAN
endif # STM32F7_TIM17_PWM
config STM32F7_PWM_MULTICHAN
bool "PWM Multiple Output Channels"
default n
depends on STM32F7_TIM1_PWM || STM32F7_TIM2_PWM || STM32F7_TIM3_PWM || STM32F7_TIM4_PWM || STM32F7_TIM5_PWM || STM32F7_TIM8_PWM || STM32F7_TIM9_PWM || STM32F7_TIM10_PWM || STM32F7_TIM11_PWM || STM32F7_TIM12_PWM || STM32F7_TIM13_PWM || STM32F7_TIM14_PWM || STM32F7_TIM15_PWM || STM32F7_TIM16_PWM || STM32F7_TIM17_PWM
depends on STM32F7_TIM1_PWM || STM32F7_TIM2_PWM || STM32F7_TIM3_PWM || STM32F7_TIM4_PWM || STM32F7_TIM5_PWM || STM32F7_TIM8_PWM || STM32F7_TIM9_PWM || STM32F7_TIM10_PWM || STM32F7_TIM11_PWM || STM32F7_TIM12_PWM || STM32F7_TIM13_PWM || STM32F7_TIM14_PWM
select ARCH_HAVE_PWM_MULTICHAN
---help---
Specifies that the PWM driver supports multiple output

View File

@ -49,7 +49,7 @@
* Pre-processor Definitions
************************************************************************************/
/* STM32F40XXX Address Blocks *******************************************************/
/* STM32F7XXXX STM32F75XXX Address Blocks *******************************************/
#define STM32_CODE_BASE 0x00000000 /* 0x00000000-0x1fffffff: 512Mb code block */
#define STM32_SRAM_BASE 0x20000000 /* 0x20000000-0x3fffffff: 512Mb sram block */

View File

@ -49,7 +49,7 @@
* Pre-processor Definitions
************************************************************************************/
/* STM32F40XXX Address Blocks *******************************************************/
/* STM32F76XXX STM32F77XXX Address Blocks *******************************************/
#define STM32_CODE_BASE 0x00000000 /* 0x00000000-0x1fffffff: 512Mb code block */
#define STM32_SRAM_BASE 0x20000000 /* 0x20000000-0x3fffffff: 512Mb sram block */

View File

@ -1,8 +1,9 @@
/****************************************************************************
* arch/arm/src/stm32f7/stm32_dtcm.h
*
* Copyright (C) 2015 Gregory Nutt. All rights reserved.
* Copyright (C) 2015-2016 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com>
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@ -52,14 +53,14 @@
#define HAVE_DTCM_HEAP 1
/* Only the STM32 F2, F3, and F4 have DTCM memory */
/* The STM32 F7 have DTCM memory */
#if defined(CONFIG_STM32_STM32F30XX)
# define DTCM_START 0x10000000
# define DTCM_END 0x10002000
#elif defined(CONFIG_STM32_STM32F20XX) || defined(CONFIG_STM32_STM32F40XX)
# define DTCM_START 0x10000000
# define DTCM_END 0x10010000
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX)
# define DTCM_START 0x20000000
# define DTCM_END 0x20010000
#elif defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
# define DTCM_START 0x20000000
# define DTCM_END 0x20020000
#else
# undef HAVE_DTCM_HEAP
#endif
@ -68,7 +69,7 @@
* heap.
*/
#ifndef CONFIG_STM32_DTCMEXCLUDE
#ifndef CONFIG_STM32F7_DTCMEXCLUDE
# undef HAVE_DTCM_HEAP
#endif

View File

@ -48,6 +48,7 @@
#include <nuttx/arch.h>
#include <nuttx/irq.h>
#include <nuttx/time.h>
#include "up_arch.h"