stm32/boards/NUCLEO_F756ZG: Add board definition for NUCLEO-F756ZG.
Signed-off-by: Damien George <damien@micropython.org>
This commit is contained in:
parent
5b7f71882b
commit
7f71057a89
@ -154,8 +154,8 @@
|
|||||||
#define VBAT_DIV (4)
|
#define VBAT_DIV (4)
|
||||||
#elif defined(STM32F722xx) || defined(STM32F723xx) || \
|
#elif defined(STM32F722xx) || defined(STM32F723xx) || \
|
||||||
defined(STM32F732xx) || defined(STM32F733xx) || \
|
defined(STM32F732xx) || defined(STM32F733xx) || \
|
||||||
defined(STM32F745xx) || \
|
defined(STM32F745xx) || defined(STM32F746xx) || \
|
||||||
defined(STM32F746xx) || defined(STM32F765xx) || \
|
defined(STM32F756xx) || defined(STM32F765xx) || \
|
||||||
defined(STM32F767xx) || defined(STM32F769xx)
|
defined(STM32F767xx) || defined(STM32F769xx)
|
||||||
#define VBAT_DIV (4)
|
#define VBAT_DIV (4)
|
||||||
#elif defined(STM32G0) || defined(STM32G4)
|
#elif defined(STM32G0) || defined(STM32G4)
|
||||||
|
15
ports/stm32/boards/NUCLEO_F756ZG/board.json
Normal file
15
ports/stm32/boards/NUCLEO_F756ZG/board.json
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
{
|
||||||
|
"deploy": [
|
||||||
|
"../deploy.md"
|
||||||
|
],
|
||||||
|
"docs": "",
|
||||||
|
"features": [],
|
||||||
|
"images": [
|
||||||
|
"nucleo_f756zg.jpg"
|
||||||
|
],
|
||||||
|
"mcu": "stm32f7",
|
||||||
|
"product": "Nucleo F756ZG",
|
||||||
|
"thumbnail": "",
|
||||||
|
"url": "",
|
||||||
|
"vendor": "ST Microelectronics"
|
||||||
|
}
|
88
ports/stm32/boards/NUCLEO_F756ZG/mpconfigboard.h
Normal file
88
ports/stm32/boards/NUCLEO_F756ZG/mpconfigboard.h
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
// This board is only confirmed to operate using DFU mode and openocd.
|
||||||
|
// DFU mode can be accessed by setting BOOT0 (see schematics)
|
||||||
|
// To use openocd run "OPENOCD_CONFIG=boards/openocd_stm32f7.cfg" in
|
||||||
|
// the make command.
|
||||||
|
|
||||||
|
#define MICROPY_HW_BOARD_NAME "NUCLEO-F756ZG"
|
||||||
|
#define MICROPY_HW_MCU_NAME "STM32F756"
|
||||||
|
|
||||||
|
#define MICROPY_HW_HAS_SWITCH (1)
|
||||||
|
#define MICROPY_HW_HAS_FLASH (1)
|
||||||
|
#define MICROPY_HW_ENABLE_RNG (1)
|
||||||
|
#define MICROPY_HW_ENABLE_RTC (1)
|
||||||
|
#define MICROPY_HW_ENABLE_DAC (1)
|
||||||
|
#define MICROPY_HW_ENABLE_USB (1)
|
||||||
|
|
||||||
|
// HSE is 8MHz
|
||||||
|
// VCOClock = HSE * PLLN / PLLM = 8 MHz * 216 / 4 = 432 MHz
|
||||||
|
// SYSCLK = VCOClock / PLLP = 432 MHz / 2 = 216 MHz
|
||||||
|
// USB/SDMMC/RNG Clock = VCOClock / PLLQ = 432 MHz / 9 = 48 MHz
|
||||||
|
#define MICROPY_HW_CLK_PLLM (4)
|
||||||
|
#define MICROPY_HW_CLK_PLLN (216)
|
||||||
|
#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2)
|
||||||
|
#define MICROPY_HW_CLK_PLLQ (9)
|
||||||
|
|
||||||
|
// From the reference manual, for 2.7V to 3.6V
|
||||||
|
// 151-180 MHz => 5 wait states
|
||||||
|
// 181-210 MHz => 6 wait states
|
||||||
|
// 211-216 MHz => 7 wait states
|
||||||
|
#define MICROPY_HW_FLASH_LATENCY FLASH_LATENCY_7 // 210-216 MHz needs 7 wait states
|
||||||
|
|
||||||
|
// UART config
|
||||||
|
#define MICROPY_HW_UART2_TX (pin_D5)
|
||||||
|
#define MICROPY_HW_UART2_RX (pin_D6)
|
||||||
|
#define MICROPY_HW_UART2_RTS (pin_D4)
|
||||||
|
#define MICROPY_HW_UART2_CTS (pin_D3)
|
||||||
|
#define MICROPY_HW_UART3_TX (pin_D8)
|
||||||
|
#define MICROPY_HW_UART3_RX (pin_D9)
|
||||||
|
#define MICROPY_HW_UART6_TX (pin_G14)
|
||||||
|
#define MICROPY_HW_UART6_RX (pin_G9)
|
||||||
|
#define MICROPY_HW_UART_REPL PYB_UART_3
|
||||||
|
#define MICROPY_HW_UART_REPL_BAUD 115200
|
||||||
|
|
||||||
|
// I2C buses
|
||||||
|
#define MICROPY_HW_I2C1_SCL (pin_B8)
|
||||||
|
#define MICROPY_HW_I2C1_SDA (pin_B9)
|
||||||
|
#define MICROPY_HW_I2C3_SCL (pin_H7)
|
||||||
|
#define MICROPY_HW_I2C3_SDA (pin_H8)
|
||||||
|
|
||||||
|
// SPI buses
|
||||||
|
#define MICROPY_HW_SPI3_NSS (pin_A4)
|
||||||
|
#define MICROPY_HW_SPI3_SCK (pin_B3)
|
||||||
|
#define MICROPY_HW_SPI3_MISO (pin_B4)
|
||||||
|
#define MICROPY_HW_SPI3_MOSI (pin_B5)
|
||||||
|
|
||||||
|
// CAN buses
|
||||||
|
#define MICROPY_HW_CAN1_TX (pin_B9)
|
||||||
|
#define MICROPY_HW_CAN1_RX (pin_B8)
|
||||||
|
#define MICROPY_HW_CAN2_TX (pin_B13)
|
||||||
|
#define MICROPY_HW_CAN2_RX (pin_B12)
|
||||||
|
|
||||||
|
// USRSW is pulled low. Pressing the button makes the input go high.
|
||||||
|
#define MICROPY_HW_USRSW_PIN (pin_C13)
|
||||||
|
#define MICROPY_HW_USRSW_PULL (GPIO_NOPULL)
|
||||||
|
#define MICROPY_HW_USRSW_EXTI_MODE (GPIO_MODE_IT_RISING)
|
||||||
|
#define MICROPY_HW_USRSW_PRESSED (1)
|
||||||
|
|
||||||
|
// LEDs
|
||||||
|
#define MICROPY_HW_LED1 (pin_B0) // green
|
||||||
|
#define MICROPY_HW_LED2 (pin_B7) // blue
|
||||||
|
#define MICROPY_HW_LED3 (pin_B14) // red
|
||||||
|
#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin))
|
||||||
|
#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin))
|
||||||
|
|
||||||
|
// USB config (CN13 - USB OTG FS)
|
||||||
|
#define MICROPY_HW_USB_FS (1)
|
||||||
|
#define MICROPY_HW_USB_VBUS_DETECT_PIN (pin_A9)
|
||||||
|
#define MICROPY_HW_USB_OTG_ID_PIN (pin_A10)
|
||||||
|
|
||||||
|
// Ethernet via RMII
|
||||||
|
#define MICROPY_HW_ETH_MDC (pin_C1)
|
||||||
|
#define MICROPY_HW_ETH_MDIO (pin_A2)
|
||||||
|
#define MICROPY_HW_ETH_RMII_REF_CLK (pin_A1)
|
||||||
|
#define MICROPY_HW_ETH_RMII_CRS_DV (pin_A7)
|
||||||
|
#define MICROPY_HW_ETH_RMII_RXD0 (pin_C4)
|
||||||
|
#define MICROPY_HW_ETH_RMII_RXD1 (pin_C5)
|
||||||
|
#define MICROPY_HW_ETH_RMII_TX_EN (pin_G11)
|
||||||
|
#define MICROPY_HW_ETH_RMII_TXD0 (pin_G13)
|
||||||
|
#define MICROPY_HW_ETH_RMII_TXD1 (pin_B13)
|
11
ports/stm32/boards/NUCLEO_F756ZG/mpconfigboard.mk
Normal file
11
ports/stm32/boards/NUCLEO_F756ZG/mpconfigboard.mk
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
MCU_SERIES = f7
|
||||||
|
CMSIS_MCU = STM32F756xx
|
||||||
|
AF_FILE = boards/stm32f746_af.csv
|
||||||
|
LD_FILES = boards/stm32f746.ld boards/common_ifs.ld
|
||||||
|
TEXT0_ADDR = 0x08000000
|
||||||
|
TEXT1_ADDR = 0x08020000
|
||||||
|
|
||||||
|
# MicroPython settings
|
||||||
|
MICROPY_PY_LWIP = 1
|
||||||
|
MICROPY_PY_USSL = 1
|
||||||
|
MICROPY_SSL_MBEDTLS = 1
|
77
ports/stm32/boards/NUCLEO_F756ZG/pins.csv
Normal file
77
ports/stm32/boards/NUCLEO_F756ZG/pins.csv
Normal file
@ -0,0 +1,77 @@
|
|||||||
|
A0,PA3
|
||||||
|
A1,PC0
|
||||||
|
A2,PC3
|
||||||
|
A3,PF3
|
||||||
|
A4,PF5
|
||||||
|
A5,PF10
|
||||||
|
D0,PG9
|
||||||
|
D1,PG14
|
||||||
|
D2,PF15
|
||||||
|
D3,PE13
|
||||||
|
D4,PF14
|
||||||
|
D5,PE11
|
||||||
|
D6,PE9
|
||||||
|
D7,PF13
|
||||||
|
D8,PF12
|
||||||
|
D9,PD15
|
||||||
|
D10,PD14
|
||||||
|
D11,PA7
|
||||||
|
D12,PA6
|
||||||
|
D13,PA5
|
||||||
|
D14,PB9
|
||||||
|
D15,PB8
|
||||||
|
D16,PC6
|
||||||
|
D17,PB15
|
||||||
|
D18,PB13
|
||||||
|
D19,PB12
|
||||||
|
D20,PA15
|
||||||
|
D21,PC7
|
||||||
|
D22,PB5
|
||||||
|
D23,PB3
|
||||||
|
D24,PA4
|
||||||
|
D25,PB4
|
||||||
|
LED1,PB0
|
||||||
|
LED2,PB7
|
||||||
|
LED3,PB14
|
||||||
|
SW,PC13
|
||||||
|
TP1,PH2
|
||||||
|
TP2,PI8
|
||||||
|
TP3,PH15
|
||||||
|
AUDIO_INT,PD6
|
||||||
|
AUDIO_SDA,PH8
|
||||||
|
AUDIO_SCL,PH7
|
||||||
|
EXT_SDA,PB9
|
||||||
|
EXT_SCL,PB8
|
||||||
|
EXT_RST,PG3
|
||||||
|
SD_SW,PC13
|
||||||
|
LCD_BL_CTRL,PK3
|
||||||
|
LCD_INT,PI13
|
||||||
|
LCD_SDA,PH8
|
||||||
|
LCD_SCL,PH7
|
||||||
|
OTG_FS_POWER,PD5
|
||||||
|
OTG_FS_OVER_CURRENT,PD4
|
||||||
|
OTG_HS_OVER_CURRENT,PE3
|
||||||
|
USB_VBUS,PA9
|
||||||
|
USB_ID,PA10
|
||||||
|
USB_DM,PA11
|
||||||
|
USB_DP,PA12
|
||||||
|
VCP_TX,PD8
|
||||||
|
VCP_RX,PD9
|
||||||
|
UART2_TX,PD5
|
||||||
|
UART2_RX,PD6
|
||||||
|
UART2_RTS,PD4
|
||||||
|
UART2_CTS,PD3
|
||||||
|
UART6_TX,PG14
|
||||||
|
UART6_RX,PG9
|
||||||
|
SPI_B_NSS,PA4
|
||||||
|
SPI_B_SCK,PB3
|
||||||
|
SPI_B_MOSI,PB5
|
||||||
|
ETH_MDC,PC1
|
||||||
|
ETH_MDIO,PA2
|
||||||
|
ETH_RMII_REF_CLK,PA1
|
||||||
|
ETH_RMII_CRS_DV,PA7
|
||||||
|
ETH_RMII_RXD0,PC4
|
||||||
|
ETH_RMII_RXD1,PC5
|
||||||
|
ETH_RMII_TX_EN,PG11
|
||||||
|
ETH_RMII_TXD0,PG13
|
||||||
|
ETH_RMII_TXD1,PB13
|
|
19
ports/stm32/boards/NUCLEO_F756ZG/stm32f7xx_hal_conf.h
Normal file
19
ports/stm32/boards/NUCLEO_F756ZG/stm32f7xx_hal_conf.h
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
/* This file is part of the MicroPython project, http://micropython.org/
|
||||||
|
* The MIT License (MIT)
|
||||||
|
* Copyright (c) 2019 Damien P. George
|
||||||
|
*/
|
||||||
|
#ifndef MICROPY_INCLUDED_STM32F7XX_HAL_CONF_H
|
||||||
|
#define MICROPY_INCLUDED_STM32F7XX_HAL_CONF_H
|
||||||
|
|
||||||
|
#include "boards/stm32f7xx_hal_conf_base.h"
|
||||||
|
|
||||||
|
// Oscillator values in Hz
|
||||||
|
#define HSE_VALUE (8000000)
|
||||||
|
#define LSE_VALUE (32768)
|
||||||
|
#define EXTERNAL_CLOCK_VALUE (12288000)
|
||||||
|
|
||||||
|
// Oscillator timeouts in ms
|
||||||
|
#define HSE_STARTUP_TIMEOUT (5000)
|
||||||
|
#define LSE_STARTUP_TIMEOUT (5000)
|
||||||
|
|
||||||
|
#endif // MICROPY_INCLUDED_STM32F7XX_HAL_CONF_H
|
@ -137,7 +137,7 @@ const pyb_i2c_obj_t pyb_i2c_obj[] = {
|
|||||||
|
|
||||||
#define PYB_I2C_TIMINGR (1)
|
#define PYB_I2C_TIMINGR (1)
|
||||||
|
|
||||||
#if defined(STM32F745xx) || defined(STM32F746xx)
|
#if defined(STM32F745xx) || defined(STM32F746xx) || defined(STM32F756xx)
|
||||||
|
|
||||||
// The value 0x40912732 was obtained from the DISCOVERY_I2Cx_TIMING constant
|
// The value 0x40912732 was obtained from the DISCOVERY_I2Cx_TIMING constant
|
||||||
// defined in the STM32F7Cube file Drivers/BSP/STM32F746G-Discovery/stm32f7456g_discovery.h
|
// defined in the STM32F7Cube file Drivers/BSP/STM32F746G-Discovery/stm32f7456g_discovery.h
|
||||||
|
Loading…
x
Reference in New Issue
Block a user