From 3da2ee9f9c021474ea2d38dc543fde0c7e53edf0 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 25 Sep 2020 15:15:40 +0300 Subject: [PATCH 1/8] Added H734Vx variant --- boards.txt | 8 + variants/Generic_H743Vx/PeripheralPins.c | 536 +++++++++++++++++++++++ variants/Generic_H743Vx/PinNamesVar.h | 50 +++ variants/Generic_H743Vx/ldscript.ld | 208 +++++++++ variants/Generic_H743Vx/variant.cpp | 215 +++++++++ variants/Generic_H743Vx/variant.h | 183 ++++++++ 6 files changed, 1200 insertions(+) create mode 100644 variants/Generic_H743Vx/PeripheralPins.c create mode 100644 variants/Generic_H743Vx/PinNamesVar.h create mode 100644 variants/Generic_H743Vx/ldscript.ld create mode 100644 variants/Generic_H743Vx/variant.cpp create mode 100644 variants/Generic_H743Vx/variant.h diff --git a/boards.txt b/boards.txt index 65074d3a9f..eb394a276c 100644 --- a/boards.txt +++ b/boards.txt @@ -1655,6 +1655,14 @@ GenH7.menu.pnum.DAISY_SEED.build.board=DAISY_SEED GenH7.menu.pnum.DAISY_SEED.build.product_line=STM32H750xx GenH7.menu.pnum.DAISY_SEED.build.variant=DAISY_SEED +# Generic STM32H743VITx +GenH7.menu.pnum.STM32H743VITx=Generic_H743Vx +GenH7.menu.pnum.STM32H743VITx.upload.maximum_size=131072 +GenH7.menu.pnum.STM32H743VITx.upload.maximum_data_size=524288 +GenH7.menu.pnum.STM32H743VITx.build.board=Generic_H743Vx +GenH7.menu.pnum.STM32H743VITx.build.product_line=STM32H743xx +GenH7.menu.pnum.STM32H743VITx.build.variant=Generic_H743Vx + # Upload menu GenH7.menu.upload_method.swdMethod=STM32CubeProgrammer (SWD) GenH7.menu.upload_method.swdMethod.upload.protocol=0 diff --git a/variants/Generic_H743Vx/PeripheralPins.c b/variants/Generic_H743Vx/PeripheralPins.c new file mode 100644 index 0000000000..6d1d043660 --- /dev/null +++ b/variants/Generic_H743Vx/PeripheralPins.c @@ -0,0 +1,536 @@ +/* + ******************************************************************************* + * 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 + * + ******************************************************************************* + * Automatically generated from STM32H743VITx.xml + */ +#include "Arduino.h" +#include "PeripheralPins.h" + +/* ===== + * Note: Commented lines are alternative possibilities which are not used per default. + * If you change them, you will have to know what you do + * ===== + */ + +//*** ADC *** + +#ifdef HAL_ADC_MODULE_ENABLED +WEAK const PinMap PinMap_ADC[] = { + {PA_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_INP16 + // {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 16, 0)}, // ADC1_INN16 + // {PA_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 17, 0)}, // ADC1_INP17 + // {PA_2, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC1_INP14 + // {PA_2, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 14, 0)}, // ADC2_INP14 + // {PA_3, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC1_INP15 + // {PA_3, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 15, 0)}, // ADC2_INP15 + // {PA_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_INP18 + // {PA_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC2_INP18 + // {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC1_INN18 + // {PA_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 19, 0)}, // ADC1_INP19 + // {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 18, 0)}, // ADC2_INN18 + // {PA_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 19, 0)}, // ADC2_INP19 + {PA_6, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_INP3 + // {PA_6, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_INP3 + // {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC1_INN3 + {PA_7, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC1_INP7 + // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 3, 0)}, // ADC2_INN3 + // {PA_7, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 7, 0)}, // ADC2_INP7 + // {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_INN5 + {PB_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC1_INP9 + // {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_INN5 + // {PB_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 9, 0)}, // ADC2_INP9 + // {PB_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC1_INP5 + // {PB_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 5, 0)}, // ADC2_INP5 + // {PC_0, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_INP10 + // {PC_0, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_INP10 + {PC_0, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_INP10 + // {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC1_INN10 + // {PC_1, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC1_INP11 + // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC2_INN10 + // {PC_1, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC2_INP11 + // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 10, 0)}, // ADC3_INN10 + // {PC_1, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 11, 0)}, // ADC3_INP11 + // {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_INN1 + {PC_2, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 0, 0)}, // ADC3_INP0 + {PC_3, ADC3, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // ADC3_INP1 + {PC_4, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_INP4 + // {PC_4, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_INP4 + {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC1_INN4 + // {PC_5, ADC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC1_INP8 + // {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 4, 0)}, // ADC2_INN4 + // {PC_5, ADC2, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 8, 0)}, // ADC2_INP8 + {NC, NP, 0} +}; +#endif + +//*** DAC *** + +#ifdef HAL_DAC_MODULE_ENABLED +WEAK const PinMap PinMap_DAC[] = { + {PA_4, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 1, 0)}, // DAC1_OUT1 + {PA_5, DAC1, STM_PIN_DATA_EXT(STM_MODE_ANALOG, GPIO_NOPULL, 0, 2, 0)}, // DAC1_OUT2 + {NC, NP, 0} +}; +#endif + +//*** I2C *** + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SDA[] = { + // {PB_7, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + // {PB_7, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_9, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + // {PB_9, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_11, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + // {PC_9, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + // {PD_13, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_I2C_MODULE_ENABLED +WEAK const PinMap PinMap_I2C_SCL[] = { + // {PA_8, I2C3, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C3)}, + // {PB_6, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + // {PB_6, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_8, I2C1, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C1)}, + // {PB_8, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF6_I2C4)}, + {PB_10, I2C2, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C2)}, + // {PD_12, I2C4, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_NOPULL, GPIO_AF4_I2C4)}, + {NC, NP, 0} +}; +#endif + +//*** PWM *** + +#ifdef HAL_TIM_MODULE_ENABLED +WEAK const PinMap PinMap_PWM[] = { + // {PA_0, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PA_0, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 1, 0)}, // TIM5_CH1 + // {PA_1, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + // {PA_1, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 2, 0)}, // TIM5_CH2 + // {PA_1, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 1)}, // TIM15_CH1N + // {PA_2, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + // {PA_2, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 3, 0)}, // TIM5_CH3 + // {PA_2, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 0)}, // TIM15_CH1 + // {PA_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + // {PA_3, TIM5, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM5, 4, 0)}, // TIM5_CH4 + {PA_3, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 2, 0)}, // TIM15_CH2 + // {PA_5, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PA_5, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + // {PA_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PA_6, TIM13, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM13, 1, 0)}, // TIM13_CH1 + // {PA_7, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + // {PA_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + // {PA_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 1)}, // TIM8_CH1N + {PA_7, TIM14, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_TIM14, 1, 0)}, // TIM14_CH1 + // {PA_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + // {PA_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + // {PA_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + // {PA_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {PA_15, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 1, 0)}, // TIM2_CH1 + {PB_0, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + // {PB_0, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + // {PB_0, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + // {PB_1, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PB_1, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + // {PB_1, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + {PB_3, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 2, 0)}, // TIM2_CH2 + {PB_4, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PB_5, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + // {PB_6, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PB_6, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 1)}, // TIM16_CH1N + // {PB_7, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PB_7, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 1)}, // TIM17_CH1N + {PB_8, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + // {PB_8, TIM16, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM16, 1, 0)}, // TIM16_CH1 + // {PB_9, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PB_9, TIM17, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM17, 1, 0)}, // TIM17_CH1 + {PB_10, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 3, 0)}, // TIM2_CH3 + {PB_11, TIM2, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM2, 4, 0)}, // TIM2_CH4 + // {PB_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PB_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + // {PB_14, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 1)}, // TIM8_CH2N + // {PB_14, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM12, 1, 0)}, // TIM12_CH1 + // {PB_15, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PB_15, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 1)}, // TIM8_CH3N + // {PB_15, TIM12, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM12, 2, 0)}, // TIM12_CH2 + // {PC_6, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 1, 0)}, // TIM3_CH1 + {PC_6, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 1, 0)}, // TIM8_CH1 + {PC_7, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 2, 0)}, // TIM3_CH2 + // {PC_7, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 2, 0)}, // TIM8_CH2 + // {PC_8, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 3, 0)}, // TIM3_CH3 + {PC_8, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 3, 0)}, // TIM8_CH3 + {PC_9, TIM3, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM3, 4, 0)}, // TIM3_CH4 + // {PC_9, TIM8, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_TIM8, 4, 0)}, // TIM8_CH4 + {PD_12, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 1, 0)}, // TIM4_CH1 + {PD_13, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 2, 0)}, // TIM4_CH2 + {PD_14, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 3, 0)}, // TIM4_CH3 + {PD_15, TIM4, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF2_TIM4, 4, 0)}, // TIM4_CH4 + {PE_4, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 1)}, // TIM15_CH1N + {PE_5, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 1, 0)}, // TIM15_CH1 + {PE_6, TIM15, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_TIM15, 2, 0)}, // TIM15_CH2 + {PE_8, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 1)}, // TIM1_CH1N + {PE_9, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 1, 0)}, // TIM1_CH1 + {PE_10, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 1)}, // TIM1_CH2N + {PE_11, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 2, 0)}, // TIM1_CH2 + {PE_12, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 1)}, // TIM1_CH3N + {PE_13, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 3, 0)}, // TIM1_CH3 + {PE_14, TIM1, STM_PIN_DATA_EXT(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF1_TIM1, 4, 0)}, // TIM1_CH4 + {NC, NP, 0} +}; +#endif + +//*** SERIAL *** + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_TX[] = { + // {PA_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_2, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PA_9, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PA_9, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PA_12, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + // {PA_15, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + // {PB_4, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + // {PB_6, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART)}, + // {PB_6, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + // {PB_6, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PB_9, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PB_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PB_13, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + // {PB_14, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, + // {PC_6, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + // {PC_10, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PC_10, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PC_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + // {PD_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PD_5, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_8, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PE_1, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + // {PE_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RX[] = { + // {PA_1, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + {PA_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PA_8, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + // {PA_10, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + {PA_10, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PA_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_UART4)}, + // {PB_3, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_UART7)}, + // {PB_5, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + // {PB_7, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_LPUART)}, + // {PB_7, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PB_8, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PB_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PB_12, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF14_UART5)}, + // {PB_15, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF4_USART1)}, + // {PC_7, USART6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART6)}, + // {PC_11, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PC_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PD_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PD_2, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + // {PD_6, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + {PD_9, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PE_0, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + // {PE_7, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_RTS[] = { + // {PA_1, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PA_12, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + // {PA_12, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PA_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PB_14, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PB_14, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PC_8, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + // {PD_4, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PD_12, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PD_15, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + // {PE_9, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_UART_MODULE_ENABLED +WEAK const PinMap PinMap_UART_CTS[] = { + // {PA_0, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PA_11, LPUART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF3_LPUART)}, + // {PA_11, USART1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART1)}, + // {PB_0, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PB_13, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PB_15, UART4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART4)}, + // {PC_9, UART5, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART5)}, + // {PD_3, USART2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART2)}, + // {PD_11, USART3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_USART3)}, + // {PD_14, UART8, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_UART8)}, + // {PE_10, UART7, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_UART7)}, + {NC, NP, 0} +}; +#endif + +//*** SPI *** + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MOSI[] = { + {PA_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PA_7, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + // {PB_2, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, + // {PB_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PB_5, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI3)}, + // {PB_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_15, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_1, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_12, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PD_6, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI3)}, + // {PD_7, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PE_6, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + // {PE_14, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_MISO[] = { + // {PA_6, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PA_6, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PB_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PB_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + {PB_14, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_2, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_11, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PE_5, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + // {PE_13, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SCLK[] = { + {PA_5, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PA_5, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + // {PA_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PA_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PB_3, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PB_3, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PB_3, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + // {PB_10, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + {PB_13, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PC_10, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PD_3, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PE_2, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + // {PE_12, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_SPI_MODULE_ENABLED +WEAK const PinMap PinMap_SPI_SSEL[] = { + // {PA_4, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PA_4, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PA_4, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF8_SPI6)}, + // {PA_11, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PA_15, SPI1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI1)}, + // {PA_15, SPI3, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF6_SPI3)}, + // {PA_15, SPI6, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI6)}, + // {PB_4, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF7_SPI2)}, + // {PB_9, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PB_12, SPI2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI2)}, + // {PE_4, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + // {PE_11, SPI4, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF5_SPI4)}, + {NC, NP, 0} +}; +#endif + +//*** FDCAN *** + +#ifdef HAL_FDCAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_RD[] = { + // {PA_11, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + // {PB_5, FDCAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + // {PB_8, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + // {PB_12, FDCAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + // {PD_0, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {NC, NP, 0} +}; +#endif + +#ifdef HAL_FDCAN_MODULE_ENABLED +WEAK const PinMap PinMap_CAN_TD[] = { + // {PA_12, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + // {PB_6, FDCAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + // {PB_9, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + // {PB_13, FDCAN2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN2)}, + // {PD_1, FDCAN1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_FDCAN1)}, + {NC, NP, 0} +}; +#endif + +//*** ETHERNET *** + +#ifdef HAL_ETH_MODULE_ENABLED +WEAK const PinMap PinMap_Ethernet[] = { + // {PA_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS + // {PA_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_REF_CLK|ETH_RX_CLK + // {PA_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDIO + // {PA_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_COL + // {PA_7, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_CRS_DV|ETH_RX_DV + // {PB_0, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD2 + // {PB_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD3 + // {PB_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_PPS_OUT + // {PB_8, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 + // {PB_10, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RX_ER + // {PB_11, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_EN + // {PB_12, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD0 + // {PB_13, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD1 + // {PC_1, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_MDC + // {PC_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD2 + // {PC_3, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TX_CLK + // {PC_4, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD0 + // {PC_5, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_RXD1 + // {PE_2, ETH, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF11_ETH)}, // ETH_TXD3 + {NC, NP, 0} +}; +#endif + +//*** QUADSPI *** + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_DATA0[] = { + // {PC_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 + {PD_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO0 + // {PE_7, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO0 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_DATA1[] = { + // {PC_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 + {PD_12, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO1 + // {PE_8, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO1 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_DATA2[] = { + {PE_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO2 + // {PE_9, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO2 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_DATA3[] = { + // {PA_1, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + {PD_13, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_IO3 + // {PE_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK2_IO3 + {NC, NP, 0} +}; +#endif + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_SCLK[] = { + {PB_2, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_CLK + {NC, NP, 0} +}; +#endif + +#ifdef HAL_QSPI_MODULE_ENABLED +WEAK const PinMap PinMap_QUADSPI_SSEL[] = { + {PB_6, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_QUADSPI)}, // QUADSPI_BK1_NCS + // {PB_10, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK1_NCS + // {PC_11, QUADSPI, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_QUADSPI)}, // QUADSPI_BK2_NCS + {NC, NP, 0} +}; +#endif + +//*** USB *** + +#ifdef HAL_PCD_MODULE_ENABLED +WEAK const PinMap PinMap_USB_OTG_FS[] = { + // {PA_8, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG1_FS)}, // USB_OTG_FS_SOF + // {PA_9, USB_OTG_FS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_FS_VBUS + // {PA_10, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF10_OTG1_FS)}, // USB_OTG_FS_ID + {PA_11, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG1_FS)}, // USB_OTG_FS_DM + {PA_12, USB_OTG_FS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG1_FS)}, // USB_OTG_FS_DP + {NC, NP, 0} +}; +#endif + +#ifdef HAL_PCD_MODULE_ENABLED +WEAK const PinMap PinMap_USB_OTG_HS[] = { +#ifdef USE_USB_HS_IN_FS + // {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG2_FS)}, // USB_OTG_HS_SOF + // {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG2_FS)}, // USB_OTG_HS_ID + // {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF_NONE)}, // USB_OTG_HS_VBUS + // {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG2_FS)}, // USB_OTG_HS_DM + // {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG2_FS)}, // USB_OTG_HS_DP +#else + // {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D0 + // {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_CK + // {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D1 + // {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D2 + // {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D7 + // {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D3 + // {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D4 + // {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D5 + // {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D6 + // {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_STP + // {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_DIR + // {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ + {NC, NP, 0} +}; +#endif + +//*** SD *** + +#ifdef HAL_SD_MODULE_ENABLED +WEAK const PinMap PinMap_SD[] = { + // {PA_0, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_SDIO2)}, // SDMMC2_CMD + // {PB_3, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_SDIO2)}, // SDMMC2_D2 + // {PB_4, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_SDIO2)}, // SDMMC2_D3 + // {PB_8, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SDIO1)}, // SDMMC1_CKIN + // {PB_8, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D4 + // {PB_8, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SDIO2)}, // SDMMC2_D4 + // {PB_9, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF7_SDIO1)}, // SDMMC1_CDIR + // {PB_9, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D5 + // {PB_9, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SDIO2)}, // SDMMC2_D5 + // {PB_14, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_SDIO2)}, // SDMMC2_D0 + // {PB_15, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF9_SDIO2)}, // SDMMC2_D1 + // {PC_1, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF9_SDIO2)}, // SDMMC2_CK + // {PC_6, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF8_SDIO1)}, // SDMMC1_D0DIR + // {PC_6, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D6 + // {PC_6, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SDIO2)}, // SDMMC2_D6 + // {PC_7, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF8_SDIO1)}, // SDMMC1_D123DIR + // {PC_7, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D7 + // {PC_7, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_SDIO2)}, // SDMMC2_D7 + {PC_8, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D0 + {PC_9, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D1 + {PC_10, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D2 + {PC_11, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_SDIO1)}, // SDMMC1_D3 + {PC_12, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF12_SDIO1)}, // SDMMC1_CK + {PD_2, SDMMC1, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF12_SDIO1)}, // SDMMC1_CMD + // {PD_6, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_SDIO2)}, // SDMMC2_CK + // {PD_7, SDMMC2, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_NOPULL, GPIO_AF11_SDIO2)}, // SDMMC2_CMD + {NC, NP, 0} +}; +#endif diff --git a/variants/Generic_H743Vx/PinNamesVar.h b/variants/Generic_H743Vx/PinNamesVar.h new file mode 100644 index 0000000000..3545d68bad --- /dev/null +++ b/variants/Generic_H743Vx/PinNamesVar.h @@ -0,0 +1,50 @@ +/* SYS_WKUP */ +#ifdef PWR_WAKEUP_PIN1 + SYS_WKUP1 = PA_0, /* SYS_WKUP0 */ +#endif +#ifdef PWR_WAKEUP_PIN2 + SYS_WKUP2 = PA_2, /* SYS_WKUP1 */ +#endif +#ifdef PWR_WAKEUP_PIN3 + SYS_WKUP3 = PC_13, /* SYS_WKUP2 */ +#endif +#ifdef PWR_WAKEUP_PIN4 + SYS_WKUP4 = NC, +#endif +#ifdef PWR_WAKEUP_PIN5 + SYS_WKUP5 = NC, +#endif +#ifdef PWR_WAKEUP_PIN6 + SYS_WKUP6 = PC_1, /* SYS_WKUP5 */ +#endif +#ifdef PWR_WAKEUP_PIN7 + SYS_WKUP7 = NC, +#endif +#ifdef PWR_WAKEUP_PIN8 + SYS_WKUP8 = NC, +#endif +/* USB */ +#ifdef USBCON + USB_OTG_FS_SOF = PA_8, + USB_OTG_FS_VBUS = PA_9, + USB_OTG_FS_ID = PA_10, + USB_OTG_FS_DM = PA_11, + USB_OTG_FS_DP = PA_12, + USB_OTG_HS_ULPI_D0 = PA_3, + USB_OTG_HS_SOF = PA_4, + USB_OTG_HS_ULPI_CK = PA_5, + USB_OTG_HS_ULPI_D1 = PB_0, + USB_OTG_HS_ULPI_D2 = PB_1, + USB_OTG_HS_ULPI_D7 = PB_5, + USB_OTG_HS_ULPI_D3 = PB_10, + USB_OTG_HS_ULPI_D4 = PB_11, + USB_OTG_HS_ID = PB_12, + USB_OTG_HS_ULPI_D5 = PB_12, + USB_OTG_HS_ULPI_D6 = PB_13, + USB_OTG_HS_VBUS = PB_13, + USB_OTG_HS_DM = PB_14, + USB_OTG_HS_DP = PB_15, + USB_OTG_HS_ULPI_STP = PC_0, + USB_OTG_HS_ULPI_DIR = PC_2, + USB_OTG_HS_ULPI_NXT = PC_3, +#endif diff --git a/variants/Generic_H743Vx/ldscript.ld b/variants/Generic_H743Vx/ldscript.ld new file mode 100644 index 0000000000..b1b02e25f4 --- /dev/null +++ b/variants/Generic_H743Vx/ldscript.ld @@ -0,0 +1,208 @@ +/* +****************************************************************************** +** +** File : LinkerScript.ld +** +** Author : Auto-generated by STM32CubeIDE +** +** Abstract : Linker script for NUCLEO-H743ZI(2) Board embedding STM32H743ZITx Device from STM32H7 series +** 2048Kbytes FLASH +** 128Kbytes DTCMRAM +** 64Kbytes ITCMRAM +** 512Kbytes RAM_D1 +** 288Kbytes RAM_D2 +** 64Kbytes RAM_D3 +** +** Set heap size, stack size and stack location according +** to application requirements. +** +** Set memory bank area and size if external memory is used. +** +** Target : STMicroelectronics STM32 +** +** Distribution: The file is distributed as is without any warranty +** of any kind. +** +***************************************************************************** +** @attention +** +**

© COPYRIGHT(c) 2019 STMicroelectronics

+** +** Redistribution and use in source and binary forms, with or without modification, +** are permitted provided that the following conditions are met: +** 1. Redistributions of source code must retain the above copyright notice, +** this list of conditions and the following disclaimer. +** 2. Redistributions in binary form must reproduce the above copyright notice, +** this list of conditions and the following disclaimer in the documentation +** and/or other materials provided with the distribution. +** 3. Neither the name of STMicroelectronics nor the names of its contributors +** may be used to endorse or promote products derived from this software +** without specific prior written permission. +** +** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +** AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +** IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +** DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +** FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +** SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +** OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +** +***************************************************************************** +*/ + +/* Entry Point */ +ENTRY(Reset_Handler) + +/* Highest address of the user mode stack */ +_estack = 0x24080000; /* end of "RAM_D1" Ram type memory */ + +_Min_Heap_Size = 0x200; /* required amount of heap */ +_Min_Stack_Size = 0x400; /* required amount of stack */ + +/* Memories definition */ +MEMORY +{ + DTCMRAM (xrw) : ORIGIN = 0x20000000, LENGTH = 128K + ITCMRAM (xrw) : ORIGIN = 0x00000000, LENGTH = 64K + RAM_D1 (xrw) : ORIGIN = 0x24000000, LENGTH = 512K + RAM_D2 (xrw) : ORIGIN = 0x30000000, LENGTH = 288K + RAM_D3 (xrw) : ORIGIN = 0x38000000, LENGTH = 64K + FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 2048K +} + +/* Sections */ +SECTIONS +{ + /* The startup code into "FLASH" Rom type memory */ + .isr_vector : + { + . = ALIGN(4); + KEEP(*(.isr_vector)) /* Startup code */ + . = ALIGN(4); + } >FLASH + + /* The program code and other data into "FLASH" Rom type memory */ + .text : + { + . = ALIGN(4); + *(.text) /* .text sections (code) */ + *(.text*) /* .text* sections (code) */ + *(.glue_7) /* glue arm to thumb code */ + *(.glue_7t) /* glue thumb to arm code */ + *(.eh_frame) + + KEEP (*(.init)) + KEEP (*(.fini)) + + . = ALIGN(4); + _etext = .; /* define a global symbols at end of code */ + } >FLASH + + /* Constant data into "FLASH" Rom type memory */ + .rodata : + { + . = ALIGN(4); + *(.rodata) /* .rodata sections (constants, strings, etc.) */ + *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ + . = ALIGN(4); + } >FLASH + + .ARM.extab : { + . = ALIGN(4); + *(.ARM.extab* .gnu.linkonce.armextab.*) + . = ALIGN(4); + } >FLASH + + .ARM : { + . = ALIGN(4); + __exidx_start = .; + *(.ARM.exidx*) + __exidx_end = .; + . = ALIGN(4); + } >FLASH + + .preinit_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__preinit_array_start = .); + KEEP (*(.preinit_array*)) + PROVIDE_HIDDEN (__preinit_array_end = .); + . = ALIGN(4); + } >FLASH + + .init_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__init_array_start = .); + KEEP (*(SORT(.init_array.*))) + KEEP (*(.init_array*)) + PROVIDE_HIDDEN (__init_array_end = .); + . = ALIGN(4); + } >FLASH + + .fini_array : + { + . = ALIGN(4); + PROVIDE_HIDDEN (__fini_array_start = .); + KEEP (*(SORT(.fini_array.*))) + KEEP (*(.fini_array*)) + PROVIDE_HIDDEN (__fini_array_end = .); + . = ALIGN(4); + } >FLASH + + /* Used by the startup to initialize data */ + _sidata = LOADADDR(.data); + + /* Initialized data sections into "RAM_D1" Ram type memory */ + .data : + { + . = ALIGN(4); + _sdata = .; /* create a global symbol at data start */ + *(.data) /* .data sections */ + *(.data*) /* .data* sections */ + + . = ALIGN(4); + _edata = .; /* define a global symbol at data end */ + + } >RAM_D1 AT> FLASH + + /* Uninitialized data section into "RAM_D1" Ram type memory */ + . = ALIGN(4); + .bss : + { + /* This is used by the startup in order to initialize the .bss secion */ + _sbss = .; /* define a global symbol at bss start */ + __bss_start__ = _sbss; + *(.bss) + *(.bss*) + *(COMMON) + + . = ALIGN(4); + _ebss = .; /* define a global symbol at bss end */ + __bss_end__ = _ebss; + } >RAM_D1 + + /* User_heap_stack section, used to check that there is enough "RAM_D1" Ram type memory left */ + ._user_heap_stack : + { + . = ALIGN(8); + PROVIDE ( end = . ); + PROVIDE ( _end = . ); + . = . + _Min_Heap_Size; + . = . + _Min_Stack_Size; + . = ALIGN(8); + } >RAM_D1 + + /* Remove information from the compiler libraries */ + /DISCARD/ : + { + libc.a ( * ) + libm.a ( * ) + libgcc.a ( * ) + } + + .ARM.attributes 0 : { *(.ARM.attributes) } +} diff --git a/variants/Generic_H743Vx/variant.cpp b/variants/Generic_H743Vx/variant.cpp new file mode 100644 index 0000000000..32480532dd --- /dev/null +++ b/variants/Generic_H743Vx/variant.cpp @@ -0,0 +1,215 @@ +#include "pins_arduino.h" + +#ifdef __cplusplus +extern "C" { +#endif + +// Pin number +const PinName digitalPin[] = { + PA_0, + PA_1, + PA_2, + PA_3, + PA_4, + PA_5, + PA_6, + PA_7, + PA_8, + PA_9, + PA_10, + PA_11, + PA_12, + PA_13, + PA_14, + PA_15, + + PB_0, + PB_1, + PB_2, + PB_3, + PB_4, + PB_5, + PB_6, + PB_7, + PB_8, + PB_9, + PB_10, + PB_11, + PB_12, + PB_13, + PB_14, + PB_15, + + PC_0, + PC_1, + PC_2, + PC_3, + PC_4, + PC_5, + PC_6, + PC_7, + PC_8, + PC_9, + PC_10, + PC_11, + PC_12, + PC_13, + PC_14, + PC_15, + + PD_0, + PD_1, + PD_2, + PD_3, + PD_4, + PD_5, + PD_6, + PD_7, + PD_8, + PD_9, + PD_10, + PD_11, + PD_12, + PD_13, + PD_14, + PD_15, + + PE_0, + PE_1, + PE_2, + PE_3, + PE_4, + PE_5, + PE_6, + PE_7, + PE_8, + PE_9, + PE_10, + PE_11, + PE_12, + PE_13, + PE_14, + PE_15 +}; + +// Analog (Ax) pin number array +const uint32_t analogInputPin[] = { + PA6, // A0 + PC0, // A1 + PC2, // A2 + PC3, // A3 + PC4, // A4 + PC5, // A5 + PA4, + PA5 +}; + +#ifdef __cplusplus +} +#endif + +// ---------------------------------------------------------------------------- + +#ifdef __cplusplus +extern "C" { +#endif + + + +/** + * @brief System Clock Configuration + * @param None + * @retval None + */ +WEAK void SystemClock_Config(void) +{ + RCC_OscInitTypeDef RCC_OscInitStruct = {0}; + RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; + RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; + + /** Supply configuration update enable + */ + HAL_PWREx_ConfigSupply(PWR_LDO_SUPPLY); + /** Configure the main internal regulator output voltage + */ + __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0); + + while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} + /** Macro to configure the PLL clock source + */ + __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSI); + /** Initializes the RCC Oscillators according to the specified parameters + * in the RCC_OscInitTypeDef structure. + */ + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI + |RCC_OSCILLATORTYPE_LSI; + RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; + RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; + RCC_OscInitStruct.LSIState = RCC_LSI_ON; + RCC_OscInitStruct.HSI48State = RCC_HSI48_ON; + RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; + RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSI; + RCC_OscInitStruct.PLL.PLLM = 4; + RCC_OscInitStruct.PLL.PLLN = 60; + RCC_OscInitStruct.PLL.PLLP = 2; + RCC_OscInitStruct.PLL.PLLQ = 24; + RCC_OscInitStruct.PLL.PLLR = 2; + RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; + RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; + RCC_OscInitStruct.PLL.PLLFRACN = 0; + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Initializes the CPU, AHB and APB buses clocks + */ + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK + |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 + |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; + RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV2; + RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; + RCC_ClkInitStruct.APB3CLKDivider = RCC_APB3_DIV2; + RCC_ClkInitStruct.APB1CLKDivider = RCC_APB1_DIV2; + RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; + RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; + + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) + { + Error_Handler(); + } + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART3 + |RCC_PERIPHCLK_USART2|RCC_PERIPHCLK_USART1 + |RCC_PERIPHCLK_SPI1|RCC_PERIPHCLK_SPI2 + |RCC_PERIPHCLK_SDMMC|RCC_PERIPHCLK_I2C2 + |RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_I2C1 + |RCC_PERIPHCLK_USB|RCC_PERIPHCLK_QSPI; + PeriphClkInitStruct.PLL2.PLL2M = 4; + PeriphClkInitStruct.PLL2.PLL2N = 9; + PeriphClkInitStruct.PLL2.PLL2P = 1; + PeriphClkInitStruct.PLL2.PLL2Q = 2; + PeriphClkInitStruct.PLL2.PLL2R = 1; + PeriphClkInitStruct.PLL2.PLL2RGE = RCC_PLL2VCIRANGE_3; + PeriphClkInitStruct.PLL2.PLL2VCOSEL = RCC_PLL2VCOMEDIUM; + PeriphClkInitStruct.PLL2.PLL2FRACN = 3072; + PeriphClkInitStruct.QspiClockSelection = RCC_QSPICLKSOURCE_PLL; + PeriphClkInitStruct.SdmmcClockSelection = RCC_SDMMCCLKSOURCE_PLL; + PeriphClkInitStruct.Spi123ClockSelection = RCC_SPI123CLKSOURCE_PLL; + PeriphClkInitStruct.Usart234578ClockSelection = RCC_USART234578CLKSOURCE_D2PCLK1; + PeriphClkInitStruct.Usart16ClockSelection = RCC_USART16CLKSOURCE_D2PCLK2; + PeriphClkInitStruct.I2c123ClockSelection = RCC_I2C123CLKSOURCE_D2PCLK1; + PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48; + PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; + PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) + { + Error_Handler(); + } + /** Enable USB Voltage detector + */ + HAL_PWREx_EnableUSBVoltageDetector(); +} + +#ifdef __cplusplus +} +#endif diff --git a/variants/Generic_H743Vx/variant.h b/variants/Generic_H743Vx/variant.h new file mode 100644 index 0000000000..764d1b9f25 --- /dev/null +++ b/variants/Generic_H743Vx/variant.h @@ -0,0 +1,183 @@ +#ifndef _VARIANT_ARDUINO_STM32_ +#define _VARIANT_ARDUINO_STM32_ + +#ifdef __cplusplus +extern "C" { +#endif // __cplusplus + +/*---------------------------------------------------------------------------- + * Pins + *----------------------------------------------------------------------------*/ +#define PA0 0 +#define PA1 1 +#define PA2 2 +#define PA3 3 +#define PA4 4 +#define PA5 5 +#define PA6 6 +#define PA7 7 +#define PA8 8 +#define PA9 9 +#define PA10 10 +#define PA11 11 +#define PA12 12 +#define PA13 13 +#define PA14 14 +#define PA15 15 + +#define PB0 16 +#define PB1 17 +#define PB2 18 +#define PB3 19 +#define PB4 20 +#define PB5 21 +#define PB6 22 +#define PB7 23 +#define PB8 24 +#define PB9 25 +#define PB10 26 +#define PB11 27 +#define PB12 28 +#define PB13 29 +#define PB14 30 +#define PB15 31 + +#define PC0 32 +#define PC1 33 +#define PC2 34 +#define PC3 35 +#define PC4 36 +#define PC5 37 +#define PC6 38 +#define PC7 39 +#define PC8 40 +#define PC9 41 +#define PC10 42 +#define PC11 43 +#define PC12 44 +#define PC13 45 +#define PC14 46 +#define PC15 47 + +#define PD0 48 +#define PD1 49 +#define PD2 50 +#define PD3 51 +#define PD4 52 +#define PD5 53 +#define PD6 54 +#define PD7 55 +#define PD8 56 +#define PD9 57 +#define PD10 58 +#define PD11 59 +#define PD12 60 +#define PD13 61 +#define PD14 62 +#define PD15 63 + +#define PE0 64 +#define PE1 65 +#define PE2 66 +#define PE3 67 +#define PE4 68 +#define PE5 69 +#define PE6 70 +#define PE7 71 +#define PE8 72 +#define PE9 73 +#define PE10 74 +#define PE11 75 +#define PE12 76 +#define PE13 77 +#define PE14 78 +#define PE15 79 + + +#define NUM_DIGITAL_PINS 80 + +// This must be a literal with a value less than or equal to to MAX_ANALOG_INPUTS +#define NUM_ANALOG_INPUTS 11 + +// On-board LED pin number +#define LED_BUILTIN PA1 + +// On-board user button +#define USER_BTN_K1 PE3 +#define USER_BTN_K2 PC5 + +// Timer Definitions +// Use TIM6/TIM7 when possible as servo and tone don't need GPIO output pin +#define TIMER_TONE TIM6 +#define TIMER_SERVO TIM7 + +// UART Definitions +#define SERIAL_UART_INSTANCE 1 //Connected to ST-Link + +// Serial pin used for console (ex: ST-Link) +#define PIN_SERIAL_RX PA10 +#define PIN_SERIAL_TX PA9 + +#define PIN_SERIAL2_RX PA3 +#define PIN_SERIAL2_TX PA2 + +#define PIN_SERIAL3_RX PD9 +#define PIN_SERIAL3_TX PD8 + +#define PIN_WIRE_SDA PB9 +#define PIN_WIRE_SCL PB8 + +#define PIN_SPI_MISO PB14 +#define PIN_SPI_MOSI PB15 +#define PIN_SPI_SCK PB13 + +#define PIN_RTC_CALIB PC13 +#define PIN_RTC_TAMPER3 PC1 + +// HSE default value is 25MHz in HAL +// HSE_BYPASS is 8MHz +#ifndef HSE_BYPASS_NOT_USED +#define HSE_VALUE 8000000 +#endif + +/* Extra HAL modules */ +#define HAL_DAC_MODULE_ENABLED +#define HAL_SD_MODULE_ENABLED +#define HAL_SPI_MODULE_ENABLED +#define HAL_I2C_MODULE_ENABLED +#define HAL_RTC_MODULE_ENABLED +#define HAL_QSPI_MODULE_ENABLED +#define HAL_MDMA_MODULE_ENABLED +#define HAL_USART_MODULE_ENABLED + +#define ENABLE_HWSERIAL2 +#define ENABLE_HWSERIAL3 + +#ifdef __cplusplus +} // extern "C" +#endif +/*---------------------------------------------------------------------------- + * Arduino objects - C++ only + *----------------------------------------------------------------------------*/ + +#ifdef __cplusplus + // These serial port names are intended to allow libraries and architecture-neutral + // sketches to automatically default to the correct port name for a particular type + // of use. For example, a GPS module would normally connect to SERIAL_PORT_HARDWARE_OPEN, + // the first hardware serial port whose RX/TX pins are not dedicated to another use. + // + // SERIAL_PORT_MONITOR Port which normally prints to the Arduino Serial Monitor + // + // SERIAL_PORT_USBVIRTUAL Port which is USB virtual serial + // + // SERIAL_PORT_LINUXBRIDGE Port which connects to a Linux system via Bridge library + // + // SERIAL_PORT_HARDWARE Hardware serial port, physical RX & TX pins. + // + // SERIAL_PORT_HARDWARE_OPEN Hardware serial ports which are open for use. Their RX & TX + // pins are NOT connected to anything by default. + #define SERIAL_PORT_MONITOR Serial + #define SERIAL_PORT_HARDWARE Serial +#endif + +#endif /* _VARIANT_ARDUINO_STM32_ */ From 8b058bd179f0ea4bb9bac61dcd286ce5048e8c9f Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 25 Sep 2020 15:29:24 +0300 Subject: [PATCH 2/8] Fixed formatting issues --- variants/Generic_H743Vx/variant.h.gch | Bin 0 -> 208664 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 variants/Generic_H743Vx/variant.h.gch diff --git a/variants/Generic_H743Vx/variant.h.gch b/variants/Generic_H743Vx/variant.h.gch new file mode 100644 index 0000000000000000000000000000000000000000..9cbf6b8bdcb6d0bfbfc7d7e5273b3a2bed112903 GIT binary patch literal 208664 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

THConeUFD^ujY%ZS0brXz+>qYqTC_27AOW`=&< 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 Date: Fri, 25 Sep 2020 15:51:29 +0300 Subject: [PATCH 3/8] Fixed code formatting --- variants/Generic_H743Vx/variant.cpp | 33 +++++++++++++---------------- 1 file changed, 15 insertions(+), 18 deletions(-) diff --git a/variants/Generic_H743Vx/variant.cpp b/variants/Generic_H743Vx/variant.cpp index 32480532dd..80085e42fa 100644 --- a/variants/Generic_H743Vx/variant.cpp +++ b/variants/Generic_H743Vx/variant.cpp @@ -134,15 +134,15 @@ WEAK void SystemClock_Config(void) */ __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE0); - while(!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} + while (!__HAL_PWR_GET_FLAG(PWR_FLAG_VOSRDY)) {} /** Macro to configure the PLL clock source */ __HAL_RCC_PLL_PLLSOURCE_CONFIG(RCC_PLLSOURCE_HSI); /** Initializes the RCC Oscillators according to the specified parameters * in the RCC_OscInitTypeDef structure. */ - RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48|RCC_OSCILLATORTYPE_HSI - |RCC_OSCILLATORTYPE_LSI; + RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSI + | RCC_OSCILLATORTYPE_LSI; RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.LSIState = RCC_LSI_ON; @@ -157,15 +157,14 @@ WEAK void SystemClock_Config(void) RCC_OscInitStruct.PLL.PLLRGE = RCC_PLL1VCIRANGE_3; RCC_OscInitStruct.PLL.PLLVCOSEL = RCC_PLL1VCOWIDE; RCC_OscInitStruct.PLL.PLLFRACN = 0; - if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) - { + if (HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { Error_Handler(); } /** Initializes the CPU, AHB and APB buses clocks */ - RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK - |RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2 - |RCC_CLOCKTYPE_D3PCLK1|RCC_CLOCKTYPE_D1PCLK1; + RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 + | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV2; RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; @@ -174,16 +173,15 @@ WEAK void SystemClock_Config(void) RCC_ClkInitStruct.APB2CLKDivider = RCC_APB2_DIV2; RCC_ClkInitStruct.APB4CLKDivider = RCC_APB4_DIV2; - if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) - { + if (HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_1) != HAL_OK) { Error_Handler(); } - PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC|RCC_PERIPHCLK_USART3 - |RCC_PERIPHCLK_USART2|RCC_PERIPHCLK_USART1 - |RCC_PERIPHCLK_SPI1|RCC_PERIPHCLK_SPI2 - |RCC_PERIPHCLK_SDMMC|RCC_PERIPHCLK_I2C2 - |RCC_PERIPHCLK_ADC|RCC_PERIPHCLK_I2C1 - |RCC_PERIPHCLK_USB|RCC_PERIPHCLK_QSPI; + PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_USART3 + | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_USART1 + | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SPI2 + | RCC_PERIPHCLK_SDMMC | RCC_PERIPHCLK_I2C2 + | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_I2C1 + | RCC_PERIPHCLK_USB | RCC_PERIPHCLK_QSPI; PeriphClkInitStruct.PLL2.PLL2M = 4; PeriphClkInitStruct.PLL2.PLL2N = 9; PeriphClkInitStruct.PLL2.PLL2P = 1; @@ -201,8 +199,7 @@ WEAK void SystemClock_Config(void) PeriphClkInitStruct.UsbClockSelection = RCC_USBCLKSOURCE_HSI48; PeriphClkInitStruct.AdcClockSelection = RCC_ADCCLKSOURCE_PLL2; PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSI; - if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) - { + if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); } /** Enable USB Voltage detector From 9e82182c2ff972060eeedaf6bf1aaef49708dc20 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 25 Sep 2020 15:52:24 +0300 Subject: [PATCH 4/8] Removed accidentally committed binary file --- variants/Generic_H743Vx/variant.h.gch | Bin 208664 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 variants/Generic_H743Vx/variant.h.gch diff --git a/variants/Generic_H743Vx/variant.h.gch b/variants/Generic_H743Vx/variant.h.gch deleted file mode 100644 index 9cbf6b8bdcb6d0bfbfc7d7e5273b3a2bed112903..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 208664 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

THConeUFD^ujY%ZS0brXz+>qYqTC_27AOW`=&< zW^}LCyyxAG2XAj+#uA}d9`VREe{A0)e|uE^p7<0+gy|NIekM^-aYB< zcQ%78{fwBV50$|4_1UWVT9D8lA(7!MNbowi+_EM1P{m_W2+qtn`7HxuzrC|^XsgC# zp<)5$y^BIi*ylnO-&b+lc54$B%p*0mtK>a(={Glowsct?*MoWcZU1{{d|%Z7lWj?&4Jg1ePbNSCGJ6l*hcQ6nbNYr7w36>SdF*UDl~Y>h_Ze1tBpGNIx1d+zt6EN6an(IRF&zGL<}+z?N+h*7#v7gpiS z+T$Yz`j8Fv1f~bMUZ`?ivClakkop-td*16^yu3_nNrDRTBFTog9P6)YUh3RYR9vj$ zhUKu%BPzd$_i#5^CCyOdo~lZ!p8S&q&v@p&>dkwrtzpQ;_v)UjZOFr5)Z9MlyFXOf z5z&Tf-KcK7Mp^kzzhBR2x3sq2H>xXf3!z*ifvD9Y+HF{(PeM@NITN?JkA;*|tt?Yd z_^OSyd?lB{LPc5hJv|y->&30O=EieyNuW57p>G#ntfq{ zB{3v>Y-r@Pe(HGSk(5~?rMEGCW=6U^8I6kW_@&$wvVpE-xGLbjFQ$EGEv&?TQ#5u5 zQ8RtB*|N)qHXBI`Zk?#uj!Oy(B>|=55rfJ$YGNz|A{Dz3SXK+}Oeh71 zW{KnTWO4x6gd&k?K2pzGhm}2W!Rm{s4*SWiJg8iX`gDRhKk6gDq>>1 zwwNb3Nf8~XI?l<{j-7R}u2i$Hb$vy_wor96C(D+8Rxuc-!&|-H99^!f^2$Z`xh>{| zSxYB+d9`ZIIzbI7f`wYFE^j=~EgRplVA3)crj^nIQ4;gY{uTG6OxcTe$jT3^dc^z< z|E`lO{=8@2i8DyUcpxl7Xx6EfMlPII@Vbk2k|rXgmB>gc%_ztKu_zw7P!Wh+3*;8{ ziECw!r!LLt$o{56nSi!%o+KtWF>lp{vAh5h@m#K}$in4Xs`}kjb`^&|r&p8z29=#t zf9h7LPiZz@1c={WTw%oMXFRNNrOyh;QL1fL{wC(sGg!H*?OW3`_2tL zof8g@ooyusV=2ojOS#)UOA+D&5-3cTJYrATr-iJ`IhIkauTF`M)Yn<+%Om#2D_Kl* zMe>}I+#jzbUzR{pPW=MJLDyS|5JR|y3f#iMcvC9H$DcXmS6%a;4L3jcojh9ei`L;G zViy*0jFLL)dc7zyoa>cSMRs<>A3RC$+dOA)7`NXzw#FOhX@_5{{^eX*m!qP>T1Sh^ zTzj#)*NfBQd<4Xzf_(Su0&uZUypMp8%!bqrbsji(<0~aU zc_oty7oT(A?<%Q(<4h|;lqansO6pFWX+?+@q?JQSJ(`x$?U70BDzP+>gIP(bO1hk` zu;DrzD*U$lv64c&RA=U!+ro!YKx2T%E#f~BOWv@8t>h+=-94#{^18Urnq2&Fdz8#v-9Svpb#YyWS}GgwdnlK#%<+a%*c> z@07G8YMV)ACh^O!9wb)-8~G&Xlc2^`f*X8ZyHaqaI<@Ks)vpp9RJ(F;gC;?Bldl+@)lhnzbovOt zv)W`|kV>1ym+FB}vaI#VxZmw{*UvoVgqx%CsGLA5rv?h(5y@M2E9zoPyRbB&w%HY? z+=f!{9+9GDIv${#YiLod_<7$lsDgoLsG3Ha>5)7dOeCTsyLD>J+4WDL(hhGbi;1ggUjWakdwK)>x>kJ;=!+KT(%=dYrb9+pdOITmtg;jn@_; z`7Tnoq-44Lym}%}=V|bX{Gv63(O@xKUvdz`FOSH7Dv{e-Z5OJ!Z6pW9EJPhMal-+k zfNOC?h_ZyfL2(r5dvlJju5_awyt=XgU8$mUrC7OTeceZdrr%zT=vkCAGdr;$2U}l5SJC)qG>$pm=9xu{+d?i`x`%F?E^X zmZz$^Y#f%)e%kR#86N)7$4)@}v8uw>n7K|}+J!S8Vh~3r z14QSI6Q9Ltb=Ai{Vy*6I)VvO5-Z|?l$7;E>76(`msZK80Dt{{Au3Q38AJ`5NMVY-O zMo|Jp&#bM!aFYCK4vdAX@ z?IJ%c(Ms*vk!So2Dz}PyGJB8C@(ANL!Qq`FS$7hfDAsXGod$1QpTgzlI97=R1tLPC zqUBS!j%4-?mEo`ZzV=)#X%xcfRko|r7?Sm&!<1VG^X4Z9C8^i|F>Lxt^vT#!8T*~z z{Nyl*Mmwx!!wBEIu?!0@U8!F4s#GD>0!Q@ygG!L|8NEAG4m~->q&O+@y>CkV`{^^^ zu%3zfeq2~KHIW4cuB*hxPfxtaYBu)k60vIu!*#O>=Zy)@swlT3@#_Xh#$sI?G^z^) zGhzBNk4yJyEmF!JG*lc#0kbLvoS3y6pA?ikOXQ9bb=a5n*jc`HBu{4%wBp;DWp<{# zJj9Bb-^TRNE>@S^hf5cuBBx~ia}4iv)~?lM43Ygu}?%X4Y_Y*jV7d4|5N zC(UW6I`(rhmpvleMTdojM})MAQb$&9Wqvwasotz|zftjiLkNb4e8bf`Vpy(dWFvjn zAzFSA?tKqlf1g0FjeV+%pkY?zURSVD;yeYLMHTG4mPb~(G*$UrM=B1LAde#qusTDfx|8WqI=wvA6eEPl)GGKr8zW z7-AjVBEQyRZR?E+2@m5))eyc+pt>hohs!>O4p7MM%>s;R24`lz+UMHsW* zs_?g+D!JLE@YN^m+o}OWAOnWa)y;3uI(MwKPGKK$ZGA{fZh4f-KZy$BL3>O8Et~S> z&4mmL-bRweh3V&pxipV1v^aUTVjzZjuhPvwU;cYr?!n~=Z08k2ut~Pe+#;((`9EnXu;h z^606Bs$`C|{DH+$`CP&0a2>}Z0)s5rvG3_bvmYsn%GyF@U3~e|7MJ4GPp@OA zpS?s+Y|>M1oNs`dDTRw}q$C#rIUjQRLi!EA_G(S5y^l&eaDVa>a2|2POsRwDK}yGz z0^KwNB1BIDwi9qO>k3ClX&r+sw`LAS$vxtB%Xm%-lNM+OPcJ4ZMY_|sH+z)io>;xK zYrjq#ELL$XL6aGvHqSok+dHlasoI-d9OKJynXA7nH+O|gSAg~CT1*;DIZn7k!x#wqG8c}3umkyEL#0(0tm$DH7r(fTvuw1^K`fE#0 zIX?CDSO%W*#=ndV;dQQVtfO}1VJNS&C&pw>P@0{%eEb~`DF$=TGgOKxPA6C>EkQdD zW(nblrJktjW2F+Q`Yr8m9hRzIS_>A}bqgDBREYw3%kZ@*gkBc+#Kx@=}upw zi}o|o)*cT^ICj*$kE-rMNqa>48F4O^N3;^}QZh{_$^em}pFNLa1vmvaA-}+zA)d&g zA}5jMmM_kmobeCi$s~g7(-yun}A0T7>3 zyb+kn?3*&Qb!qe7lMnfhN$g~+IQ?NUrH?s-v$i%~n6pPk)=Yb(?vy@LyMS`XbC+F3 zGw!mfy372pQb)P;NZosdF?jF7phv7gR(^qnHwjK(pJqHGSBsbO96EIxt=zN60@V`6 zQ5;8vbisIX&_lE!)z4H8ioTltu}k-9jmBjQYs1A8stgp*mX7!8)SRGI{BD|wi zw%m+!zqk#~<$Gpw)?b$1?ShgFI{oWb-*>Ti_|v6TWCzic1&Z#f`=}D^cf1vLBU}uo z;nq@Cu$rqxTQLNQI!fYGSBVHQ5{cSMqIUVx;V!pn?<$C$ri(jRqOVlV)SK~THESD* zehA4M)WM>w?pF_}2apZ>1z{rnp30g#;$u6nDHLELWnh}T8qbj3Z@y@~vaiNL@|>g` zO6l8W^LzfPj+3oJJMxeh_G54ITN#Py6(Oo2Pz-@i!CO!IJ`>`7XL;C1L3;4fs&G2H zUL!)(BZ&ZYjp%;ukGVAN*zHh^n-^i5+M%b>Gd{y`_>BkUIEcNAY^uD9dbCpN(akOA zQQ}iBTZGFd5ZzyWJl?w%-}f73b994WUm-wrpW#;oVeNS9o`gcU!|wf>#WkB$UEXbG zll4@N2EOh-qr@-VXM5EihxBWc%EjF4O#r6tPQe8VE89JC#@B8e4Ap0bI*?uYxdM+E zb^4*(aE&<~uYsc$7m)Ob?>6ONvEA>KzSs|2sQ1qgph@?Y_~=c}hn@1_w;YHFkzHKo zVW&ro%QkD9ud>MRukwoMD)N;@Da-iaj|auRAi$*5GQY>EFPTh1wT*H@w)oGrl0%mT zWGu5P$0_a?xeNO zRhk3`)vR8vcC9KbVg-w{+SL5Q$Cf?fM89~Bf|3Se4g=n~s^-tU@_#rdZC4ttc11aK z)+5fIj_05zncySzqp`ZTYo~|0t*WYp2zg?wNJeoEP^xsZeDQfMMpiEcM_Eh3K@8{D zsjS|f(d?YN=Cz8QGYz4P-%={{@9Puibp;Y%uM&Sbqho)UHlt^^-kp&h7+rD_0A=#( zRg+P26d$41qQk{jhU=?UsiAY?93^Z!)I<%pq`xQdqa<*vEEMnmRUP`4(hIMsb<&L2 zzr+#l4e?TPV~**bdE}P~uNi*H%pwcH za1FFy4m6h;Vf&%)82-#?iu|0J)5%W*OD9hybh_UR-W5&DuRKa8PYa6A4KTvxreWzG zfaUk~Y$rbpD_`cY-9t??M^g@S5bIhSv}8(q%VM#RwoW=$DPHSp)3BtI%QMo+y&ivS zT0SC`pJKC}d}m&|2?kI4H#+?Co$`u6Q$V_*8cTYuK}-KZhhOq+mtE`mM~1%FhyKd& z+pcldnrz}3Blp)s9&#n5)2X?hTNv8E3j;ZiOE)+ZleyLtv~^K9Hphs^<> z(sXL(Fy(+S;C1eMEwdvY*{AV@+39D;O8r+S&1E<+6p-J1H{B`I&+w}#AYE(lcuh`l9XK{to)2h2BkUP)fy()^6fgv!a; z5U#Dpme2eDE&LV086*5nCNuBJ35|9wG(E!LCA5yR6YqmtYr2=lc04COti#{P?hK(% zGkDbu+F#O_(*@Z{|AV|4`wvIFCk}tXcTMTI=~n+y&P-v1OPsYXJUh;LM_A$V{R zxF%X|kRiVe`nln^(|JFqO?h#9cpEhTu*R8ldBY`DL;Kqp{K*C_Wwtu}nR83-|L!^v zZ<-_SZtcJC;OEHWP5)EqXkZ4gQ}gd=Tq&<5*HvRX)^~<~jX|F^Xj?W_KGrD#)3wGw zQuEG%-_CD_`qJ%n*kte)-~y1QfUitGhhK))aN*gp`VcnJ2;Zvdi{K0eZ7E+o7XIou z!Vbm3w^O)lgl8_qq#UqaOM{LvXgl1-D+#+2Pq;0Yq_9m{_)~}94(+D-Q;hI^(7E2D zj{tfArkjg@FYv&@&-T74MLhg7fddZyONT#S5!SGQm4MToGI)uKIzzqwqJ(kGg6OJc ze$;rc#uq42+U37ZXXyXHSK!t0l};`P+f$ig`_F0Jt>jjd4DA@Dy1@>OJ)Hek9QhW{snwq^cu;k|@cpc3<6APSIf zI(QH8SonL zl3JEbQH`5|S7_S4#v8TKNkF>#8qd|(;&OV2;lB%=y^bB?#kJtI0lov)8{v1MtJL+% zNvaqAu@0W({|@hg!OvDta@j`&UJINDQr5S4as3Cmgm*P~bD;Mc{(G9v(IBoAk4cC z00&=6%yaPmH2hhbSZREzu{T9`YK)fK1iq)~^q-1Gbw7ea!INe2Eh_Wfu$JbR!Jj8iTgwF2bwS%=XbYXnL~7J2id|F4WvBC#gmb ze>eOqfm53QP~#dctaz=!-)Y)TX)FGWEwSf77%&l#Zi~i}zG~3YZ@RLEFlgC-a0P49xgmP<}AYY#}jVL1+=m$3pd3-*x>yN zebMkIY3-FSsp&5ao(vu8@JrrO7hcLx84|ZEt;0h#9%;xg)AV7DlZ7#60^)M)H4`Ir z_zG~oaIa(yO|vsbOf>jj33qA>vI*N*VTCo8zE2H0)SzY90PX+L!T%k9wzj<52-q$L zdI1pBPKZ8$bbo1V`Iz%K{F0xeJ^cn?yK&HG08a-V(gD(at??y|Ge%hat{PiD>wgNo z1Dc<^qs6PGu_RkQiFj)J#Q^KXEQbfXRc=|*b2QR6G% zce-0)ZvQpn3A5!RU1TP>@N9V#pF%Eq50m3de@NIDM)*iguLl?X(vocmjsccy{|SwK zQ*!q;=xOo$YP=Zi>E)FTgsy7%J3x=u{%zpwG1vp3H}Es?U)-tJ$ffKZe=4Qo32$YD zjWB4L;wFdx8veKYu+0xx2b>2o_vHvAK)SBrgPKm6#n75e99`J%pFLzvZi< zu^ndOXqT`bHE*9wn9%OJ4lD4L#R$>Z4j*Cow?N<0{vrcd+X19ortzN|TU_h^nF~*b zq#I~TS#+quTcqhj2G2i+J15B?=GZ_CV7jsRHv(52d{gGX(4N7T)CU^dar!&_f8oF3 z;MuaT!C0#<9e%MSVS-!Lu)Y&XiF*BbOmO_v(Z;Us``-)L<4;{Tuf zKgilC?Qq1oWB7B7V2ln(*F$4T&(ySMB>DBG$=eb&?5@Uv=;Al+9QOL~?;OTX>5Y5rSNZ4UD^gZ6TLsdmUr{SR_>tewbSbCJ(B z&6bECe~R2pEn8~3SGE;&jP_qO_+AN%N-)F8vHVrx2gecCL-Xev;fFPy`Uh`%c{JTa z<2f2%0lzgb#%lTfq$juy}Q60 zzZLWx?f=8zC;Z7P^ExU^9I~}F|2voP%`Utf@DeSwu2x3lfg0O+_!<9UAlc6rr;x^x z8ryOvo@9jWG3bW|on?_3!=gWN@VaaNx8S+J9_{~EV;L*SV*hl$F?hcj^iAk=OZ??c zPC3Hc0;7OGfG2=-A1!691AGTaw*dSSsQ!!PxBvTT{~V3)YaG7Jl31tlMR1W{X&1m8 zU^O7!WpJ_O*m=NqOEi7N;Jq?vTh0yVUtw`;fIDbfa=wLL0vtDZ$yU0h@Os{d#2cpL zE_0-jXq6Seg~rl1)S%}Z^go&oSnYq!+%CKh@a6)SUBYAvuQWgZ8vpd1oaV@kh(~UD zJYh1eN3RLDuUBBLMb+2X=D!a2*YZ>U$9OB^kUwqk-&}`&1GZ}iJ>KvigD$w<4z+N5 z!#_^bR}G#moooYX1I>WG!2jYVzD9oMYr^HV?juuZqxY%}47!s+Z#3w82JMZ>v%F1S z-$&4$fUUqSApLLNu(+t|amYkF_*3!kaPS^F{Dn62Tpm~nnC>k8fGsA+OTPy{9QY1c z7>A6M-bvV9;O(uf7XVR!bl+&aAN&x=w~c40fYXhFw+1*4B-`#Anp68f2G=*jdO@!R z68!Ef|G)T#xWrv!@NO8io$fn3Y>G3v4BE?$n~HRi-|E7<<-)U5eRn5gdtfMFx}UY* zvx~JlK)R~n?!W}?-=%Se-F%N8uw8pi57Ky^5hi64?qN?eV7g`wzZn)6z26b%3I4)+ zz0yq#+ROE)25Py`Xg24!)H8Qin}($n3-aO!M;m=}eKa2)urpKfw{c zRQq3o^Bwe!+r;pXH)tufSo@EF|24ug{pFj6^i73#8)*BtZ`dY>-#66PcLmwBhb&%M zjeR8;v&6wS<;KM$vnZZ0GmYa8xpe=qJrQULNVfodP}9=?0=n&C-kAZMF3k~NP9?+N z3Hk@^-)->i7@ngx#afg>+uTnyFGAx<;Pr;w6NCQzm>moIV$fbLIvfYzl!=SJLfp5H zTcIs9mcB92>$U$D`0W#MrQpvG(y~pBINw5VGW;^u5r^MSDdR~YiUUs94BlXazfRK^ z4W2Vjg;P$BR@ZidD?!FOEZX1nH1ue(A2V9>V2VR(tJ+rIw|=hyM-y2Kv@Z;8R*rRhf+ zXS~6;umPuQ1FxUK|3TB6!O3oN0ts*y$aIS_8DP3dhu;pH?%?mje_!*`-xi_*FcA1( z+%$*$ABO*xLECBe|5u2gfPVlt_r@JxZeHzg0UiV_bc7$npY$%zh=8&{d%$*M4cg|J zc(qITc^94?C;2^_vT#}aZGiEbzr_)5O5Y(Y^L>j`S>u@+n{o#nynnSn=>touuEutp z_S!!Kyau?Y{qH>FTQ`8yjn=#k;EOKdwtR|5%u|3!K)SISZ_@ZWIP+u1E`aIA;{Ou} zctSYvAy5}+4-5jP1FM0!+(9Gkxu$bJWse2$U)_($UIGd~V?P5B0>l90fF-~#;5_gG zaJqcYElwAWrEd)MPrx?d4)FF1OQr&Ngr+Ty_kS+@^S}$>otM~f;8S2U@HcP^DD}!K z9~V{MA=AgG1|n z@=bR^hb4Z~if@M%z+VfP0&D{w0H&*)jPDo$Zf>pS2gpyVIo$gOFBJM)V3WbSuj$+= zthnVgb|e$)ZKuP>Ipo$G{)^CWr1a*ch^Fgn+#fs-IH~=1;;--*N@c~Xps^ih;;w{E z1@^}yBjukO;o0R^=(Vc}-Cg?^8~l?7ZOgjhFd9_xx5rLm+}L7y`Gk|$lF z^xpC+V9-|RfBPRsyqUnx{~>-(>+sds3pBwW35*2h16zTF^3;06Wy4<=80g@ybokFW z{4$B;8NF$hHfSUHSh9T_;S)7KQzk2|D2=CREE9Mm(0iTO1P!7P;SGVW9dgU?A2WEV zGF$01*Vsrxk(1-#+j7fv_!*5;XYq)#Kx4q^dcphE;2+a;imd*!&bV&=_lXw_{OX9m z&*7JGUpjaNvsu?{sIi%TUxPQvpm##w0di&c=C`}1XK1_{e8vbb^R6Wusl zcps3ifyQ>&4DEjm&Q!?#I<~CD-BYy8Ih*aAShg&Hdle|sE$n}6HEuT;c}-%jHZ;6p&}qS$Gm3t+po1}%Aoi|M>+ zY|BYJ%E4P@_ydc3)9hu?W_+8T9Z&dv!X5$HOIYc3)Yy(I@dVA=Vuam?&ia8j52pP8 zh3@J|Ydrov2JewUo9P$)&_55&U3g}ksCdFh#uGMMhy7#9l;r$gz;+=9{SEYb!!KoS zIsA4!iL;mTrepHm=;|)AoekbZ=q12*gJ-658-CJ{_{^pu8Rn#WYS{(g1Rs+Y zV7l7)e+0HU_)_MwgIBGz6*mSvPt#^vf5R(U#y5Q#-c<8?8(~YJj{(m$FK=1qJAmni z;lJhJWi00_Q`g~_@q58rsQH`0cYwO(t$06yk80YymZSqJ_@-SPe@o399FJ#y)wn2TNwUT&^LiRl`NU+8p||08?^HpV+q?BPxy65SenWn zQ3hxW*lwyp?=WZ?ep&k~SMi8mfYVJgczZN`*WgL{tW~XeA871M!|4zCk8(2J1c&T) z{Qo+5IjZ^R+j&jXU&oN|3B5@BPiTD82sh(Ny7VXR*J@+%hZ*!r=x5rWzq%E-k;cxn zZT|orzRX2#j|T*>KeictZ{UCQW;qdF9>G&QEwWun{;46l+fV z0HkZH@pO$PZ?i#5|1s@P(Si>Y0;X&4@Y`Wy;BNpf=m^bl4v7 zT^G5)Fe~j(z}+=1Y&6oJ^c*0CM zNhj`PT_Y>_15HbQm_he8Xc=a^^_qVO{1AAzvz1m2jeCO^0*8R7nwP(eC1a-{aYcC3 zHGic`_$7F6ceUab23G-MfN8)!;38nUu_u0jn{F1178B_cDK_09(+dA zGM#cgEdEf9f6>_O8pm~5(l34UY0G}@;P=x0Mc^ZjFc~LDPv3NEJN#0nAG}|I<2o!s zFW)!?wZDObFXOtopS0XjaN-y%t(F=~`RULHfrr3by}j28Ht4a?JGH+`AFqsz|0VvJ zz&;0GhS~069AT;Y`leM!`+GR}GMyg`-fHOc+Mlu?^HxB*J{l`eJbw$3djZt#?-2t4 z>3#qo0&;xio2P0HznyFc7ybwro|In!|BenzH^4XjLfT));I}d8(FVQIpk=z(@Mj$8 zO|KesXTv{B(+3TnjAy$Caq#VMH=JRR_j+#Om5lIc=zYKg%_}$9iW?4|2rScnJDtQ| zvqlTp?jPs`L%jY%nr>|H`aq8ZHUU>OKkZP)jleWOy4~PAn$9tdF#=$^QTQ)wUWRYH zVbu)Ul$Z4Uc)||E5%x;+a}M`jqXu+8?VkNEd&}JNyzU?BD zb-Zg%CVNDE;J>&&hTH;8?>BfdjRy|Doo>!4>{kLzHwgbq2XCLl zpJu9W92vg^yl~AQ2Hv6R=Ng;W$TQ79z6@^&e|{WccKjEF=bP>x-Al_u(9N~~8-p+7t-^l< z@XWI0bAfAXT82AaKOMHiA(L%3`?>(9>jG~M@EdR(cnEy{qgU=4bm=)>zcYS>4jT(z zZpfX6egp*0^^MyMf0V)d&7hrW+x|<2Op1BF>De+iF69Vsul@VL7ad_TPNw;+`vA=W z>Au!@HTa08RloxO>wXBYy$gS=!MkD5Ie)U!=&!L#SO3j+;mM$z@Ut)Uz4j;gBQ&Hj`@;}Bq;gCMo7gvtDzl>Wt5+yWZc z(pZM~)bvb)C;9QY9dXFMwS@Kod;>_gLgTp7x}w8h8FFQoVn=}?z)C>6Bj7~8ShQPO z*$Ar$bk{Ot-!aJg5`&hLAg zR~0-G*r5G|S6H%DG`8g>o(gZH!N0BPsw@4|m-1a5{8{+_b@1}9^2V(J-52;9NW9u3 zS^>6O51oFE*Ixm80`Qx`vt|DazWX2IWm#)oud>D+HJ0fwGHCO9XW)Ohj&&};cHbNH zM(C^BpLV@hM#@Gw{F5DiJ3WcF6LwjLXWrmV=L1cLgU0|HwEq$~!$yxN4%lvpK}+6F z?a#J}eJ6nJrfB+{!OQfU6<$+gDI2NjNd`~y_u#*3@Um?7rY*y5S4s0bf)@cV9CCTK zSn<|sd`)8+KiyXUG|OpT6PGaini79yginUvYWPjL8}Q%RW?iQexDzl@`%O8U-m1g$ zZTHPvJ?-DF@l7MV?eCUsfAC^Wp9MeGw4L^U!Krt6L?ys>ZJ@^*ew%;Qg=dFl-)Y6~ z37!M|q5XEa8-5yxO#NNnyvTTi9e&AM?ZT6M+nsq$xRm>NxA!^`20huJuNidVJzn|x zn(m|V9V1Mp{nlQutn`1N{mmWxqYl5=XT{5-v5YHS9f!X={?WiX2mfFE$@Y7%T@Jd7 z_D|RNZ}2NkTd7n|@tQ4={MP+!lj(OVhdjwBq*B zSjx_a{>$)7-b?)14_dMnHI{tox@i9t2j2?y{$C*coxi+!^@dnfd6%$G@W#9FWsLQ4 z@MYLF!ZQ5r5fuRG+Gwmi{7o_ZTcB@gf3-vY`J3dz+hOzm@s%&8{X-mldEIj^y!3~C znwI|O23_QoNBj)9xx)_ro2Maj_*`4U$2eq`8~&5fiO>3{@xFui8UBI5Tn9hCYnx$5b-aY<{I6xone>Oq z1_Mih6GptJn$B_lzo%uV+u0?~8h95S{PGvPX}5x2s{IGS4}feJt?=p^+v!I+{2L7a zd4sm)P5j0s_80)R3x@v1@LzyVcA34BfYUXB*T;n~1Kcr0?)PImd|s|H*K3=PV+l~rvkg;kdyMKb=VVd;B_m#4jP{VC%NH% z4f|U49pQuVFLCgs>`{aF#!de;OFMXt41Yg^wy*oY;-y9!mke5_^Y$&@{8ZNdjs|~* zL9f+xirc>NoO#OQ5hLaC5`vU*YG{PTK>r9Nx$BiL zuIT{=Po^o|X$LR)J&y~jqU4o z!9Nw)?cm$tcQrrDbKm^S@M!@+-m zKZD1TtpEkVn_HT0V?eKe=pC!QedNRB_yeTexJFbnd88Vp@Sm{*LxSPhdti(UV zJ7Vx(8Fa>k{`oNDen$9kEwfzX>y9|--v|(8fY-S;hRhgEZwB8s_^(UD49}VxoLf+xsWMBfY47dlR z%)pqJ^9tStN&}66ZNMoYA7>3z1VRLRw1DExSn~vS0`E3wdwRZ0L}%X z40m!LC0XbA;1Bx081`THXHUV$*zNtiuR!yjPkwH-U|&W!d82;DG-fS)A>YAS&l(l= zxUM?$U~rOyJW~hOC**y(UaY(S#NI{XCrQe822$}2;w+3WJMfK?Av`OSc@5%Pop|T8 z5PK9qW3OET)^n#YKT5^(SNgW4sOz9A9`PQ1)yoZ>yFA$=DlA~Exfq>jz@E6?%srYi zuOH2L@iWRVz$3aH;#=<@P=}}aR>jx64>FQ9rOuouF`jRCMUj0x zA0CB{4P^{Vo8QuxXL85cOP!ScNr~83!gUU&XWgB%SN62x*->rurkx zK_%{id=6$D)A%=@ucqUyC-PTr4!SwRBT`e=eFriAu7kcDK+i^TE=L~vf700cJLeC6 z&feyA=kS~gQqW%YRkCA^1k@rWB zXqJ+*&@+3)PhB|k@ms!2yoTqJx7dS69ll5TF2b&soXCBk3zw>SMA%`Y0N2kG$XvJ};lp^gScPwdZ{vG~w5ym1?uC0zxtzH%8zK%efxW|2}7h z-lI(g(cg`sJq{8gJ34unG@ozb{{LjX{S4#P2<9`KC$)Ds>EuS28j>dYXq=kz*u(jt z?Kw-KH+s)pq6qbxf_4;>molME^+?9E#n#*l`3XhG1{CIb>TL3Mi};k!P;@j3{mS2- z@y#2YD}e4C&%~KhUD<>CC+q9P8^4CSdd_>oLxi6y4E=oWfoxnb! z`HZEml1^F9B3noPsJ8+outDT&BYOLDPLH_1#Ut`=<{4R0&O2jFRwNJF6WcB@`#{xw2}ANKlc~w3**3Pu-O-QK96pH+76w(>Ji!LZw_M% zlDDEg)9x3drz^OhLyO20=o{q{O_gY0GOThbMj!4!F(D$k+L z($1o>e;-ly+3Bay$&W{R#P16^51;~jFG(+)J}RIt*IUbZK8M+(5KVmr5r_D>zUB-a z&j0x?ka@~4*xLb=88#<5dUc+8Vh7q+YT9Q|80kMFyZ@9vbxZ?vtC z+4Fc79r%N}Klc0t?dNxNSGuPOG4I9mREq0=3CGy98 z_u+njquu`dFV9Gk9YqV7+h~?+Em!PtC-9wCdUVih0TVn;wxS2ex4ueJ$mAJ}vh4E&2rL zZs_iv%9K?T`Wtll8`}6QV9n>06L6^w_Mdi^vngq!kJZRmJ@k6pyL>+bTlGHq4WM15 z%St~2@8DGO@(+C~cHtn9unhY531>3_nW&cuz#-_bDw2=#9KdDuhJ07Yu1^O_K);-eeZfZD0+J5r-2kA@3Xhmf+xa*pHW%oIE*DIIy#|KO z!amN%{$UG((EYGWjI%D&2U7Q&uF((EhHG-o-n6&U*nqS>S;NQPccEWQa2=hw!G65$ zj3Lp{j|$SR(SdTzV-g?cd&l6b^XZ$x{edHsX)ow&ij<^v8J$Q+`vccn&o>17(JwBi z45<4C)K6$8zQ0R;>Z8-Uu_qm|EurW^4s_rf>N@cj?hBhxoVsZUbfq6Y4@`v4d4q9I z7M^KjW&TMYlVdlw2pG|raS7>F!PZTuP0yfhmdHpNtH{S5#)ZInbf8{N#k3enHvHE##xK+9GibwsQ+YN8Oy5VJ zP>?y|``9z&moAca1|EIeJ<71s2FCt`<(kEJSrFhj;%TLGxoR| z&(Frue(N(%dB)iKBkaLT+68v#DE9io9cBs*6 z!X$}ZpD+}?K_8Z_VqYMAZbI5)wL|FTdGc|A@$Oab1z4Da{wEhYl%MugfN_5|#@N{z z1LR?@keBh}Pt+;-{u|p6f{xcb$J~fCa$RA*05mzxoaPLAe35oR`zyJZ@2dbw4l?!u z@}WQbspqU)X>X;_Uv#-oFm{1^cnf=!jrN&t9sPbU`X1`0H#Xo!4CxS9f%5^7m&Kq@8 zuQcbvagEVYjJvS~XJ=rusIN!p+tg#|=^gCQNa{5cXVH^>Hqw8xjdy1TQr6hewAg~D zE2*p6q=6l3l!yM5x-C_KwqJ$z##rZiRr(=p-C4?DNjt{UMOmLdLO;2PH15;q{?6Ew zvTQPhdZ@ws@YU$YzNbxK&!1hTkN=2#GN0JljdA;JbpIRrvE0m+hNC~+cYE4NiOh_5 zo>Jz=8AtX*CsWbB(qIo(V^hm>b~R(VHq&h-~|WeYlm?fY#$*X)4(=>?`eH~5XYCiU9;Iq@lnEYWD=<%?g z9+4gW3$BjM;(m^YU=#1NS9C4U%)g|+PDfq;MEP>vt9Ka>KA{|HV?)VPe`Gs7WS&A= ztCMiuO5`8?i#)@)mww<1`m%WjwuJt-20B<)#(#(%x=Ycm(s8Do#Bw8<~XFL}yP zpY(d8Go+cGGzX!V{m`$4-!i^hMPFPKyN=y2OM4!g0J}F3ow&(;S7r*)e-!MlY{T$)k1O3De$|O@G z`XtJ%9{D+bnK2D||K}{)d0FhlKiH+Q*b&-QrXBQq=Qz_iim?u5lX4Gj0DL~2vO$-d zGY)v`0dq5S@#3$nA1r6Axr9Ch`KT=bH5HD?oTvIII+nm(}({aQoHz5(fwj|W}I z3wgapUV;jsZ`j`_+{Xy=-s2FuehK@1op2vZ)J8Y94UCBco6r?Uls~%~!BduDX*GP0|7-P9yjLFter}^l24l=LedZD%G%SdO~0LCLjm^=4G zr`}|KOIml(v8@l7bCA}*g&0q6rZ3-#E!c<-{mveE?&nbh?yo6rDGTlJUDhG*ac{Jp z_wO^lh@gCEkNMxH4p-66(8uqOqNB6X$Cr#}Ix*&dI-8JS-aFB<*L zjSg&oO8tC9Jw2z-AkX)yqpsXb=SbQI`HRA?{yH8V;67ghWtKBedKcT6l6(1#Iciq= zWy*E;r?ds?wnt0W#~1@On}^Qa;=E<K`*OTX6=i6-$I*v zP>HtFf-&J|)YsS8vLC6hq1fw9%(tnV5ZdPSuC$k)^kL}DlNI!B^e-#dp~F8=ufVyP z?E4=~U;Q`dLwt_Cp1~LjJ=>p~u`yu>^PrzVM#^d*HmrGa)=X%hx2flnr1dzQvip<1 z{XNQn_PKK%?W7mFlL+}8tUV273`n`xr~Ll9PG7YiUHYACq-7p*ihkic`hvsshqJNW zq??jo9*`e*t*>h^c;qi0>_VD-_dJ@mKx=&w6s-?*cE;8Wf(Z0X9Lu6uT895uV(!8it*8Y#t;MPQ(H3c|CxTSJ>xj8HLCz! zJ?$(}S#)m;bsoUF({}9apFHPCjqd)9ZKo{StYZG%mw9nUIhVw4<)?lYvYvuor=m?? zTgzS%#%vkTi|>*!{vmS*v0qgviva5La6#56d!Sb(c;>&7eiOZ(M_K>2nYAet_&U>ZL{_<`KiV&P~S3H|S5XWoN15&(Wiftn);HVI4zN?dQcvB_u?`!+_`4qSk13={-Ern=)TioblnC%#(A| z7i8v{QZCBwW9AeGxL0&~)D7}8m+=SXyzEcxMQZxAznHVs<6djf|4d@6&={LR+4ujJ z_Hvx^9ml#zQ}Vum_7ujHvK!+A>~qTjtV?0f3jYKoW$rkVGzPGaKs~%Si}pl%dr5Ce zedd(dgik9|-{`_)%Kh#S%p?9^RreWKRk^GIctgO@LO?8(BnCnWO_3&uB1Ms+z@c2E zNfU^QKtf3%qhP4v* z{>scd@4Vlvh05D%pTb!jJXN-r;m+xe#7&OIO~5G!^}D9h>u=-s+twupMe$XU$LUj; zAIcx+v()`T>iGtJrx9v*3cWPn`GTLn{98?Z(b`^Dv*f_CSLvlh|JL6ahwXV8EPu`) z;e5S5jo#0LKXt8Q6&jCC;s2AJ@CVFnaNSeZzsD2X!*VG01OKf#KI>y$M{sz^60^-}nlbkEqkHB4U)4NIl53wbQqW|kJXrS)#;UN zJQ;@Ddl(;X(lhCkZ~eXTdW(O@!gTt>_^%@E-;94^)s{N6jr!H$HF>aK@5Y?-?mC0; zamkKq$Q8NP+_^cLR{jMyO!N16u`WI!?`J}|)lIb%I@DdDrm zSZ0h6aj$hio$IV`!@tu$(6Ez_bQwD04>hq0;}85m)A>dQfSy}vbXOcUP@ zeAbCS<>>kW_H2J6#OuTnd*##Y;$r+QE^n;wFa__oRddH#xX9*57JdGhWQJ~>AlAHxZwX@B{4@;a?z zj%4}ySgsmnp0jdyp0&=-@pBL7czdo6%QgSuY~Bk#`Fx@Mp2uy=6ZmM9e43~(yzBiM z>;5Q6n->iPqK&<<1)teR(T4ER$Qj`{tPfOg-=-CD`T^Kq+?Q_7P>=O(>dd5ftY^&g z{M_F71@RrIuJjEA%D)C*cwMK*9D_^ydsgrIT1o4z z;b(asI!AuP*RYLx5$ya%_<{W+_I5Pe84-WXPZa;@dbz%n$3OEo;lnSi|FCn)*ZAZo z{`^e;x&y1~OkG7?!wuJ9t;K1Yihny-#j`O;5^r-=(RY3)QuA;<}DL zt4Xg~!$0NN6g)Fy3+;^~+RF1Sc;&58OZ}!&~hqBo?;R87yndx)J`<9L2r*;3~U)BOv8sMBw@90xaf}7>) zz=yQU6fk; zQtm!`+Ig&E!Mh~*%r)0{8pGL^R>pGO?K4F#(7J39tBgyZxUZMUwoFwkzJbqK@>8te zKX0BT-ch;hENR~53#{*qeLsN<7mM>j&p53i?M?Y}z!<;lb4}MjuZI)&(XRW|wpyM~ z^i!L!tC4VYC`CTKpvL~84zhi?xI}Sv0%n`?_fIhXg?VE=Z0{aY;BR%+{BETku*j z(*1g|`4pCRILq2!M}Cj7&P89+EpT4^FfINVyolF$>%ESXcESFuzxs^(KF{%iIBmP> zynyd}KBzzOiAAlGGjQ5noNme0ok@6hGJWwfO*Yh+p*XjOb68`&;z6{2Up#%7FZk#4 zt@^F6TKB_ZTY}zr$U6C83R}6AMhwLhw`rS4V8(UY9sD>9x3^V?%<=a%=eg=?&zpE* ztuflul;V(hg??OvL%yR)nYxaCscpolcskb{H=`mA_$n$p^TP zz1d4m+er)H^Z4C(^b|gPo>oYbNA@wu^*sBdl(XDYIT?l%>?17)|H#K}pTUd*o5vpNnvAEnlJrNZMY}5*T zw85D_kH0q3sO$&U(=)X%=oL;1X^{evlctR+NhZ)2=q^>=ZkZ?A-&L`E!n3eG+f8N9)6eT$_Y5>%A%Gzr#wgxi+>`# z&vPv!sCPaG+ISk z9@h-?+1NJLyaJE$@!PZU8XN5X(d+nWf@e{E@B~{?&ORP8cVF0nzr}yb?cZrKRu}FQ z*}CCy$ch)HDPG|3T59(eT(i}9x8MTao8#jxzB}(P-ZNFe&24QUK(bLC6AGpqj3iB)3PF zasQV7jGAdac&=vjQzoDZ7oox#Us zmiPt!t3+c*@Y@%(WoWKoincZ8FtRuXSb@(M=;iJ zo}6Q=qv>5kyi^jOvfoqGu70#JD|b^|Sn`*A!%k1pn}ey+tFqI31wG)u;9fl)W{ipWsPQN83iH!;;ENIGB!!N9#jv4?+ z2MA8gt*}7xYThO!Lb>^`Xhshaj8jJ!NiPULiGP%gZ0FPj7kfRj0+}g3nr!o z$Haw8qW?^E;O=ROVJr zrH!qgo|gK|Bih<*{z%I&#g3bSF Date: Fri, 25 Sep 2020 15:56:15 +0300 Subject: [PATCH 5/8] Fixed indentation to make style checker happy --- variants/Generic_H743Vx/variant.cpp | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/variants/Generic_H743Vx/variant.cpp b/variants/Generic_H743Vx/variant.cpp index 80085e42fa..acc2279b64 100644 --- a/variants/Generic_H743Vx/variant.cpp +++ b/variants/Generic_H743Vx/variant.cpp @@ -142,7 +142,7 @@ WEAK void SystemClock_Config(void) * in the RCC_OscInitTypeDef structure. */ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSI48 | RCC_OSCILLATORTYPE_HSI - | RCC_OSCILLATORTYPE_LSI; + | RCC_OSCILLATORTYPE_LSI; RCC_OscInitStruct.HSIState = RCC_HSI_DIV1; RCC_OscInitStruct.HSICalibrationValue = RCC_HSICALIBRATION_DEFAULT; RCC_OscInitStruct.LSIState = RCC_LSI_ON; @@ -163,8 +163,8 @@ WEAK void SystemClock_Config(void) /** Initializes the CPU, AHB and APB buses clocks */ RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK | RCC_CLOCKTYPE_SYSCLK - | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 - | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; + | RCC_CLOCKTYPE_PCLK1 | RCC_CLOCKTYPE_PCLK2 + | RCC_CLOCKTYPE_D3PCLK1 | RCC_CLOCKTYPE_D1PCLK1; RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; RCC_ClkInitStruct.SYSCLKDivider = RCC_SYSCLK_DIV2; RCC_ClkInitStruct.AHBCLKDivider = RCC_HCLK_DIV2; @@ -177,11 +177,11 @@ WEAK void SystemClock_Config(void) Error_Handler(); } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_RTC | RCC_PERIPHCLK_USART3 - | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_USART1 - | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SPI2 - | RCC_PERIPHCLK_SDMMC | RCC_PERIPHCLK_I2C2 - | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_I2C1 - | RCC_PERIPHCLK_USB | RCC_PERIPHCLK_QSPI; + | RCC_PERIPHCLK_USART2 | RCC_PERIPHCLK_USART1 + | RCC_PERIPHCLK_SPI1 | RCC_PERIPHCLK_SPI2 + | RCC_PERIPHCLK_SDMMC | RCC_PERIPHCLK_I2C2 + | RCC_PERIPHCLK_ADC | RCC_PERIPHCLK_I2C1 + | RCC_PERIPHCLK_USB | RCC_PERIPHCLK_QSPI; PeriphClkInitStruct.PLL2.PLL2M = 4; PeriphClkInitStruct.PLL2.PLL2N = 9; PeriphClkInitStruct.PLL2.PLL2P = 1; From c38f3fe9f11dd40c6c5978c1abbb86e8deaeb8ec Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 25 Sep 2020 16:32:23 +0300 Subject: [PATCH 6/8] Updated flash size according to the datasheet --- boards.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/boards.txt b/boards.txt index eb394a276c..bcf282cbeb 100644 --- a/boards.txt +++ b/boards.txt @@ -1657,7 +1657,7 @@ GenH7.menu.pnum.DAISY_SEED.build.variant=DAISY_SEED # Generic STM32H743VITx GenH7.menu.pnum.STM32H743VITx=Generic_H743Vx -GenH7.menu.pnum.STM32H743VITx.upload.maximum_size=131072 +GenH7.menu.pnum.STM32H743VITx.upload.maximum_size=2097152 GenH7.menu.pnum.STM32H743VITx.upload.maximum_data_size=524288 GenH7.menu.pnum.STM32H743VITx.build.board=Generic_H743Vx GenH7.menu.pnum.STM32H743VITx.build.product_line=STM32H743xx From 0863c39a905b7549def043190b5d64180ae6878a Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 4 Dec 2020 16:58:18 +0200 Subject: [PATCH 7/8] Updated pin definition --- variants/Generic_H743Vx/variant.cpp | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/variants/Generic_H743Vx/variant.cpp b/variants/Generic_H743Vx/variant.cpp index acc2279b64..aacceb3fd3 100644 --- a/variants/Generic_H743Vx/variant.cpp +++ b/variants/Generic_H743Vx/variant.cpp @@ -94,12 +94,15 @@ const PinName digitalPin[] = { // Analog (Ax) pin number array const uint32_t analogInputPin[] = { - PA6, // A0 - PC0, // A1 - PC2, // A2 - PC3, // A3 - PC4, // A4 - PC5, // A5 + PA0, + PA6, + PA7, + PB0, + PC0, + PC2, + PC3, + PC4, + PC5, PA4, PA5 }; From 6124144dc904353bba4a8f0a921f68df828dc668 Mon Sep 17 00:00:00 2001 From: Vladimir Kozlov Date: Fri, 4 Dec 2020 18:14:36 +0200 Subject: [PATCH 8/8] Cleanup --- variants/Generic_H743Vx/variant.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/Generic_H743Vx/variant.cpp b/variants/Generic_H743Vx/variant.cpp index aacceb3fd3..f210546ab7 100644 --- a/variants/Generic_H743Vx/variant.cpp +++ b/variants/Generic_H743Vx/variant.cpp @@ -102,7 +102,7 @@ const uint32_t analogInputPin[] = { PC2, PC3, PC4, - PC5, + PC5, PA4, PA5 };