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)
|
||||
#elif defined(STM32F722xx) || defined(STM32F723xx) || \
|
||||
defined(STM32F732xx) || defined(STM32F733xx) || \
|
||||
defined(STM32F745xx) || \
|
||||
defined(STM32F746xx) || defined(STM32F765xx) || \
|
||||
defined(STM32F745xx) || defined(STM32F746xx) || \
|
||||
defined(STM32F756xx) || defined(STM32F765xx) || \
|
||||
defined(STM32F767xx) || defined(STM32F769xx)
|
||||
#define VBAT_DIV (4)
|
||||
#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)
|
||||
|
||||
#if defined(STM32F745xx) || defined(STM32F746xx)
|
||||
#if defined(STM32F745xx) || defined(STM32F746xx) || defined(STM32F756xx)
|
||||
|
||||
// The value 0x40912732 was obtained from the DISCOVERY_I2Cx_TIMING constant
|
||||
// defined in the STM32F7Cube file Drivers/BSP/STM32F746G-Discovery/stm32f7456g_discovery.h
|
||||
|
Loading…
x
Reference in New Issue
Block a user