mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #13006 from AGlass0fMilk/add-nucleo-g031k8
NUCLEO_G031K8: Add new targetpull/13494/head
commit
afcf91f331
|
@ -0,0 +1,58 @@
|
||||||
|
/* mbed Microcontroller Library
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2015 STMicroelectronics.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This software component is licensed by ST under BSD 3-Clause license,
|
||||||
|
* the "License"; You may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at:
|
||||||
|
* opensource.org/licenses/BSD-3-Clause
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
#ifndef MBED_PERIPHERALNAMES_H
|
||||||
|
#define MBED_PERIPHERALNAMES_H
|
||||||
|
|
||||||
|
#include "cmsis.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
ADC_1 = (int)ADC1_BASE
|
||||||
|
} ADCName;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
UART_1 = (int)USART1_BASE,
|
||||||
|
UART_2 = (int)USART2_BASE,
|
||||||
|
LPUART_1 = (int)LPUART1_BASE
|
||||||
|
} UARTName;
|
||||||
|
|
||||||
|
#define DEVICE_SPI_COUNT 2
|
||||||
|
typedef enum {
|
||||||
|
SPI_1 = (int)SPI1_BASE,
|
||||||
|
SPI_2 = (int)SPI2_BASE
|
||||||
|
} SPIName;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
I2C_1 = (int)I2C1_BASE,
|
||||||
|
I2C_2 = (int)I2C2_BASE
|
||||||
|
} I2CName;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
PWM_1 = (int)TIM1_BASE,
|
||||||
|
PWM_2 = (int)TIM2_BASE,
|
||||||
|
PWM_3 = (int)TIM3_BASE,
|
||||||
|
PWM_14 = (int)TIM14_BASE,
|
||||||
|
PWM_16 = (int)TIM16_BASE,
|
||||||
|
PWM_17 = (int)TIM17_BASE
|
||||||
|
} PWMName;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,211 @@
|
||||||
|
/* mbed Microcontroller Library
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2016-2020 STMicroelectronics.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This software component is licensed by ST under BSD 3-Clause license,
|
||||||
|
* the "License"; You may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at:
|
||||||
|
* opensource.org/licenses/BSD-3-Clause
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Automatically generated from STM32CubeMX/db/mcu/STM32G031K(4-6-8)Tx.xml
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "PeripheralPins.h"
|
||||||
|
#include "mbed_toolchain.h"
|
||||||
|
|
||||||
|
//==============================================================================
|
||||||
|
// Notes
|
||||||
|
//
|
||||||
|
// - The pins mentioned Px_y_ALTz are alternative possibilities which use other
|
||||||
|
// HW peripheral instances. You can use them the same way as any other "normal"
|
||||||
|
// pin (i.e. PwmOut pwm(PA_7_ALT0);). These pins are not displayed on the board
|
||||||
|
// pinout image on mbed.org.
|
||||||
|
//
|
||||||
|
// - The pins which are connected to other components present on the board have
|
||||||
|
// the comment "Connected to xxx". The pin function may not work properly in this
|
||||||
|
// case. These pins may not be displayed on the board pinout image on mbed.org.
|
||||||
|
// Please read the board reference manual and schematic for more information.
|
||||||
|
//
|
||||||
|
// - Warning: pins connected to the default STDIO_UART_TX and STDIO_UART_RX pins are commented
|
||||||
|
// See https://os.mbed.com/teams/ST/wiki/STDIO for more information.
|
||||||
|
//
|
||||||
|
//==============================================================================
|
||||||
|
|
||||||
|
|
||||||
|
//*** ADC ***
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_ADC[] = {
|
||||||
|
{PA_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC1_IN0
|
||||||
|
{PA_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC1_IN1
|
||||||
|
// {PA_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // ADC1_IN2 // Connected to STDIO_UART_TX
|
||||||
|
// {PA_3, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_IN3 // Connected to STDIO_UART_RX
|
||||||
|
{PA_4, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_IN4
|
||||||
|
{PA_5, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_IN5
|
||||||
|
{PA_6, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 6, 0)}, // ADC1_IN6
|
||||||
|
{PA_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_IN7
|
||||||
|
{PA_11, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_IN15
|
||||||
|
{PA_12, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_IN16
|
||||||
|
{PA_13, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC1_IN17 // Connected to T_JTMS
|
||||||
|
{PA_14, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_IN18 // Connected to T_JTCK
|
||||||
|
{PB_0, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_IN8
|
||||||
|
{PB_1, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_IN9
|
||||||
|
{PB_2, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_IN10
|
||||||
|
{PB_7, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_IN11
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
// !!! SECTION TO BE CHECKED WITH DEVICE REFERENCE MANUAL
|
||||||
|
MBED_WEAK const PinMap PinMap_ADC_Internal[] = {
|
||||||
|
{ADC_TEMP, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)},
|
||||||
|
{ADC_VREF, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)},
|
||||||
|
{ADC_VBAT, ADC_1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
//*** I2C ***
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_I2C_SDA[] = {
|
||||||
|
{PA_10, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{PA_12, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C2)},
|
||||||
|
{PB_7, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{PB_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_I2C_SCL[] = {
|
||||||
|
{PA_9, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{PA_11, I2C_2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C2)},
|
||||||
|
{PB_6, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{PB_8, I2C_1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
//*** PWM ***
|
||||||
|
|
||||||
|
// TIM2 cannot be used because already used by the us_ticker
|
||||||
|
// (update us_ticker_data.h file if another timer is chosen)
|
||||||
|
MBED_WEAK const PinMap PinMap_PWM[] = {
|
||||||
|
// {PA_0, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
|
||||||
|
// {PA_1, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
|
||||||
|
// {PA_2, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 // Connected to STDIO_UART_TX
|
||||||
|
// {PA_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 4, 0)}, // TIM2_CH4 // Connected to STDIO_UART_RX
|
||||||
|
{PA_4, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
|
||||||
|
// {PA_5, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
|
||||||
|
{PA_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
|
||||||
|
{PA_6_ALT0, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM16, 1, 0)}, // TIM16_CH1
|
||||||
|
{PA_7, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 1)}, // TIM1_CH1N
|
||||||
|
{PA_7_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
|
||||||
|
{PA_7_ALT1, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM14, 1, 0)}, // TIM14_CH1
|
||||||
|
{PA_7_ALT2, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_TIM17, 1, 0)}, // TIM17_CH1
|
||||||
|
{PA_8, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 1, 0)}, // TIM1_CH1
|
||||||
|
{PA_9, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2
|
||||||
|
{PA_9_ALT0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 0)}, // TIM1_CH2
|
||||||
|
{PA_10, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3
|
||||||
|
{PA_10_ALT0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 0)}, // TIM1_CH3
|
||||||
|
{PA_11, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 4, 0)}, // TIM1_CH4
|
||||||
|
// {PA_15, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 1, 0)}, // TIM2_CH1
|
||||||
|
{PB_0, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 2, 1)}, // TIM1_CH2N
|
||||||
|
{PB_0_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 3, 0)}, // TIM3_CH3
|
||||||
|
{PB_1, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM1, 3, 1)}, // TIM1_CH3N
|
||||||
|
{PB_1_ALT0, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 4, 0)}, // TIM3_CH4
|
||||||
|
{PB_1_ALT1, PWM_14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_TIM14, 1, 0)}, // TIM14_CH1
|
||||||
|
{PB_3, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2
|
||||||
|
// {PB_3, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 2, 0)}, // TIM2_CH2
|
||||||
|
{PB_4, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1
|
||||||
|
{PB_5, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 2, 0)}, // TIM3_CH2
|
||||||
|
{PB_6, PWM_1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3
|
||||||
|
{PB_6_ALT0, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 1)}, // TIM16_CH1N
|
||||||
|
{PB_7, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 1)}, // TIM17_CH1N
|
||||||
|
{PB_8, PWM_16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM16, 1, 0)}, // TIM16_CH1
|
||||||
|
{PB_9, PWM_17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM17, 1, 0)}, // TIM17_CH1
|
||||||
|
// {PC_6, PWM_2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM2, 3, 0)}, // TIM2_CH3 // Connected to LD3 [Green]
|
||||||
|
{PC_6, PWM_3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM3, 1, 0)}, // TIM3_CH1 // Connected to LD3 [Green]
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
//*** SERIAL ***
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_UART_TX[] = {
|
||||||
|
{PA_2, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, // Connected to STDIO_UART_TX
|
||||||
|
// {PA_2_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_TX
|
||||||
|
{PA_9, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
{PA_9_ALT0, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
// {PA_14, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, // Connected to T_JTCK
|
||||||
|
{PB_6, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_UART_RX[] = {
|
||||||
|
{PA_3, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)}, // Connected to STDIO_UART_RX
|
||||||
|
// {PA_3_ALT0, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)}, // Connected to STDIO_UART_RX
|
||||||
|
{PA_10, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
{PA_10_ALT0, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
// {PA_15, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
|
||||||
|
{PB_7, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF0_USART1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_UART_RTS[] = {
|
||||||
|
{PA_1, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
|
||||||
|
{PA_12, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
{PB_1, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
|
||||||
|
{PB_3, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_UART_CTS[] = {
|
||||||
|
{PA_0, UART_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART2)},
|
||||||
|
{PA_6, LPUART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_LPUART1)},
|
||||||
|
{PA_11, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_USART1)},
|
||||||
|
{PB_4, UART_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
//*** SPI ***
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_SPI_MOSI[] = {
|
||||||
|
// {PA_2, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)}, // Connected to STDIO_UART_TX
|
||||||
|
{PA_4, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI2)},
|
||||||
|
{PA_7, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PA_10, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
|
||||||
|
{PA_10_ALT0, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
|
||||||
|
{PA_12, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_7, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI2)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_SPI_MISO[] = {
|
||||||
|
// {PA_3, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)}, // Connected to STDIO_UART_RX
|
||||||
|
{PA_6, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PA_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_SPI2)},
|
||||||
|
{PA_9_ALT0, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_SPI2)},
|
||||||
|
{PA_11, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_2, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI2)},
|
||||||
|
{PB_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_6, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF4_SPI2)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_SPI_SCLK[] = {
|
||||||
|
{PA_0, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI2)},
|
||||||
|
{PA_1, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PA_5, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_3, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_8, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI2)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
||||||
|
|
||||||
|
MBED_WEAK const PinMap PinMap_SPI_SSEL[] = {
|
||||||
|
{PA_4, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PA_8, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF1_SPI2)},
|
||||||
|
{PA_15, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_0, SPI_1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF0_SPI1)},
|
||||||
|
{PB_9, SPI_2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF5_SPI2)},
|
||||||
|
{NC, NC, 0}
|
||||||
|
};
|
|
@ -0,0 +1,160 @@
|
||||||
|
/* mbed Microcontroller Library
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2016-2020 STMicroelectronics.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This software component is licensed by ST under BSD 3-Clause license,
|
||||||
|
* the "License"; You may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at:
|
||||||
|
* opensource.org/licenses/BSD-3-Clause
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Automatically generated from STM32CubeMX/db/mcu/STM32G031K(4-6-8)Tx.xml
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MBED_PINNAMES_H
|
||||||
|
#define MBED_PINNAMES_H
|
||||||
|
|
||||||
|
#include "cmsis.h"
|
||||||
|
#include "PinNamesTypes.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
ALT0 = 0x100,
|
||||||
|
ALT1 = 0x200,
|
||||||
|
ALT2 = 0x300,
|
||||||
|
ALT3 = 0x400
|
||||||
|
} ALTx;
|
||||||
|
|
||||||
|
typedef enum {
|
||||||
|
|
||||||
|
PA_0 = 0x00,
|
||||||
|
PA_1 = 0x01,
|
||||||
|
PA_2 = 0x02,
|
||||||
|
PA_2_ALT0 = PA_2 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_3 = 0x03,
|
||||||
|
PA_3_ALT0 = PA_3 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_4 = 0x04,
|
||||||
|
PA_5 = 0x05,
|
||||||
|
PA_6 = 0x06,
|
||||||
|
PA_6_ALT0 = PA_6 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_7 = 0x07,
|
||||||
|
PA_7_ALT0 = PA_7 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_7_ALT1 = PA_7 | ALT1, // same pin used for alternate HW
|
||||||
|
PA_7_ALT2 = PA_7 | ALT2, // same pin used for alternate HW
|
||||||
|
PA_8 = 0x08,
|
||||||
|
PA_9 = 0x09,
|
||||||
|
PA_9_ALT0 = PA_9 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_10 = 0x0A,
|
||||||
|
PA_10_ALT0 = PA_10 | ALT0, // same pin used for alternate HW
|
||||||
|
PA_11 = 0x0B,
|
||||||
|
PA_12 = 0x0C,
|
||||||
|
PA_13 = 0x0D,
|
||||||
|
PA_14 = 0x0E,
|
||||||
|
PA_15 = 0x0F,
|
||||||
|
PB_0 = 0x10,
|
||||||
|
PB_0_ALT0 = PB_0 | ALT0, // same pin used for alternate HW
|
||||||
|
PB_1 = 0x11,
|
||||||
|
PB_1_ALT0 = PB_1 | ALT0, // same pin used for alternate HW
|
||||||
|
PB_1_ALT1 = PB_1 | ALT1, // same pin used for alternate HW
|
||||||
|
PB_2 = 0x12,
|
||||||
|
PB_3 = 0x13,
|
||||||
|
PB_4 = 0x14,
|
||||||
|
PB_5 = 0x15,
|
||||||
|
PB_6 = 0x16,
|
||||||
|
PB_6_ALT0 = PB_6 | ALT0, // same pin used for alternate HW
|
||||||
|
PB_7 = 0x17,
|
||||||
|
PB_8 = 0x18,
|
||||||
|
PB_9 = 0x19,
|
||||||
|
PC_6 = 0x26,
|
||||||
|
PC_14 = 0x2E,
|
||||||
|
PC_15 = 0x2F,
|
||||||
|
|
||||||
|
/**** ADC internal channels ****/
|
||||||
|
|
||||||
|
ADC_TEMP = 0xF0, // Internal pin virtual value
|
||||||
|
ADC_VREF = 0xF1, // Internal pin virtual value
|
||||||
|
ADC_VBAT = 0xF2, // Internal pin virtual value
|
||||||
|
|
||||||
|
// Arduino Nano Header pin connection naming
|
||||||
|
A0 = PA_0,
|
||||||
|
A1 = PA_1,
|
||||||
|
A2 = PA_4,
|
||||||
|
A3 = PA_5,
|
||||||
|
A4 = PA_12,
|
||||||
|
A5 = PA_11,
|
||||||
|
A6 = PA_6,
|
||||||
|
A7 = PA_7,
|
||||||
|
D0 = PB_7,
|
||||||
|
D1 = PB_6,
|
||||||
|
D2 = PA_15,
|
||||||
|
D3 = PB_1,
|
||||||
|
D4 = PA_10,
|
||||||
|
D5 = PA_9,
|
||||||
|
D6 = PB_0,
|
||||||
|
D7 = PB_2,
|
||||||
|
D8 = PB_8,
|
||||||
|
D9 = PA_8,
|
||||||
|
D10 = PB_9,
|
||||||
|
D11 = PB_5,
|
||||||
|
D12 = PB_4,
|
||||||
|
D13 = PB_3,
|
||||||
|
|
||||||
|
// STDIO for console print
|
||||||
|
#ifdef MBED_CONF_TARGET_STDIO_UART_TX
|
||||||
|
STDIO_UART_TX = MBED_CONF_TARGET_STDIO_UART_TX,
|
||||||
|
#else
|
||||||
|
STDIO_UART_TX = PA_2,
|
||||||
|
#endif
|
||||||
|
#ifdef MBED_CONF_TARGET_STDIO_UART_RX
|
||||||
|
STDIO_UART_RX = MBED_CONF_TARGET_STDIO_UART_RX,
|
||||||
|
#else
|
||||||
|
STDIO_UART_RX = PA_3,
|
||||||
|
#endif
|
||||||
|
|
||||||
|
// Generic signals namings
|
||||||
|
LED1 = PC_6, // LD3 [Green]
|
||||||
|
|
||||||
|
SERIAL_TX = STDIO_UART_TX,
|
||||||
|
SERIAL_RX = STDIO_UART_RX,
|
||||||
|
USBTX = STDIO_UART_TX,
|
||||||
|
USBRX = STDIO_UART_RX,
|
||||||
|
I2C_SCL = PB_8,
|
||||||
|
I2C_SDA = PB_9,
|
||||||
|
SPI_MOSI = PA_7,
|
||||||
|
SPI_MISO = PA_6,
|
||||||
|
SPI_SCK = PA_5,
|
||||||
|
SPI_CS = PB_0,
|
||||||
|
PWM_OUT = PB_3,
|
||||||
|
|
||||||
|
/**** OSCILLATOR pins ****/
|
||||||
|
RCC_OSC32_EN = PC_15,
|
||||||
|
RCC_OSC32_IN = PC_14,
|
||||||
|
RCC_OSC32_OUT = PC_15,
|
||||||
|
RCC_OSC_EN = PC_15,
|
||||||
|
RCC_OSC_IN = PC_14,
|
||||||
|
|
||||||
|
/**** DEBUG pins ****/
|
||||||
|
SYS_PVD_IN = PB_7,
|
||||||
|
SYS_SWCLK = PA_14,
|
||||||
|
SYS_SWDIO = PA_13,
|
||||||
|
SYS_WKUP1 = PA_0,
|
||||||
|
SYS_WKUP2 = PA_4,
|
||||||
|
SYS_WKUP4 = PA_2,
|
||||||
|
SYS_WKUP6 = PB_5,
|
||||||
|
|
||||||
|
// Not connected
|
||||||
|
NC = (int)0xFFFFFFFF
|
||||||
|
} PinName;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
|
@ -0,0 +1,133 @@
|
||||||
|
/* mbed Microcontroller Library
|
||||||
|
* SPDX-License-Identifier: BSD-3-Clause
|
||||||
|
******************************************************************************
|
||||||
|
*
|
||||||
|
* Copyright (c) 2020 STMicroelectronics.
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This software component is licensed by ST under BSD 3-Clause license,
|
||||||
|
* the "License"; You may not use this file except in compliance with the
|
||||||
|
* License. You may obtain a copy of the License at:
|
||||||
|
* opensource.org/licenses/BSD-3-Clause
|
||||||
|
*
|
||||||
|
******************************************************************************
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This file configures the system clock as follows:
|
||||||
|
*-----------------------------------------------------------------
|
||||||
|
* System clock source | USE_PLL_HSI (internal 16 MHz)
|
||||||
|
*-----------------------------------------------------------------
|
||||||
|
* SYSCLK(MHz) | 64
|
||||||
|
* AHBCLK (MHz) | 64
|
||||||
|
* APB1CLK (MHz) | 64
|
||||||
|
* USB capable | NO
|
||||||
|
*-----------------------------------------------------------------
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "stm32g0xx.h"
|
||||||
|
#include "mbed_error.h"
|
||||||
|
|
||||||
|
#define USE_PLL_HSE_EXTC 0x8 // Use external clock (ST Link MCO)
|
||||||
|
#define USE_PLL_HSE_XTAL 0x4 // Use external xtal (X3 on board - not provided by default)
|
||||||
|
#define USE_PLL_HSI 0x2 // Use HSI internal clock
|
||||||
|
|
||||||
|
#if ( ((CLOCK_SOURCE) & USE_PLL_HSE_XTAL) || ((CLOCK_SOURCE) & USE_PLL_HSE_EXTC) )
|
||||||
|
uint8_t SetSysClock_PLL_HSE(uint8_t bypass);
|
||||||
|
#endif /* ((CLOCK_SOURCE) & USE_PLL_HSE_XTAL) || ((CLOCK_SOURCE) & USE_PLL_HSE_EXTC) */
|
||||||
|
|
||||||
|
#if ((CLOCK_SOURCE) & USE_PLL_HSI)
|
||||||
|
uint8_t SetSysClock_PLL_HSI(void);
|
||||||
|
#endif /* ((CLOCK_SOURCE) & USE_PLL_HSI) */
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @brief Configures the System clock source, PLL Multiplier and Divider factors,
|
||||||
|
* AHB/APBx prescalers and Flash settings
|
||||||
|
* @note This function should be called only once the RCC clock configuration
|
||||||
|
* is reset to the default reset state (done in SystemInit() function).
|
||||||
|
* @param None
|
||||||
|
* @retval None
|
||||||
|
*/
|
||||||
|
void SetSysClock(void)
|
||||||
|
{
|
||||||
|
#if ((CLOCK_SOURCE) & USE_PLL_HSE_EXTC)
|
||||||
|
/* 1- Try to start with HSE and external clock */
|
||||||
|
if (SetSysClock_PLL_HSE(1) == 0)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if ((CLOCK_SOURCE) & USE_PLL_HSE_XTAL)
|
||||||
|
/* 2- If fail try to start with HSE and external xtal */
|
||||||
|
if (SetSysClock_PLL_HSE(0) == 0)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
#if ((CLOCK_SOURCE) & USE_PLL_HSI)
|
||||||
|
/* 3- If fail start with HSI clock */
|
||||||
|
if (SetSysClock_PLL_HSI() == 0)
|
||||||
|
#endif
|
||||||
|
{
|
||||||
|
{
|
||||||
|
error("SetSysClock failed\n");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Output clock on MCO1 pin(PA8) for debugging purpose */
|
||||||
|
//HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_SYSCLK, RCC_MCODIV_1);
|
||||||
|
//HAL_RCC_MCOConfig(RCC_MCO1, RCC_MCO1SOURCE_HSI48, RCC_MCODIV_1);
|
||||||
|
}
|
||||||
|
|
||||||
|
#if ( ((CLOCK_SOURCE) & USE_PLL_HSE_XTAL) || ((CLOCK_SOURCE) & USE_PLL_HSE_EXTC) )
|
||||||
|
/******************************************************************************/
|
||||||
|
/* PLL (clocked by HSE) used as System clock source */
|
||||||
|
/******************************************************************************/
|
||||||
|
uint8_t SetSysClock_PLL_HSE(uint8_t bypass)
|
||||||
|
{
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
#endif /* ((CLOCK_SOURCE) & USE_PLL_HSE_XTAL) || ((CLOCK_SOURCE) & USE_PLL_HSE_EXTC) */
|
||||||
|
|
||||||
|
#if ((CLOCK_SOURCE) & USE_PLL_HSI)
|
||||||
|
/******************************************************************************/
|
||||||
|
/* PLL (clocked by HSI) used as System clock source */
|
||||||
|
/******************************************************************************/
|
||||||
|
uint8_t SetSysClock_PLL_HSI(void)
|
||||||
|
{
|
||||||
|
RCC_OscInitTypeDef RCC_OscInitStruct = {0};
|
||||||
|
RCC_ClkInitTypeDef RCC_ClkInitStruct = {0};
|
||||||
|
|
||||||
|
/** Configure the main internal regulator output voltage
|
||||||
|
*/
|
||||||
|
HAL_PWREx_ControlVoltageScaling(PWR_REGULATOR_VOLTAGE_SCALE1);
|
||||||
|
/** Initializes the CPU, AHB and APB busses clocks
|
||||||
|
*/
|
||||||
|
RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI;
|
||||||
|
RCC_OscInitStruct.HSIState = RCC_HSI_ON;
|
||||||
|
RCC_OscInitStruct.HSIDiv = RCC_HSI_DIV1;
|
||||||
|
RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT;
|
||||||
|
RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON;
|
||||||
|
RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI;
|
||||||
|
RCC_OscInitStruct.PLL.PLLM = RCC_PLLM_DIV1;
|
||||||
|
RCC_OscInitStruct.PLL.PLLN = 8;
|
||||||
|
RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2;
|
||||||
|
RCC_OscInitStruct.PLL.PLLQ = RCC_PLLQ_DIV2;
|
||||||
|
RCC_OscInitStruct.PLL.PLLR = RCC_PLLR_DIV2;
|
||||||
|
if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) {
|
||||||
|
return 0; // FAIL
|
||||||
|
}
|
||||||
|
/** Initializes the CPU, AHB and APB busses clocks
|
||||||
|
*/
|
||||||
|
RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK
|
||||||
|
| RCC_CLOCKTYPE_PCLK1;
|
||||||
|
RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK;
|
||||||
|
RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1;
|
||||||
|
RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV1;
|
||||||
|
|
||||||
|
if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_2) != HAL_OK) {
|
||||||
|
return 0; // FAIL
|
||||||
|
}
|
||||||
|
|
||||||
|
return 1; // OK
|
||||||
|
}
|
||||||
|
#endif /* ((CLOCK_SOURCE) & USE_PLL_HSI) */
|
|
@ -22,10 +22,11 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(MBED_ROM_SIZE)
|
#if !defined(MBED_ROM_SIZE)
|
||||||
#define MBED_ROM_SIZE 0x4000
|
#if defined (TARGET_NUCLEO_G031K8)
|
||||||
// 0x4000 STM32G031F4Px STM32G031J4Mx STM32G031C4Ux STM32G031K4Tx STM32G031G4Ux STM32G031C4Tx STM32G031K4Ux
|
#define MBED_ROM_SIZE 0x10000 // 64 KB
|
||||||
// 0x8000 STM32G031F6Px STM32G031C6Tx STM32G031G6Ux STM32G031K6Tx STM32G031C6Ux STM32G031J6Mx STM32G031K6Ux
|
#else
|
||||||
// 0x10000 STM32G031K8Tx STM32G031G8Ux STM32G031C8Tx STM32G031K8Ux STM32G031C8Ux STM32G031Y8Yx STM32G031F8Px
|
#error "MBED_ROM_SIZE not defined"
|
||||||
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(MBED_RAM_START)
|
#if !defined(MBED_RAM_START)
|
||||||
|
@ -33,10 +34,10 @@
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if !defined(MBED_RAM_SIZE)
|
#if !defined(MBED_RAM_SIZE)
|
||||||
#define MBED_RAM_SIZE 0x2000
|
#define MBED_RAM_SIZE 0x2000 // 8 KB
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS 46
|
#define NVIC_NUM_VECTORS 48
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS MBED_RAM_START
|
#define NVIC_RAM_VECTOR_ADDRESS MBED_RAM_START
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
#define MBED_RAM_SIZE 0x9000
|
#define MBED_RAM_SIZE 0x9000
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define NVIC_NUM_VECTORS 47
|
#define NVIC_NUM_VECTORS 48
|
||||||
#define NVIC_RAM_VECTOR_ADDRESS MBED_RAM_START
|
#define NVIC_RAM_VECTOR_ADDRESS MBED_RAM_START
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -17,8 +17,12 @@
|
||||||
|
|
||||||
#include "serial_api_hal.h"
|
#include "serial_api_hal.h"
|
||||||
|
|
||||||
#define UART_NUM (5)
|
|
||||||
|
|
||||||
|
#if defined (STM32G031xx)
|
||||||
|
#define UART_NUM (3)
|
||||||
|
#else
|
||||||
|
#define UART_NUM (5)
|
||||||
|
#endif
|
||||||
|
|
||||||
uint32_t serial_irq_ids[UART_NUM] = {0};
|
uint32_t serial_irq_ids[UART_NUM] = {0};
|
||||||
UART_HandleTypeDef uart_handlers[UART_NUM];
|
UART_HandleTypeDef uart_handlers[UART_NUM];
|
||||||
|
@ -139,7 +143,11 @@ void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable)
|
||||||
|
|
||||||
#if defined(LPUART1_BASE)
|
#if defined(LPUART1_BASE)
|
||||||
if (obj_s->uart == LPUART_1) {
|
if (obj_s->uart == LPUART_1) {
|
||||||
|
#if defined(STM32G031xx)
|
||||||
|
irq_n = LPUART1_IRQn;
|
||||||
|
#else
|
||||||
irq_n = USART3_4_LPUART1_IRQn;
|
irq_n = USART3_4_LPUART1_IRQn;
|
||||||
|
#endif
|
||||||
vector = (uint32_t)&lpuart1_irq;
|
vector = (uint32_t)&lpuart1_irq;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -158,19 +166,13 @@ void serial_irq_set(serial_t *obj, SerialIrq irq, uint32_t enable)
|
||||||
if (irq == RxIrq) {
|
if (irq == RxIrq) {
|
||||||
__HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
|
__HAL_UART_DISABLE_IT(huart, UART_IT_RXNE);
|
||||||
// Check if TxIrq is disabled too
|
// Check if TxIrq is disabled too
|
||||||
#if defined(STM32G0)
|
if ((huart->Instance->CR1 & USART_CR1_TXEIE_TXFNFIE) == 0) {
|
||||||
#define USART_CR1_TXEIE USART_CR1_TXEIE_TXFNFIE
|
|
||||||
#endif
|
|
||||||
if ((huart->Instance->CR1 & USART_CR1_TXEIE) == 0) {
|
|
||||||
all_disabled = 1;
|
all_disabled = 1;
|
||||||
}
|
}
|
||||||
} else { // TxIrq
|
} else { // TxIrq
|
||||||
__HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
|
__HAL_UART_DISABLE_IT(huart, UART_IT_TXE);
|
||||||
// Check if RxIrq is disabled too
|
// Check if RxIrq is disabled too
|
||||||
#if defined(STM32G0)
|
if ((huart->Instance->CR1 & USART_CR1_RXNEIE_RXFNEIE) == 0) {
|
||||||
#define USART_CR1_RXNEIE USART_CR1_RXNEIE_RXFNEIE
|
|
||||||
#endif
|
|
||||||
if ((huart->Instance->CR1 & USART_CR1_RXNEIE) == 0) {
|
|
||||||
all_disabled = 1;
|
all_disabled = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -335,7 +337,11 @@ static IRQn_Type serial_get_irq_n(UARTName uart_name)
|
||||||
|
|
||||||
#if defined(LPUART1_BASE)
|
#if defined(LPUART1_BASE)
|
||||||
case LPUART_1:
|
case LPUART_1:
|
||||||
|
#if defined(STM32G031xx)
|
||||||
|
irq_n = LPUART1_IRQn;
|
||||||
|
#else
|
||||||
irq_n = USART3_4_LPUART1_IRQn;
|
irq_n = USART3_4_LPUART1_IRQn;
|
||||||
|
#endif
|
||||||
break;
|
break;
|
||||||
#endif
|
#endif
|
||||||
default:
|
default:
|
||||||
|
|
|
@ -112,7 +112,7 @@
|
||||||
#define RCC_LPTIMCLKSOURCE_LSE RCC_LPTIM1CLKSOURCE_LSE
|
#define RCC_LPTIMCLKSOURCE_LSE RCC_LPTIM1CLKSOURCE_LSE
|
||||||
#define RCC_LPTIMCLKSOURCE_LSI RCC_LPTIM1CLKSOURCE_LSI
|
#define RCC_LPTIMCLKSOURCE_LSI RCC_LPTIM1CLKSOURCE_LSI
|
||||||
|
|
||||||
#if defined(STM32G0)
|
#if defined(STM32G071xx)
|
||||||
#define LPTIM_MST_IRQ TIM6_DAC_LPTIM1_IRQn
|
#define LPTIM_MST_IRQ TIM6_DAC_LPTIM1_IRQn
|
||||||
#else
|
#else
|
||||||
#define LPTIM_MST_IRQ LPTIM1_IRQn
|
#define LPTIM_MST_IRQ LPTIM1_IRQn
|
||||||
|
|
|
@ -2363,12 +2363,49 @@
|
||||||
"lpticker_delay_ticks": 0
|
"lpticker_delay_ticks": 0
|
||||||
},
|
},
|
||||||
"device_has_add": [
|
"device_has_add": [
|
||||||
"ANALOGOUT",
|
|
||||||
"SERIAL_ASYNCH",
|
"SERIAL_ASYNCH",
|
||||||
"FLASH",
|
"FLASH",
|
||||||
"MPU"
|
"MPU"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
"MCU_STM32G031xx": {
|
||||||
|
"inherits": [
|
||||||
|
"MCU_STM32G0"
|
||||||
|
],
|
||||||
|
"public": false,
|
||||||
|
"extra_labels_add": [
|
||||||
|
"STM32G031xx"
|
||||||
|
],
|
||||||
|
"macros_add": [
|
||||||
|
"STM32G031xx"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"NUCLEO_G031K8": {
|
||||||
|
"inherits": [
|
||||||
|
"MCU_STM32G031xx"
|
||||||
|
],
|
||||||
|
"detect_code": [
|
||||||
|
"0852"
|
||||||
|
],
|
||||||
|
"device_name": "STM32G031K8Tx",
|
||||||
|
"supported_c_libs": {
|
||||||
|
"arm": [
|
||||||
|
"std",
|
||||||
|
"small"
|
||||||
|
],
|
||||||
|
"gcc_arm": [
|
||||||
|
"std",
|
||||||
|
"small"
|
||||||
|
],
|
||||||
|
"iar": [
|
||||||
|
"std"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"c_lib": "small",
|
||||||
|
"supported_application_profiles": [
|
||||||
|
"bare-metal"
|
||||||
|
]
|
||||||
|
},
|
||||||
"MCU_STM32G071xx": {
|
"MCU_STM32G071xx": {
|
||||||
"inherits": [
|
"inherits": [
|
||||||
"MCU_STM32G0"
|
"MCU_STM32G0"
|
||||||
|
@ -2379,6 +2416,9 @@
|
||||||
],
|
],
|
||||||
"macros_add": [
|
"macros_add": [
|
||||||
"STM32G071xx"
|
"STM32G071xx"
|
||||||
|
],
|
||||||
|
"device_has_add": [
|
||||||
|
"ANALOGOUT"
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
"NUCLEO_G071RB": {
|
"NUCLEO_G071RB": {
|
||||||
|
|
Loading…
Reference in New Issue