-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
stmhal: Add support for NUCLEO_F446RE board.
- Loading branch information
Showing
6 changed files
with
555 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,64 @@ | ||
#define MICROPY_HW_BOARD_NAME "NUCLEO-F446RE" | ||
#define MICROPY_HW_MCU_NAME "STM32F446xx" | ||
|
||
#define MICROPY_HW_HAS_SWITCH (1) | ||
#define MICROPY_HW_HAS_FLASH (1) | ||
#define MICROPY_HW_ENABLE_RTC (1) | ||
|
||
// HSE is 8MHz, CPU freq set to 168MHz. Using PLLQ for USB this gives a nice | ||
// 48 MHz clock for USB. To goto 180 MHz, I think that USB would need to be | ||
// configured to use PLLSAI | ||
#define MICROPY_HW_CLK_PLLM (8) | ||
#define MICROPY_HW_CLK_PLLN (336) | ||
#define MICROPY_HW_CLK_PLLP (RCC_PLLP_DIV2) | ||
#define MICROPY_HW_CLK_PLLQ (7) | ||
|
||
// UART config | ||
#define MICROPY_HW_UART2_TX (pin_A2) | ||
#define MICROPY_HW_UART2_RX (pin_A3) | ||
#define MICROPY_HW_UART6_TX (pin_C6) | ||
#define MICROPY_HW_UART6_RX (pin_C7) | ||
// UART 2 connects to the STM32F103 (STLINK) on the Nucleo board | ||
// and this is exposed as a USB Serial port. | ||
#define MICROPY_HW_UART_REPL PYB_UART_2 | ||
#define MICROPY_HW_UART_REPL_BAUD 115200 | ||
|
||
// I2C busses | ||
#define MICROPY_HW_I2C1_SCL (pin_B6) // Arduino D10, pin 17 on CN10 | ||
#define MICROPY_HW_I2C1_SDA (pin_B7) // pin 21 on CN7 | ||
#define MICROPY_HW_I2C2_SCL (pin_B10) // Arduino D6, pin 25 on CN10 | ||
#define MICROPY_HW_I2C2_SDA (pin_B3) // Arduino D3, pin 31 on CN10 | ||
#define MICROPY_HW_I2C3_SCL (pin_A8) // Arduino D7, pin 23 on CN10 | ||
#define MICROPY_HW_I2C3_SDA (pin_C9) // pin 1 on CN10 | ||
|
||
// SPI busses | ||
#define MICROPY_HW_SPI1_NSS (pin_A15) // pin 17 on CN7 | ||
#define MICROPY_HW_SPI1_SCK (pin_A5) // Arduino D13, pin 11 on CN10 | ||
#define MICROPY_HW_SPI1_MISO (pin_A6) // Arduino D12, pin 13 on CN10 | ||
#define MICROPY_HW_SPI1_MOSI (pin_A7) // Arduino D11, pin 15 on CN10 | ||
|
||
#define MICROPY_HW_SPI2_NSS (pin_B12) // pin 16 on CN10 | ||
#define MICROPY_HW_SPI2_SCK (pin_B13) // pin 30 on CN10 | ||
#define MICROPY_HW_SPI2_MISO (pin_B14) // pin 28 on CN10 | ||
#define MICROPY_HW_SPI2_MOSI (pin_B15) // pin 26 on CN10 | ||
|
||
#define MICROPY_HW_SPI3_NSS (pin_A4) // Arduino A2, pin 32 on CN7 | ||
#define MICROPY_HW_SPI3_SCK (pin_B3) // Arduino D3, pin 31 on CN10 | ||
#define MICROPY_HW_SPI3_MISO (pin_B4) // Arduino D5, pin 27 on CN10 | ||
#define MICROPY_HW_SPI3_MOSI (pin_B5) // Arduino D4, pin 29 on CN10 | ||
|
||
#define MICROPY_HW_SPI4_NSS (pin_B12) // pin 16 on CN10 | ||
#define MICROPY_HW_SPI4_SCK (pin_B13) // pin 30 on CN10 | ||
#define MICROPY_HW_SPI4_MISO (pin_A1) // pin 30 on CN7 | ||
#define MICROPY_HW_SPI4_MOSI (pin_A11) // pin 14 on CN10 | ||
|
||
// 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_FALLING) | ||
#define MICROPY_HW_USRSW_PRESSED (0) | ||
|
||
// LEDs | ||
#define MICROPY_HW_LED1 (pin_A5) // Green LD2 LED on Nucleo | ||
#define MICROPY_HW_LED_ON(pin) (mp_hal_pin_high(pin)) | ||
#define MICROPY_HW_LED_OFF(pin) (mp_hal_pin_low(pin)) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,4 @@ | ||
MCU_SERIES = f4 | ||
CMSIS_MCU = STM32F446xx | ||
AF_FILE = boards/stm32f429_af.csv | ||
LD_FILE = boards/stm32f411.ld |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
D0,PA3 | ||
D1,PA2 | ||
D2,PA10 | ||
D3,PB3 | ||
D4,PB5 | ||
D5,PB4 | ||
D6,PB10 | ||
D7,PA8 | ||
D8,PA9 | ||
D9,PC7 | ||
D10,PB6 | ||
D11,PA7 | ||
D12,PA6 | ||
D13,PA5 | ||
D14,PB9 | ||
D15,PB8 | ||
A0,PA0 | ||
A1,PA1 | ||
A2,PA4 | ||
A3,PB0 | ||
A4,PC1 | ||
A5,PC0 | ||
PA0,PA0 | ||
PA1,PA1 | ||
PA2,PA2 | ||
PA3,PA3 | ||
PA4,PA4 | ||
PA5,PA5 | ||
PA6,PA6 | ||
PA7,PA7 | ||
PA8,PA8 | ||
PA9,PA9 | ||
PA10,PA10 | ||
PA11,PA11 | ||
PA12,PA12 | ||
PA15,PA15 | ||
PB0,PB0 | ||
PB1,PB1 | ||
PB2,PB2 | ||
PB3,PB3 | ||
PB4,PB4 | ||
PB5,PB5 | ||
PB6,PB6 | ||
PB7,PB7 | ||
PB8,PB8 | ||
PB9,PB9 | ||
PB10,PB10 | ||
PB12,PB12 | ||
PB13,PB13 | ||
PB14,PB14 | ||
PB15,PB15 | ||
PC0,PC0 | ||
PC1,PC1 | ||
PC2,PC2 | ||
PC3,PC3 | ||
PC4,PC4 | ||
PC5,PC5 | ||
PC6,PC6 | ||
PC7,PC7 | ||
PC8,PC8 | ||
PC9,PC9 | ||
PC10,PC10 | ||
PC11,PC11 | ||
PC12,PC12 | ||
PC13,PC13 | ||
PC14,PC14 | ||
PC15,PC15 | ||
PD2,PD2 | ||
PH0,PH0 | ||
PH1,PH1 | ||
LED,PA5 | ||
SW,PC13 |
Oops, something went wrong.