STM32F7: Completes architecture support for the STM32 F72x and F73x families. Adds support for the Nucleo-144 boards with STM32F722.

This commit is contained in:
Bob Feretich 2017-11-18 07:55:50 -06:00 committed by Gregory Nutt
parent d7bb824c69
commit fab5faf097
18 changed files with 387 additions and 38 deletions

View file

@ -1,9 +1,10 @@
/************************************************************************************ /************************************************************************************
* arch/arm/include/stm32f7/chip.h * arch/arm/include/stm32f7/chip.h
* *
* Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Copyright (C) 2015-2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -46,13 +47,23 @@
/************************************************************************************ /************************************************************************************
* Pre-processor Definitions * Pre-processor Definitions
************************************************************************************/ ************************************************************************************/
/* STM32F745xx, STM32F746xx, STM32F756xx, STM32F765xx, STM32F767xx, STM32F768xx, /* STM32F722xx, STM32F723xx,
* STM32F745xx, STM32F746xx, STM32F756xx, STM32F765xx, STM32F767xx, STM32F768xx,
* STM32F769xx, STM32F777xx and STM32F779xx Differences between family members: * STM32F769xx, STM32F777xx and STM32F779xx Differences between family members:
* *
* ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------ * ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------
* SPI ADC LCD * SPI ADC LCD
* PART PACKAGE GPIOs I2S CHAN TFT MIPI JPEG CAN ETH DFSDM CRYPTO FPU RAM L1 * PART PACKAGE GPIOs I2S CHAN TFT MIPI JPEG CAN ETH DFSDM CRYPTO FPU RAM L1
* ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------ * ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------
* STM32F722Rx LQFP64 50 3/3 16 No No No 1 No No No SFPU (176+16+64) 8+8
* STM32F722Vx LQFP100 82 4/3 16 No No No 1 No No No SFPU (176+16+64) 8+8
* STM32F722Zx LQFP144 114 5/3 24 No No No 1 No No No SFPU (176+16+64) 8+8
* STM32F722Ix UFBGA176/LQFP176 140 5/3 24 No No No 1 No No No SFPU (176+16+64) 8+8
*
* STM32F723Vx WLCSP100 79 4/3 16 No No No 1 No No No SFPU (176+16+64) 8+8
* STM32F723Zx UFBGA144/LQFP144 112 5/3 24 No No No 1 No No No SFPU (176+16+64) 8+8
* STM32F723Ix UFBGA176/LQFP176 138 5/3 24 No No No 1 No No No SFPU (176+16+64) 8+8
*
* STM32F745Vx LQFP100 82 4/3 16 No No No 2 Yes No No SFPU (240+16+64) 4+4 * STM32F745Vx LQFP100 82 4/3 16 No No No 2 Yes No No SFPU (240+16+64) 4+4
* STM32F745Zx WLCSP143/LQFP144 114 6/3 24 No No No 2 Yes No No SFPU (240+16+64) 4+4 * STM32F745Zx WLCSP143/LQFP144 114 6/3 24 No No No 2 Yes No No SFPU (240+16+64) 4+4
* STM32F745Ix UFBGA176/LQFP176 140 6/3 24 No No No 2 Yes No No SFPU (240+16+64) 4+4 * STM32F745Ix UFBGA176/LQFP176 140 6/3 24 No No No 2 Yes No No SFPU (240+16+64) 4+4
@ -108,6 +119,8 @@
* STM32F779Ax WLCSP180 129 6/3 24 Yes Yes Yes 3 No Yes Yes DFPU (368+16+128) 16+16 * STM32F779Ax WLCSP180 129 6/3 24 Yes Yes Yes 3 No Yes Yes DFPU (368+16+128) 16+16
* ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------ * ----------- ---------------- ----- ---- ----- ---- ---- ---- ---- ---- ----- ----- ---- ------------ ------
* *
* Parts STM32F72xxC & STM32F73xxC have 256Kb of FLASH
* Parts STM32F72xxE & STM32F73xxE have 512Kb of FLASH
* Parts STM32F74xxE have 512Kb of FLASH * Parts STM32F74xxE have 512Kb of FLASH
* Parts STM32F74xxG have 1024Kb of FLASH * Parts STM32F74xxG have 1024Kb of FLASH
* Parts STM32F74xxI have 2048Kb of FLASH * Parts STM32F74xxI have 2048Kb of FLASH
@ -116,7 +129,23 @@
* with CONFIG_STM32F7_FLASH_OVERRIDE_x * with CONFIG_STM32F7_FLASH_OVERRIDE_x
* *
*/ */
#if defined(CONFIG_ARCH_CHIP_STM32F745VG) || \ #if defined(CONFIG_ARCH_CHIP_STM32F722RC) || \
defined(CONFIG_ARCH_CHIP_STM32F722RE) || \
defined(CONFIG_ARCH_CHIP_STM32F722VC) || \
defined(CONFIG_ARCH_CHIP_STM32F722VE) || \
defined(CONFIG_ARCH_CHIP_STM32F722ZC) || \
defined(CONFIG_ARCH_CHIP_STM32F722ZE) || \
defined(CONFIG_ARCH_CHIP_STM32F722IC) || \
defined(CONFIG_ARCH_CHIP_STM32F722IE) || \
defined(CONFIG_ARCH_CHIP_STM32F723RC) || \
defined(CONFIG_ARCH_CHIP_STM32F723RE) || \
defined(CONFIG_ARCH_CHIP_STM32F723VC) || \
defined(CONFIG_ARCH_CHIP_STM32F723VE) || \
defined(CONFIG_ARCH_CHIP_STM32F723ZC) || \
defined(CONFIG_ARCH_CHIP_STM32F723ZE) || \
defined(CONFIG_ARCH_CHIP_STM32F723IC) || \
defined(CONFIG_ARCH_CHIP_STM32F723IE) || \
defined(CONFIG_ARCH_CHIP_STM32F745VG) || \
defined(CONFIG_ARCH_CHIP_STM32F745VE) || \ defined(CONFIG_ARCH_CHIP_STM32F745VE) || \
defined(CONFIG_ARCH_CHIP_STM32F745IG) || \ defined(CONFIG_ARCH_CHIP_STM32F745IG) || \
defined(CONFIG_ARCH_CHIP_STM32F745IE) || \ defined(CONFIG_ARCH_CHIP_STM32F745IE) || \
@ -179,7 +208,20 @@
/* Size SRAM */ /* Size SRAM */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX)
# define STM32F7_SRAM1_SIZE (176*1024) /* 176Kb SRAM1 on AHB bus Matrix */
# define STM32F7_SRAM2_SIZE (16*1024) /* 16Kb SRAM2 on AHB bus Matrix */
# if defined(CONFIG_ARMV7M_HAVE_DTCM)
# define STM32F7_DTCM_SRAM_SIZE (64*1024) /* 64Kb DTCM SRAM on TCM interface */
# else
# define STM32F7_DTCM_SRAM_SIZE (0) /* No DTCM SRAM on TCM interface */
# endif
# if defined(CONFIG_ARMV7M_HAVE_ITCM)
# define STM32F7_ITCM_SRAM_SIZE (16*1024) /* 16Kb ITCM SRAM on TCM interface */
# else
# define STM32F7_ITCM_SRAM_SIZE (0) /* No ITCM SRAM on TCM interface */
# endif
#elif defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX)
# define STM32F7_SRAM1_SIZE (240*1024) /* 240Kb SRAM1 on AHB bus Matrix */ # define STM32F7_SRAM1_SIZE (240*1024) /* 240Kb SRAM1 on AHB bus Matrix */
# define STM32F7_SRAM2_SIZE (16*1024) /* 16Kb SRAM2 on AHB bus Matrix */ # define STM32F7_SRAM2_SIZE (16*1024) /* 16Kb SRAM2 on AHB bus Matrix */
# if defined(CONFIG_ARMV7M_HAVE_DTCM) # if defined(CONFIG_ARMV7M_HAVE_DTCM)
@ -209,6 +251,18 @@
# error STM32 F7 chip Family not identified # error STM32 F7 chip Family not identified
#endif #endif
/* Common to all Advanced (vs Foundation) Family members */
#if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX)
# define STM32F7_NSPDIFRX 0 /* Not supported */
# define STM32F7_NGPIO 9 /* 9 GPIO ports, GPIOA-I */
# define STM32F7_NI2C 3 /* I2C1-3 */
#else
# define STM32F7_NSPDIFRX 4 /* 4 SPDIFRX inputs */
# define STM32F7_NGPIO 11 /* 11 GPIO ports, GPIOA-K */
# define STM32F7_NI2C 4 /* I2C1-4 */
#endif
/* Common to all Family members */ /* Common to all Family members */
# define STM32F7_NATIM 2 /* Two advanced timers TIM1 and 8 */ # define STM32F7_NATIM 2 /* Two advanced timers TIM1 and 8 */
@ -219,14 +273,11 @@
# define STM32F7_NUART 4 /* UART 4-5 and 7-8 */ # define STM32F7_NUART 4 /* UART 4-5 and 7-8 */
# define STM32F7_NUSART 4 /* USART1-3 and 6 */ # define STM32F7_NUSART 4 /* USART1-3 and 6 */
# define STM32F7_NI2S 3 /* I2S1-2 (multiplexed with SPI1-3) */ # define STM32F7_NI2S 3 /* I2S1-2 (multiplexed with SPI1-3) */
# define STM32F7_NI2C 4 /* I2C1-4 */
# define STM32F7_NUSBOTGFS 1 /* USB OTG FS */ # define STM32F7_NUSBOTGFS 1 /* USB OTG FS */
# define STM32F7_NUSBOTGHS 1 /* USB OTG HS */ # define STM32F7_NUSBOTGHS 1 /* USB OTG HS */
# define STM32F7_NSAI 2 /* SAI1-2 */ # define STM32F7_NSAI 2 /* SAI1-2 */
# define STM32F7_NSPDIFRX 4 /* 4 SPDIFRX inputs */
# define STM32F7_NDMA 2 /* DMA1-2 */ # define STM32F7_NDMA 2 /* DMA1-2 */
# define STM32F7_NGPIO 11 /* 11 GPIO ports, GPIOA-K */ # define STM32F7_NADC 3 /* 12-bit ADC1-3, number of channels vary */
# define STM32F7_NADC 3 /* 12-bit ADC1-3, 24 channels *except V series) */
# define STM32F7_NDAC 2 /* 12-bit DAC1-2 */ # define STM32F7_NDAC 2 /* 12-bit DAC1-2 */
# define STM32F7_NCAPSENSE 0 /* No capacitive sensing channels */ # define STM32F7_NCAPSENSE 0 /* No capacitive sensing channels */
# define STM32F7_NCRC 1 /* CRC */ # define STM32F7_NCRC 1 /* CRC */
@ -258,11 +309,17 @@
#else #else
# define STM32F7_NRNG 0 /* No Random number generator (RNG) */ # define STM32F7_NRNG 0 /* No Random number generator (RNG) */
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_SPI5) && defined(CONFIG_STM32F7_HAVE_SPI6) #if defined(CONFIG_STM32F7_HAVE_SPI5) && defined(CONFIG_STM32F7_HAVE_SPI6)
# define STM32F7_NSPI 6 /* SPI1-6 (Except V series) */ # define STM32F7_NSPI 6 /* SPI1-6 (Advanced Family Except V series) */
#else #elif defined(CONFIG_STM32F7_HAVE_SPI5)
# define STM32F7_NSPI 5 /* SPI1-5 (Foundation Family Except V & R series) */
#elif defined(CONFIG_STM32F7_HAVE_SPI4)
# define STM32F7_NSPI 4 /* SPI1-4 V series */ # define STM32F7_NSPI 4 /* SPI1-4 V series */
#else
# define STM32F7_NSPI 3 /* SPI1-3 R series */
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_SDMMC2) #if defined(CONFIG_STM32F7_HAVE_SDMMC2)
# define STM32F7_NSDMMC 2 /* 2 SDMMC interfaces */ # define STM32F7_NSDMMC 2 /* 2 SDMMC interfaces */
#else #else
@ -270,8 +327,10 @@
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_CAN3) #if defined(CONFIG_STM32F7_HAVE_CAN3)
# define STM32F7_NCAN 3 /* CAN1-3 */ # define STM32F7_NCAN 3 /* CAN1-3 */
#else #elif defined(CONFIG_STM32F7_HAVE_CAN2)
# define STM32F7_NCAN 2 /* CAN1-2 */ # define STM32F7_NCAN 2 /* CAN1-2 */
#else
# define STM32F7_NCAN 1 /* CAN1 only */
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_DCMI) #if defined(CONFIG_STM32F7_HAVE_DCMI)
# define STM32F7_NDCMI 1 /* Digital camera interface (DCMI) */ # define STM32F7_NDCMI 1 /* Digital camera interface (DCMI) */
@ -288,10 +347,10 @@
#else #else
# define STM32F7_NLCDTFT 0 /* No LCD-TFT */ # define STM32F7_NLCDTFT 0 /* No LCD-TFT */
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_DMA2D) #if defined(CONFIG_STM32F7_HAVE_DMA2D) /* bf20171107 Swapped defines they were reversed. */
# define STM32F7_NDMA2D 0 /* No DChrom-ART Accelerator™ (DMA2D) */
#else
# define STM32F7_NDMA2D 1 /* DChrom-ART Accelerator™ (DMA2D) */ # define STM32F7_NDMA2D 1 /* DChrom-ART Accelerator™ (DMA2D) */
#else
# define STM32F7_NDMA2D 0 /* No DChrom-ART Accelerator™ (DMA2D) */
#endif #endif
#if defined(CONFIG_STM32F7_HAVE_JPEG) #if defined(CONFIG_STM32F7_HAVE_JPEG)
#define STM32F7_NJPEG 1 /* One JPEG Converter */ #define STM32F7_NJPEG 1 /* One JPEG Converter */

View file

@ -1,8 +1,9 @@
/************************************************************************************ /************************************************************************************
* arch/arm/include/stm32f7/irq.h * arch/arm/include/stm32f7/irq.h
* *
* Copyright (C) 2015 Gregory Nutt. All rights reserved. * Copyright (C) 2015, 2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -76,7 +77,9 @@
#define STM32_IRQ_FIRST (16) /* Vector number of the first external interrupt */ #define STM32_IRQ_FIRST (16) /* Vector number of the first external interrupt */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX)
# include <arch/stm32f7/stm32f72xx73xx_irq.h>
#elif defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX)
# include <arch/stm32f7/stm32f74xx75xx_irq.h> # include <arch/stm32f7/stm32f74xx75xx_irq.h>
#elif defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) #elif defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
# include <arch/stm32f7/stm32f76xx77xx_irq.h> # include <arch/stm32f7/stm32f76xx77xx_irq.h>

View file

@ -12,6 +12,134 @@ choice
default ARCH_CHIP_STM32F746 default ARCH_CHIP_STM32F746
depends on ARCH_CHIP_STM32F7 depends on ARCH_CHIP_STM32F7
config ARCH_CHIP_STM32F722RC
bool "STM32F722RC"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_R
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722RE
bool "STM32F722RE"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_R
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722VC
bool "STM32F722VC"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_V
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722VE
bool "STM32F722VE"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_V
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722ZC
bool "STM32F722ZC"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_Z
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722ZE
bool "STM32F722ZE"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_Z
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722IC
bool "STM32F722IC"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_I
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F722IE
bool "STM32F722IE"
select STM32F7_STM32F722XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_I
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723RC
bool "STM32F723RC"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_R
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723RE
bool "STM32F723RE"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_R
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723VC
bool "STM32F723VC"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_V
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723VE
bool "STM32F723VE"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_V
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723ZC
bool "STM32F723ZC"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_Z
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723ZE
bool "STM32F723ZE"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_Z
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723IC
bool "STM32F723IC"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_C
select STM32F7_IO_CONFIG_I
---help---
STM32 F7 Cortex M7, 256 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F723IE
bool "STM32F723IE"
select STM32F7_STM32F723XX
select STM32F7_FLASH_CONFIG_E
select STM32F7_IO_CONFIG_I
---help---
STM32 F7 Cortex M7, 512 FLASH, 256K (176+16+64) Kb SRAM
config ARCH_CHIP_STM32F745VG config ARCH_CHIP_STM32F745VG
bool "STM32F745VG" bool "STM32F745VG"
select STM32F7_STM32F745XX select STM32F7_STM32F745XX
@ -470,6 +598,14 @@ config ARCH_CHIP_STM32F779AI
endchoice # STM32 F7 Chip Selection endchoice # STM32 F7 Chip Selection
config STM32F7_STM32F72XX
bool
default n
config STM32F7_STM32F73XX
bool
default n
config STM32F7_STM32F74XX config STM32F7_STM32F74XX
bool bool
default n default n
@ -486,6 +622,10 @@ config STM32F7_STM32F77XX
bool bool
default n default n
config STM32F7_IO_CONFIG_R
bool
default n
config STM32F7_IO_CONFIG_V config STM32F7_IO_CONFIG_V
bool bool
default n default n
@ -510,6 +650,22 @@ config STM32F7_IO_CONFIG_A
bool bool
default n default n
config STM32F7_STM32F722XX
bool
default n
select STM32F7_STM32F72XX
select ARCH_HAVE_FPU
select ARMV7M_HAVE_ICACHE
select ARMV7M_HAVE_DCACHE
select ARMV7M_HAVE_ITCM
select ARMV7M_HAVE_DTCM
select STM32F7_HAVE_FMC
select STM32F7_HAVE_RNG
select STM32F7_HAVE_SPI4 if !STM32F7_IO_CONFIG_R
select STM32F7_HAVE_SPI5 if !(STM32F7_IO_CONFIG_R || STM32F7_IO_CONFIG_V)
select STM32F7_HAVE_CRYP
select STM32F7_HAVE_SDMMC2 if !STM32F7_IO_CONFIG_R
config STM32F7_STM32F745XX config STM32F7_STM32F745XX
bool bool
default n default n
@ -526,6 +682,8 @@ config STM32F7_STM32F745XX
select STM32F7_HAVE_SPI6 if !STM32F7_IO_CONFIG_V select STM32F7_HAVE_SPI6 if !STM32F7_IO_CONFIG_V
select STM32F7_HAVE_DCMI select STM32F7_HAVE_DCMI
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F746XX config STM32F7_STM32F746XX
bool bool
@ -544,6 +702,8 @@ config STM32F7_STM32F746XX
select STM32F7_HAVE_DCMI select STM32F7_HAVE_DCMI
select STM32F7_HAVE_LTDC select STM32F7_HAVE_LTDC
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F756XX config STM32F7_STM32F756XX
bool bool
@ -563,6 +723,8 @@ config STM32F7_STM32F756XX
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F765XX config STM32F7_STM32F765XX
bool bool
@ -584,6 +746,8 @@ config STM32F7_STM32F765XX
select STM32F7_HAVE_DCMI select STM32F7_HAVE_DCMI
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F767XX config STM32F7_STM32F767XX
bool bool
@ -608,6 +772,8 @@ config STM32F7_STM32F767XX
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_JPEG select STM32F7_HAVE_JPEG
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F768XX # Revisit Wehn parts released config STM32F7_STM32F768XX # Revisit Wehn parts released
bool bool
@ -632,6 +798,8 @@ config STM32F7_STM32F768XX # Revisit Wehn parts released
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_JPEG select STM32F7_HAVE_JPEG
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F768AX # Revisit When parts released config STM32F7_STM32F768AX # Revisit When parts released
bool bool
@ -655,6 +823,8 @@ config STM32F7_STM32F768AX # Revisit When parts released
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_JPEG select STM32F7_HAVE_JPEG
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F769XX config STM32F7_STM32F769XX
bool bool
@ -679,6 +849,8 @@ config STM32F7_STM32F769XX
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_JPEG select STM32F7_HAVE_JPEG
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F769AX # Revisit When parts released config STM32F7_STM32F769AX # Revisit When parts released
bool bool
@ -702,6 +874,8 @@ config STM32F7_STM32F769AX # Revisit When parts released
select STM32F7_HAVE_DMA2D select STM32F7_HAVE_DMA2D
select STM32F7_HAVE_JPEG select STM32F7_HAVE_JPEG
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F777XX config STM32F7_STM32F777XX
bool bool
@ -728,6 +902,8 @@ config STM32F7_STM32F777XX
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F778XX # Revisit when parts released config STM32F7_STM32F778XX # Revisit when parts released
bool bool
@ -754,6 +930,8 @@ config STM32F7_STM32F778XX # Revisit when parts released
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F778AX config STM32F7_STM32F778AX
bool bool
@ -779,6 +957,8 @@ config STM32F7_STM32F778AX
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F779XX config STM32F7_STM32F779XX
bool bool
@ -805,6 +985,8 @@ config STM32F7_STM32F779XX
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_STM32F779AX config STM32F7_STM32F779AX
bool bool
@ -830,6 +1012,8 @@ config STM32F7_STM32F779AX
select STM32F7_HAVE_CRYP select STM32F7_HAVE_CRYP
select STM32F7_HAVE_HASH select STM32F7_HAVE_HASH
select STM32F7_HAVE_DFSDM1 select STM32F7_HAVE_DFSDM1
select STM32F7_HAVE_CAN2
select STM32F7_HAVE_SPI4
config STM32F7_FLASH_CONFIG_E config STM32F7_FLASH_CONFIG_E
bool bool
@ -852,6 +1036,7 @@ choice
that designates the FLASH size. that designates the FLASH size.
Designator Size in KiB Designator Size in KiB
C 256
E 512 E 512
G 1024 G 1024
I 2048 I 2048
@ -871,6 +1056,9 @@ choice
config STM32F7_FLASH_OVERRIDE_DEFAULT config STM32F7_FLASH_OVERRIDE_DEFAULT
bool "Default" bool "Default"
config STM32F7_FLASH_OVERRIDE_C
bool "C 256KiB"
config STM32F7_FLASH_OVERRIDE_E config STM32F7_FLASH_OVERRIDE_E
bool "E 512KiB" bool "E 512KiB"
@ -913,6 +1101,10 @@ config STM32F7_HAVE_RNG
bool bool
default n default n
config STM32F7_HAVE_SPI4
bool
default n
config STM32F7_HAVE_SPI5 config STM32F7_HAVE_SPI5
bool bool
default n default n
@ -937,6 +1129,10 @@ config STM32F7_HAVE_ADC3_DMA
bool bool
default n default n
config STM32F7_HAVE_CAN2
bool
default n
config STM32F7_HAVE_CAN3 config STM32F7_HAVE_CAN3
bool bool
default n default n
@ -1269,6 +1465,7 @@ config STM32F7_SPI3
config STM32F7_SPI4 config STM32F7_SPI4
bool "SPI4" bool "SPI4"
default n default n
depends on STM32F7_HAVE_SPI4
select SPI select SPI
select STM32F7_SPI select STM32F7_SPI

View file

@ -1,9 +1,10 @@
/************************************************************************************ /************************************************************************************
* arch/arm/src/stm32f7/chip/stm32_exti.h * arch/arm/src/stm32f7/chip/stm32_exti.h
* *
* Copyright (C) 2015 Gregory Nutt. All rights reserved. * Copyright (C) 2015, 2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -48,7 +49,8 @@
* families * families
*/ */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) || \
defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \
defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/************************************************************************************ /************************************************************************************

View file

@ -1,9 +1,10 @@
/************************************************************************************ /************************************************************************************
* arch/arm/src/stm32f7/chip/stm32_i2c.h * arch/arm/src/stm32f7/chip/stm32_i2c.h
* *
* Copyright (C) 2016 Gregory Nutt. All rights reserved. * Copyright (C) 2016-2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -44,7 +45,8 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) || \
defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \
defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
# include "chip/stm32f74xx77xx_i2c.h" # include "chip/stm32f74xx77xx_i2c.h"
#else #else

View file

@ -1,9 +1,10 @@
/************************************************************************************ /************************************************************************************
* arch/arm/src/stm32f7/chip/stm32_sdmmc.h * arch/arm/src/stm32f7/chip/stm32_sdmmc.h
* *
* Copyright (C) 2016 Gregory Nutt. All rights reserved. * Copyright (C) 2016-2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -44,7 +45,8 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) || \
defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \
defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
# include "stm32f74xx77xx_sdmmc.h" # include "stm32f74xx77xx_sdmmc.h"
#else #else

View file

@ -1,9 +1,10 @@
/************************************************************************************ /************************************************************************************
* arch/arm/src/stm32f7/chip/stm32_spi.h * arch/arm/src/stm32f7/chip/stm32_spi.h
* *
* Copyright (C) 2016 Gregory Nutt. All rights reserved. * Copyright (C) 2016-2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -44,7 +45,8 @@
#include <nuttx/config.h> #include <nuttx/config.h>
#include "chip.h" #include "chip.h"
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) || \
defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \
defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
# include "chip/stm32f74xx77xx_spi.h" # include "chip/stm32f74xx77xx_spi.h"
#else #else

View file

@ -7,6 +7,7 @@
* Diego Sanchez <dsanchez@nx-engineering.com> * Diego Sanchez <dsanchez@nx-engineering.com>
* Paul Alexander Patience <paul-a.patience@polymtl.ca> * Paul Alexander Patience <paul-a.patience@polymtl.ca>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -85,7 +86,8 @@
/* This implementation is for the STM32 F7[4-7] only */ /* This implementation is for the STM32 F7[4-7] only */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) || \
defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) || \
defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/**************************************************************************** /****************************************************************************

View file

@ -3,6 +3,7 @@
* *
* Copyright (C) 2015-2017 Gregory Nutt. All rights reserved. * Copyright (C) 2015-2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -59,7 +60,8 @@
* families * families
*/ */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM33F75XX) \
|| defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \
|| defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) || defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/**************************************************************************** /****************************************************************************

View file

@ -1,9 +1,10 @@
/**************************************************************************** /****************************************************************************
* arch/arm/src/stm32f7/stm32_dtcm.h * arch/arm/src/stm32f7/stm32_dtcm.h
* *
* Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Copyright (C) 2015-2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -55,7 +56,8 @@
/* The STM32 F7 have DTCM memory */ /* The STM32 F7 have DTCM memory */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) \
|| defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX)
# define DTCM_START 0x20000000 # define DTCM_START 0x20000000
# define DTCM_END 0x20010000 # define DTCM_END 0x20010000
#elif defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) #elif defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)

View file

@ -1,8 +1,9 @@
/**************************************************************************** /****************************************************************************
* arch/arm/src/stm32f7/stm32_gpio.c * arch/arm/src/stm32f7/stm32_gpio.c
* *
* Copyright (C) 2015-2016 Gregory Nutt. All rights reserved. * Copyright (C) 2015-2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -58,6 +59,7 @@
*/ */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \ #if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \
|| defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \
|| defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) || defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/**************************************************************************** /****************************************************************************

View file

@ -11,6 +11,7 @@
* Copyright (C) 2011 Uros Platise. All rights reserved. * Copyright (C) 2011 Uros Platise. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* Uros Platise <uros.platise@isotel.eu> * Uros Platise <uros.platise@isotel.eu>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -65,7 +66,8 @@
* families * families
*/ */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) \
|| defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \
|| defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) || defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/**************************************************************************** /****************************************************************************

View file

@ -1,8 +1,9 @@
/**************************************************************************** /****************************************************************************
* arch/arm/src/stm32f7/stm32_gpio.c * arch/arm/src/stm32f7/stm32_gpio.c
* *
* Copyright (C) 2015 Gregory Nutt. All rights reserved. * Copyright (C) 2015, 2017 Gregory Nutt. All rights reserved.
* Author: Gregory Nutt <gnutt@nuttx.org> * Author: Gregory Nutt <gnutt@nuttx.org>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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,7 +58,8 @@
* families * families
*/ */
#if defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \ #if defined(CONFIG_STM32F7_STM32F72XX) || defined(CONFIG_STM32F7_STM32F73XX) \
|| defined(CONFIG_STM32F7_STM32F74XX) || defined(CONFIG_STM32F7_STM32F75XX) \
|| defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX) || defined(CONFIG_STM32F7_STM32F76XX) || defined(CONFIG_STM32F7_STM32F77XX)
/**************************************************************************** /****************************************************************************

View file

@ -11,6 +11,7 @@
* Authors: Gregroy Nutt <gnutt@nuttx.org> * Authors: Gregroy Nutt <gnutt@nuttx.org>
* John Wharington * John Wharington
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* Major rewrite of ISR and supporting methods, including support * Major rewrite of ISR and supporting methods, including support
* for NACK and RELOAD by: * for NACK and RELOAD by:
@ -159,6 +160,8 @@
* *
* One of: * One of:
* *
* CONFIG_STM32F7_STM32F72XX
* CONFIG_STM32F7_STM32F73XX
* CONFIG_STM32F7_STM32F74XX * CONFIG_STM32F7_STM32F74XX
* CONFIG_STM32F7_STM32F75XX * CONFIG_STM32F7_STM32F75XX
* CONFIG_STM32F7_STM32F76XX * CONFIG_STM32F7_STM32F76XX
@ -195,6 +198,10 @@
* *
* References: * References:
* *
* RM0431:
* ST STM32F72xxx and STM32F73xxx Reference Manual
* Document ID: DocID029480 Revision 1, Jan 2017.
*
* RM0316: * RM0316:
* ST STM32F76xxx and STM32F77xxx Reference Manual * ST STM32F76xxx and STM32F77xxx Reference Manual
* Document ID: DocID028270 Revision 2, April 2016. * Document ID: DocID028270 Revision 2, April 2016.

View file

@ -699,7 +699,7 @@ config ARCH_BOARD_NR5M100_NEXYS4
config ARCH_BOARD_NUCLEO_144 config ARCH_BOARD_NUCLEO_144
bool "STMicro NUCLEO-144" bool "STMicro NUCLEO-144"
depends on ARCH_CHIP_STM32F746ZG || ARCH_CHIP_STM32F767ZI depends on ARCH_CHIP_STM32F722ZE || ARCH_CHIP_STM32F746ZG || ARCH_CHIP_STM32F767ZI
select ARCH_HAVE_LEDS select ARCH_HAVE_LEDS
select ARCH_HAVE_BUTTONS select ARCH_HAVE_BUTTONS
select ARCH_HAVE_IRQBUTTONS select ARCH_HAVE_IRQBUTTONS
@ -713,6 +713,7 @@ config ARCH_BOARD_NUCLEO_144
STM32F303ZET6 NUCLEO-F303ZE STM32F303ZET6 NUCLEO-F303ZE
STM32F429ZIT6 NUCLEO-F429ZI STM32F429ZIT6 NUCLEO-F429ZI
STM32F446ZET6 NUCLEO-F446ZE STM32F446ZET6 NUCLEO-F446ZE
STM32F722ZET6 NUCLEO-F722ZE
STM32F746ZGT6 NUCLEO-F746ZG STM32F746ZGT6 NUCLEO-F746ZG
STM32F767ZIT6 NUCLEO-F767ZI STM32F767ZIT6 NUCLEO-F767ZI
STM32L496ZGT6 NUCLEO-L496ZG STM32L496ZGT6 NUCLEO-L496ZG
@ -720,6 +721,8 @@ config ARCH_BOARD_NUCLEO_144
Supported in this configuration are: Supported in this configuration are:
NUCLEO-F722ZE - STM32F722ZET6 a 216MHz Cortex-M7, w/FPU -
512KiB Flash memory and 256KiB SRAM.
NUCLEO-F746ZG - STM32F746ZGT6 a 216MHz Cortex-M7, w/FPU - NUCLEO-F746ZG - STM32F746ZGT6 a 216MHz Cortex-M7, w/FPU -
1024KiB Flash memory and 320KiB SRAM. 1024KiB Flash memory and 320KiB SRAM.
NUCLEO-F767ZI - STM32F767ZIT6 a 216MHz Cortex-M7, w/DPFPU - NUCLEO-F767ZI - STM32F767ZIT6 a 216MHz Cortex-M7, w/DPFPU -

View file

@ -40,10 +40,22 @@ choice
STM32F7 STM32F7
MORPHO FUNCTION GPIO MORPHO FUNCTION GPIO
-------- --------- ----- -------- --------- -----
CN12-64 USART8_RX PE0 CN12-64 UART8_RX PE0
CN11-61 USART8_TX PE1 CN11-61 UART8_TX PE1
-------- --------- ----- -------- --------- -----
OR
Morpho Connector UART4:
STM32F7
MORPHO FUNCTION GPIO
-------- --------- -----
CN11-30 UART4_RX PA0
CN11-28 UART4_TX PA1
-------- --------- -----
Note: SB13 must be removed to disable Ethernet.
config NUCLEO_CONSOLE_ARDUINO config NUCLEO_CONSOLE_ARDUINO
bool "Arduino Connector" bool "Arduino Connector"
select STM32F7_USART6 select STM32F7_USART6
@ -62,6 +74,12 @@ config NUCLEO_CONSOLE_MORPHO
select UART8_SERIALDRIVER select UART8_SERIALDRIVER
select UART8_SERIAL_CONSOLE select UART8_SERIAL_CONSOLE
config NUCLEO_CONSOLE_MORPHO_UART4
bool "Morpho Connector UART4"
select STM32F7_UART4
select UART4_SERIALDRIVER
select UART4_SERIAL_CONSOLE
config NUCLEO_CONSOLE_NONE config NUCLEO_CONSOLE_NONE
bool "No Console" bool "No Console"

View file

@ -10,6 +10,7 @@ Contents
======== ========
- Nucleo-144 Boards - Nucleo-144 Boards
- Nucleo F722ZE
- Nucleo F746ZG - Nucleo F746ZG
- Nucleo F767ZI - Nucleo F767ZI
- Development Environment - Development Environment
@ -38,6 +39,7 @@ LQFP144 package. Variants include
STM32F303ZET6 NUCLEO-F303ZE STM32F303ZET6 NUCLEO-F303ZE
STM32F429ZIT6 NUCLEO-F429ZI STM32F429ZIT6 NUCLEO-F429ZI
STM32F446ZET6 NUCLEO-F446ZE STM32F446ZET6 NUCLEO-F446ZE
STM32F722ZET6 NUCLEO-F722ZE
STM32F746ZGT6 NUCLEO-F746ZG STM32F746ZGT6 NUCLEO-F746ZG
STM32F767ZIT6 NUCLEO-F767ZI STM32F767ZIT6 NUCLEO-F767ZI
STM32L496ZGT6 NUCLEO-L496ZG STM32L496ZGT6 NUCLEO-L496ZG
@ -229,10 +231,11 @@ Hardware
debugging. Because so many pins can be multiplexed with so many functions, debugging. Because so many pins can be multiplexed with so many functions,
the above mentioned graphic may be helpful in indentifying a serial port. the above mentioned graphic may be helpful in indentifying a serial port.
There are 4 choices that can be made from the menuconfig: There are 5 choices that can be made from the menuconfig:
CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or CONFIG_NUCLEO_CONSOLE_ARDUINO or CONFIG_NUCLEO_CONSOLE_MORPHO or
CONFIG_NUCLEO_CONSOLE_VIRTUAL or CONFIG_NUCLEO_CONSOLE_NONE CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 or CONFIG_NUCLEO_CONSOLE_VIRTUAL or
CONFIG_NUCLEO_CONSOLE_NONE
The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. YOu shuld still visit The CONFIG_NUCLEO_CONSOLE_NONE makes no preset for the console. YOu shuld still visit
the U[S]ART selection and Device Drivers to disable any U[S]ART reamaing. the U[S]ART selection and Device Drivers to disable any U[S]ART reamaing.
@ -256,6 +259,14 @@ Hardware
SERIAL_RX PE_0 SERIAL_RX PE_0
SERIAL_TX PE_1 SERIAL_TX PE_1
The CONFIG_NUCLEO_CONSOLE_MORPHO_UART4 configurations uses Serial Port 4 (UART4)
with TX on PA1 and RX on PA0. Zero Ohm resistor / solder short at
SB13 must be removed/open. (Disables Ethernet MII clocking.)
Serial
------
SERIAL_RX PA_1 CN11 30
SERIAL_TX PA_0 CN11 28
The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3) The CONFIG_NUCLEO_CONSOLE_VIRTUAL configurations uses Serial Port 3 (USART3)
with TX on PD8 and RX on PD9. with TX on PD8 and RX on PD9.
Serial Serial

View file

@ -1,10 +1,11 @@
/************************************************************************************ /************************************************************************************
* configs/nucleo-144/include/board.h * configs/nucleo-144/include/board.h
* *
* Copyright (C) 2016 Gregory Nutt. All rights reserved. * Copyright (C) 2016-2017 Gregory Nutt. All rights reserved.
* Authors: Gregory Nutt <gnutt@nuttx.org> * Authors: Gregory Nutt <gnutt@nuttx.org>
* Mark Olsson <post@markolsson.se> * Mark Olsson <post@markolsson.se>
* David Sidrane <david_s5@nscdg.com> * David Sidrane <david_s5@nscdg.com>
* Bob Feretich <bob.feretich@rafresearch.com>
* *
* 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
@ -374,6 +375,36 @@
# define GPIO_USART3_TX GPIO_USART3_TX_3 # define GPIO_USART3_TX GPIO_USART3_TX_3
#endif #endif
#if defined(CONFIG_NUCLEO_CONSOLE_MORPHO_UART4)
/* UART4:
*
* This configuration assumes that you disabled Ethernet MII clocking
* by removing SB13 to free PA1.
*
* -------- ---------------
* STM32F7
* Pin FUNCTION GPIO
* ------- --------- -----
* CN11 30 UART4_RX PA1
* CN11 28 UART4_TX PA0
* ------- --------- -----
*/
# define GPIO_UART4_RX GPIO_UART4_RX_1
# define GPIO_UART4_TX GPIO_UART4_TX_1
/* USART3 seems to be forced selected by the Nucleo-F746ZG kconfig - bug */
# define GPIO_USART3_RX GPIO_USART3_RX_1
# define GPIO_USART3_TX GPIO_USART3_TX_1
/* USART6 seems to be forced selected by the Nucleo-F722E kconfig - bug */
# define GPIO_USART6_RX GPIO_USART6_RX_2
# define GPIO_USART6_TX GPIO_USART6_TX_2
#endif
/* USART8: /* USART8:
* *
* This configurations assume that you are connecting to the Morpho connector * This configurations assume that you are connecting to the Morpho connector