From f96f1118bd8147f1b9bf05e20a1d6d03d100a6f6 Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Mon, 21 Jan 2019 07:59:32 +0000 Subject: [PATCH 01/13] New Variant - BlackPill F103C8 --- boards.txt | 11 +++++++++++ variants/BLUEPILL_F103C8/variant.cpp | 4 ++-- variants/BLUEPILL_F103C8/variant.h | 10 +++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/boards.txt b/boards.txt index 06ad85b011..d8c6275ae8 100644 --- a/boards.txt +++ b/boards.txt @@ -535,6 +535,17 @@ GenF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB GenF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 GenF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math +# BLACKPILL_F103C8 board +# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) +GenF103.menu.pnum.BLACKPILL_F103C8=BlackPill F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.upload.maximum_data_size=20480 +GenF103.menu.pnum.BLACKPILL_F103C8.build.mcu=cortex-m3 +GenF103.menu.pnum.BLACKPILL_F103C8.build.board=BLACKPILL_F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.build.series=STM32F1xx +GenF103.menu.pnum.BLACKPILL_F103C8.build.product_line=STM32F103xB +GenF103.menu.pnum.BLACKPILL_F103C8.build.variant=BLUEPILL_F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math + GenF103.menu.flash.C8=64k (default) GenF103.menu.flash.C8.upload.maximum_size=65536 GenF103.menu.flash.C8.build.ldscript=ldscript.ld diff --git a/variants/BLUEPILL_F103C8/variant.cpp b/variants/BLUEPILL_F103C8/variant.cpp index 48c9fa6557..cfb8262271 100644 --- a/variants/BLUEPILL_F103C8/variant.cpp +++ b/variants/BLUEPILL_F103C8/variant.cpp @@ -53,9 +53,9 @@ const PinName digitalPin[] = { PB_15, //D13 PB_14, //D14 PB_13, //D15 - PB_12, //D16 + PB_12, //D16 - LED Blackpill /* Right side */ - PC_13, //D17 - LED + PC_13, //D17 - LED Bluepill PC_14, //D18 PC_15, //D19 PA_0, //D20/A0 diff --git a/variants/BLUEPILL_F103C8/variant.h b/variants/BLUEPILL_F103C8/variant.h index ed24c56705..c8add6e657 100644 --- a/variants/BLUEPILL_F103C8/variant.h +++ b/variants/BLUEPILL_F103C8/variant.h @@ -44,7 +44,7 @@ extern "C"{ *----------------------------------------------------------------------------*/ extern const PinName digitalPin[]; -// USB connector on the top, MCU side +// Bluepill USB connector on the top, MCU side - Blackpill USB connector on bottom, MCU Side (pins are reversed vertically for Arduino Ananlog pin correct sequence. // Left Side #define PB9 0 #define PB8 1 @@ -62,9 +62,9 @@ extern const PinName digitalPin[]; #define PB15 13 #define PB14 14 #define PB13 15 -#define PB12 16 +#define PB12 16 // LED Blackpill // Right side -#define PC13 17 // LED +#define PC13 17 // LED Bluepill #define PC14 18 #define PC15 19 #define PA0 20 // A0 @@ -91,7 +91,11 @@ extern const PinName digitalPin[]; #define NUM_ANALOG_FIRST 20 // On-board LED pin number +#ifdef BLUEPILL_F103C8 #define LED_BUILTIN PC13 +#else +#define LED_BUILTIN PB12 +#endif #define LED_GREEN LED_BUILTIN // SPI Definitions From 4016f7cd312e6074c67f928a8745600aded49b45 Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Mon, 21 Jan 2019 08:29:13 +0000 Subject: [PATCH 02/13] Correct Bluepill board definition --- variants/BLUEPILL_F103C8/variant.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/BLUEPILL_F103C8/variant.h b/variants/BLUEPILL_F103C8/variant.h index c8add6e657..af3d8ca493 100644 --- a/variants/BLUEPILL_F103C8/variant.h +++ b/variants/BLUEPILL_F103C8/variant.h @@ -91,7 +91,7 @@ extern const PinName digitalPin[]; #define NUM_ANALOG_FIRST 20 // On-board LED pin number -#ifdef BLUEPILL_F103C8 +#ifdef ARDUINO_BLUEPILL_F103C8 #define LED_BUILTIN PC13 #else #define LED_BUILTIN PB12 From b6bfab20c01df534b975ea994d2e13d28b362981 Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 09:37:22 +0100 Subject: [PATCH 03/13] Fix PinMap_USB_OTG_HS with USE_USB_HS_IN_FS Signed-off-by: Frederic.Pillon --- variants/ARMED_V1/PeripheralPins.c | 17 +++++++---------- variants/BLACK_F407XX/PeripheralPins.c | 17 +++++++---------- variants/BLUE_F407VE_Mini/PeripheralPins.c | 17 +++++++---------- variants/DISCO_F407VG/PeripheralPins.c | 17 +++++++---------- variants/DISCO_F746NG/PeripheralPins.c | 17 +++++++---------- variants/DIYMROE_F407VGT/PeripheralPins.c | 17 +++++++---------- variants/NUCLEO_F207ZG/PeripheralPins.c | 17 +++++++---------- variants/NUCLEO_F429ZI/PeripheralPins.c | 17 +++++++---------- variants/NUCLEO_F446RE/PeripheralPins.c | 17 +++++++---------- variants/NUCLEO_H743ZI/PeripheralPins.c | 17 +++++++---------- variants/REMRAM_V1/PeripheralPins.c | 17 +++++++---------- 11 files changed, 77 insertions(+), 110 deletions(-) diff --git a/variants/ARMED_V1/PeripheralPins.c b/variants/ARMED_V1/PeripheralPins.c index 1f36360acb..7255aad258 100644 --- a/variants/ARMED_V1/PeripheralPins.c +++ b/variants/ARMED_V1/PeripheralPins.c @@ -369,29 +369,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif \ No newline at end of file diff --git a/variants/BLACK_F407XX/PeripheralPins.c b/variants/BLACK_F407XX/PeripheralPins.c index cc7b866b8c..2fb30fdcd0 100644 --- a/variants/BLACK_F407XX/PeripheralPins.c +++ b/variants/BLACK_F407XX/PeripheralPins.c @@ -413,29 +413,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/BLUE_F407VE_Mini/PeripheralPins.c b/variants/BLUE_F407VE_Mini/PeripheralPins.c index 907e46dee8..9d3710568a 100644 --- a/variants/BLUE_F407VE_Mini/PeripheralPins.c +++ b/variants/BLUE_F407VE_Mini/PeripheralPins.c @@ -369,29 +369,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/DISCO_F407VG/PeripheralPins.c b/variants/DISCO_F407VG/PeripheralPins.c index 985ee3628a..d09204f77b 100644 --- a/variants/DISCO_F407VG/PeripheralPins.c +++ b/variants/DISCO_F407VG/PeripheralPins.c @@ -369,29 +369,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/DISCO_F746NG/PeripheralPins.c b/variants/DISCO_F746NG/PeripheralPins.c index bc09335f9e..8440b8e95d 100644 --- a/variants/DISCO_F746NG/PeripheralPins.c +++ b/variants/DISCO_F746NG/PeripheralPins.c @@ -499,31 +499,28 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR // {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT {PH_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT // {PI_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/DIYMROE_F407VGT/PeripheralPins.c b/variants/DIYMROE_F407VGT/PeripheralPins.c index 0651b54528..e88148ebdc 100644 --- a/variants/DIYMROE_F407VGT/PeripheralPins.c +++ b/variants/DIYMROE_F407VGT/PeripheralPins.c @@ -369,29 +369,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/NUCLEO_F207ZG/PeripheralPins.c b/variants/NUCLEO_F207ZG/PeripheralPins.c index 27c9b3e304..86509a972b 100644 --- a/variants/NUCLEO_F207ZG/PeripheralPins.c +++ b/variants/NUCLEO_F207ZG/PeripheralPins.c @@ -393,29 +393,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID + {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_VBUS + {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_INPUT, GPIO_NOPULL, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_VBUS - {PB_14, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/NUCLEO_F429ZI/PeripheralPins.c b/variants/NUCLEO_F429ZI/PeripheralPins.c index b82afcb436..fba91002e9 100644 --- a/variants/NUCLEO_F429ZI/PeripheralPins.c +++ b/variants/NUCLEO_F429ZI/PeripheralPins.c @@ -420,29 +420,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/NUCLEO_F446RE/PeripheralPins.c b/variants/NUCLEO_F446RE/PeripheralPins.c index 97cd44d6b6..a20cb62839 100644 --- a/variants/NUCLEO_F446RE/PeripheralPins.c +++ b/variants/NUCLEO_F446RE/PeripheralPins.c @@ -350,29 +350,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif diff --git a/variants/NUCLEO_H743ZI/PeripheralPins.c b/variants/NUCLEO_H743ZI/PeripheralPins.c index 3ec53a0bf7..cb219e9852 100644 --- a/variants/NUCLEO_H743ZI/PeripheralPins.c +++ b/variants/NUCLEO_H743ZI/PeripheralPins.c @@ -528,29 +528,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG2_HS)}, // USB_OTG_HS_ULPI_D0 #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 -#endif /* USE_USB_HS_IN_FS */ + {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 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG2_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {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 -#ifdef USE_USB_HS_IN_FS - {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 -#endif /* USE_USB_HS_IN_FS */ {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 diff --git a/variants/REMRAM_V1/PeripheralPins.c b/variants/REMRAM_V1/PeripheralPins.c index 98f29716fc..5dec4acc9b 100644 --- a/variants/REMRAM_V1/PeripheralPins.c +++ b/variants/REMRAM_V1/PeripheralPins.c @@ -455,29 +455,26 @@ const PinMap PinMap_USB_OTG_FS[] = { #ifdef HAL_PCD_MODULE_ENABLED const PinMap PinMap_USB_OTG_HS[] = { - {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 #ifdef USE_USB_HS_IN_FS {PA_4, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_SOF -#endif /* USE_USB_HS_IN_FS */ + {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_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_OTG_HS_FS)}, // USB_OTG_HS_DM + {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP +#else + {PA_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D0 {PA_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_CK {PB_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D1 {PB_1, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D2 {PB_5, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D7 {PB_10, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D3 {PB_11, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D4 -#ifdef USE_USB_HS_IN_FS - {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_OD, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_ID -#endif /* USE_USB_HS_IN_FS */ {PB_12, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D5 {PB_13, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_D6 -#ifdef USE_USB_HS_IN_FS - {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_OTG_HS_FS)}, // USB_OTG_HS_DM - {PB_15, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF12_OTG_HS_FS)}, // USB_OTG_HS_DP -#endif /* USE_USB_HS_IN_FS */ {PC_0, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_STP {PC_2, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_DIR {PC_3, USB_OTG_HS, STM_PIN_DATA(STM_MODE_AF_PP, GPIO_PULLUP, GPIO_AF10_OTG_HS)}, // USB_OTG_HS_ULPI_NXT +#endif /* USE_USB_HS_IN_FS */ {NC, NP, 0} }; #endif From 14de4e5ee25250abb36c557330a79aae2c9b976f Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 11:38:01 +0100 Subject: [PATCH 04/13] [USB] Fix H7 issue of missing VDD33USB Signed-off-by: Frederic.Pillon --- cores/arduino/stm32/usb/usbd_conf.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/cores/arduino/stm32/usb/usbd_conf.c b/cores/arduino/stm32/usb/usbd_conf.c index c02d8c35cb..188e725b2a 100644 --- a/cores/arduino/stm32/usb/usbd_conf.c +++ b/cores/arduino/stm32/usb/usbd_conf.c @@ -19,6 +19,7 @@ #ifdef USBCON /* Includes ------------------------------------------------------------------*/ #include "usbd_core.h" +#include "stm32yyxx_ll_pwr.h" #ifndef HAL_PCD_MODULE_ENABLED #error "HAL_PCD_MODULE_ENABLED is required" @@ -52,6 +53,11 @@ void HAL_PCD_MspInit(PCD_HandleTypeDef *hpcd) HAL_PWREx_EnableVddUSB(); } #endif +#ifdef STM32H7xx + if(!LL_PWR_IsActiveFlag_USB()) { + HAL_PWREx_EnableUSBVoltageDetector(); + } +#endif #if defined (USB) if(hpcd->Instance == USB) { From ca1a3cd30ac93da535fdaf6ab332ea757646e426 Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Mon, 21 Jan 2019 07:59:32 +0000 Subject: [PATCH 05/13] New Variant - BlackPill F103C8 --- boards.txt | 11 +++++++++++ variants/BLUEPILL_F103C8/variant.cpp | 4 ++-- variants/BLUEPILL_F103C8/variant.h | 10 +++++++--- 3 files changed, 20 insertions(+), 5 deletions(-) diff --git a/boards.txt b/boards.txt index 06ad85b011..d8c6275ae8 100644 --- a/boards.txt +++ b/boards.txt @@ -535,6 +535,17 @@ GenF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB GenF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 GenF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math +# BLACKPILL_F103C8 board +# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) +GenF103.menu.pnum.BLACKPILL_F103C8=BlackPill F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.upload.maximum_data_size=20480 +GenF103.menu.pnum.BLACKPILL_F103C8.build.mcu=cortex-m3 +GenF103.menu.pnum.BLACKPILL_F103C8.build.board=BLACKPILL_F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.build.series=STM32F1xx +GenF103.menu.pnum.BLACKPILL_F103C8.build.product_line=STM32F103xB +GenF103.menu.pnum.BLACKPILL_F103C8.build.variant=BLUEPILL_F103C8 +GenF103.menu.pnum.BLACKPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math + GenF103.menu.flash.C8=64k (default) GenF103.menu.flash.C8.upload.maximum_size=65536 GenF103.menu.flash.C8.build.ldscript=ldscript.ld diff --git a/variants/BLUEPILL_F103C8/variant.cpp b/variants/BLUEPILL_F103C8/variant.cpp index 48c9fa6557..cfb8262271 100644 --- a/variants/BLUEPILL_F103C8/variant.cpp +++ b/variants/BLUEPILL_F103C8/variant.cpp @@ -53,9 +53,9 @@ const PinName digitalPin[] = { PB_15, //D13 PB_14, //D14 PB_13, //D15 - PB_12, //D16 + PB_12, //D16 - LED Blackpill /* Right side */ - PC_13, //D17 - LED + PC_13, //D17 - LED Bluepill PC_14, //D18 PC_15, //D19 PA_0, //D20/A0 diff --git a/variants/BLUEPILL_F103C8/variant.h b/variants/BLUEPILL_F103C8/variant.h index ed24c56705..c8add6e657 100644 --- a/variants/BLUEPILL_F103C8/variant.h +++ b/variants/BLUEPILL_F103C8/variant.h @@ -44,7 +44,7 @@ extern "C"{ *----------------------------------------------------------------------------*/ extern const PinName digitalPin[]; -// USB connector on the top, MCU side +// Bluepill USB connector on the top, MCU side - Blackpill USB connector on bottom, MCU Side (pins are reversed vertically for Arduino Ananlog pin correct sequence. // Left Side #define PB9 0 #define PB8 1 @@ -62,9 +62,9 @@ extern const PinName digitalPin[]; #define PB15 13 #define PB14 14 #define PB13 15 -#define PB12 16 +#define PB12 16 // LED Blackpill // Right side -#define PC13 17 // LED +#define PC13 17 // LED Bluepill #define PC14 18 #define PC15 19 #define PA0 20 // A0 @@ -91,7 +91,11 @@ extern const PinName digitalPin[]; #define NUM_ANALOG_FIRST 20 // On-board LED pin number +#ifdef BLUEPILL_F103C8 #define LED_BUILTIN PC13 +#else +#define LED_BUILTIN PB12 +#endif #define LED_GREEN LED_BUILTIN // SPI Definitions From 057dbf14013e02122f0b6da98acb2f86b9f52af1 Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Mon, 21 Jan 2019 08:29:13 +0000 Subject: [PATCH 06/13] Correct Bluepill board definition --- variants/BLUEPILL_F103C8/variant.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/variants/BLUEPILL_F103C8/variant.h b/variants/BLUEPILL_F103C8/variant.h index c8add6e657..af3d8ca493 100644 --- a/variants/BLUEPILL_F103C8/variant.h +++ b/variants/BLUEPILL_F103C8/variant.h @@ -91,7 +91,7 @@ extern const PinName digitalPin[]; #define NUM_ANALOG_FIRST 20 // On-board LED pin number -#ifdef BLUEPILL_F103C8 +#ifdef ARDUINO_BLUEPILL_F103C8 #define LED_BUILTIN PC13 #else #define LED_BUILTIN PB12 From bac96d17b2081a4daafe0525b20191b1bd895a4b Mon Sep 17 00:00:00 2001 From: Nils Hasenbanck Date: Fri, 25 Jan 2019 14:12:00 +0100 Subject: [PATCH 07/13] Add I2C definition for RemRam V1 I thought I had set the I2C pins to the arduino compatible values, but it seems I messed that up. This change will set the defaults for the board variant RemRam V1. --- variants/REMRAM_V1/variant.h | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/variants/REMRAM_V1/variant.h b/variants/REMRAM_V1/variant.h index 018ed996fc..2fa729cbdb 100644 --- a/variants/REMRAM_V1/variant.h +++ b/variants/REMRAM_V1/variant.h @@ -171,6 +171,10 @@ extern "C" // UART Definitions #define SERIAL_UART_INSTANCE 1 +// I2C Definitions +#define PIN_WIRE_SDA PB7 +#define PIN_WIRE_SCL PB6 + // Default pin used for 'Serial' instance #define PIN_SERIAL_RX 0 #define PIN_SERIAL_TX 1 From 3bdc8804597feaecbfc12d124b9a7c90fd7611ff Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 14:41:13 +0100 Subject: [PATCH 08/13] [GenF1] Rename GenF103 to GenF1 Signed-off-by: Frederic.Pillon --- boards.txt | 140 ++++++++++++++++++++++++++--------------------------- 1 file changed, 70 insertions(+), 70 deletions(-) diff --git a/boards.txt b/boards.txt index 06ad85b011..cf152ed43d 100644 --- a/boards.txt +++ b/boards.txt @@ -516,44 +516,44 @@ GenF0.menu.upload_method.serialMethod.upload.protocol=maple_serial GenF0.menu.upload_method.serialMethod.upload.tool=serial_upload ################################################################################ -# Generic F103 -GenF103.name=Generic STM32F103 series +# Generic F1 +GenF1.name=Generic STM32F1 series -GenF103.build.vid=0x0483 -GenF103.build.core=arduino -GenF103.build.board=GenF103 -GenF103.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} +GenF1.build.vid=0x0483 +GenF1.build.core=arduino +GenF1.build.board=GenF1 +GenF1.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} # BLUEPILL_F103C8 board # Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) -GenF103.menu.pnum.BLUEPILL_F103C8=BluePill F103C8 -GenF103.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480 -GenF103.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3 -GenF103.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8 -GenF103.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx -GenF103.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB -GenF103.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 -GenF103.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math - -GenF103.menu.flash.C8=64k (default) -GenF103.menu.flash.C8.upload.maximum_size=65536 -GenF103.menu.flash.C8.build.ldscript=ldscript.ld -GenF103.menu.flash.CB=128k -GenF103.menu.flash.CB.upload.maximum_size=131072 -GenF103.menu.flash.CB.build.ldscript=ldscript_cb.ld +GenF1.menu.pnum.BLUEPILL_F103C8=BluePill F103C8 +GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480 +GenF1.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3 +GenF1.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8 +GenF1.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx +GenF1.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB +GenF1.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 +GenF1.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math + +GenF1.menu.flash.C8=64k (default) +GenF1.menu.flash.C8.upload.maximum_size=65536 +GenF1.menu.flash.C8.build.ldscript=ldscript.ld +GenF1.menu.flash.CB=128k +GenF1.menu.flash.CB.upload.maximum_size=131072 +GenF1.menu.flash.CB.build.ldscript=ldscript_cb.ld # Upload menu -GenF103.menu.upload_method.STLinkMethod=STLink -GenF103.menu.upload_method.STLinkMethod.upload.protocol=STLink -GenF103.menu.upload_method.STLinkMethod.upload.tool=stlink_upload +GenF1.menu.upload_method.STLinkMethod=STLink +GenF1.menu.upload_method.STLinkMethod.upload.protocol=STLink +GenF1.menu.upload_method.STLinkMethod.upload.tool=stlink_upload -GenF103.menu.upload_method.serialMethod=Serial -GenF103.menu.upload_method.serialMethod.upload.protocol=maple_serial -GenF103.menu.upload_method.serialMethod.upload.tool=serial_upload +GenF1.menu.upload_method.serialMethod=Serial +GenF1.menu.upload_method.serialMethod.upload.protocol=maple_serial +GenF1.menu.upload_method.serialMethod.upload.tool=serial_upload -GenF103.menu.upload_method.bmpMethod=BMP (Black Magic Probe) -GenF103.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp -GenF103.menu.upload_method.bmpMethod.upload.tool=bmp_upload +GenF1.menu.upload_method.bmpMethod=BMP (Black Magic Probe) +GenF1.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp +GenF1.menu.upload_method.bmpMethod.upload.tool=bmp_upload ################################################################################ # Generic F4 @@ -796,11 +796,11 @@ GenF0.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE GenF0.menu.xserial.disabled=Disabled (No Serial) GenF0.menu.xserial.disabled.build.xSerial= -GenF103.menu.xserial.generic=Enabled with generic Serial -GenF103.menu.xserial.none=Enabled without generic Serial -GenF103.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE -GenF103.menu.xserial.disabled=Disabled (No Serial) -GenF103.menu.xserial.disabled.build.xSerial= +GenF1.menu.xserial.generic=Enabled with generic Serial +GenF1.menu.xserial.none=Enabled without generic Serial +GenF1.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE +GenF1.menu.xserial.disabled=Disabled (No Serial) +GenF1.menu.xserial.disabled.build.xSerial= GenF4.menu.xserial.generic=Enabled with generic Serial GenF4.menu.xserial.none=Enabled without generic Serial @@ -869,15 +869,15 @@ Disco.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC Disco.menu.usb.CDCHS=CDC High Speed Disco.menu.usb.CDCHS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DUSE_USB_HS -GenF103.menu.usb.none=None -GenF103.menu.usb.HIDFS=HID keyboard and mouse support Full Speed -GenF103.menu.usb.HIDFS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE -GenF103.menu.usb.HIDHS=HID keyboard and mouse support High Speed -GenF103.menu.usb.HIDHS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE -DUSE_USB_HS -GenF103.menu.usb.CDCFS=CDC Full Speed -GenF103.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -GenF103.menu.usb.CDCHS=CDC High Speed -GenF103.menu.usb.CDCHS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DUSE_USB_HS +GenF1.menu.usb.none=None +GenF1.menu.usb.HIDFS=HID keyboard and mouse support Full Speed +GenF1.menu.usb.HIDFS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE +GenF1.menu.usb.HIDHS=HID keyboard and mouse support High Speed +GenF1.menu.usb.HIDHS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE -DUSE_USB_HS +GenF1.menu.usb.CDCFS=CDC Full Speed +GenF1.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC +GenF1.menu.usb.CDCHS=CDC High Speed +GenF1.menu.usb.CDCHS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DUSE_USB_HS GenF4.menu.usb.none=None GenF4.menu.usb.HIDFS=HID keyboard and mouse support Full Speed @@ -996,23 +996,23 @@ GenF0.menu.opt.o3lto.build.flags.optimize=-O3 -flto GenF0.menu.opt.ogstd=Debug (-g) GenF0.menu.opt.ogstd.build.flags.optimize=-g -Og -GenF103.menu.opt.osstd=Smallest (-Os default) -GenF103.menu.opt.oslto=Smallest (-Os) with LTO -GenF103.menu.opt.oslto.build.flags.optimize=-Os -flto -GenF103.menu.opt.o1std=Fast (-O1) -GenF103.menu.opt.o1std.build.flags.optimize=-O1 -GenF103.menu.opt.o1lto=Fast (-O1) with LTO -GenF103.menu.opt.o1lto.build.flags.optimize=-O1 -flto -GenF103.menu.opt.o2std=Faster (-O2) -GenF103.menu.opt.o2std.build.flags.optimize=-O2 -GenF103.menu.opt.o2lto=Faster (-O2) with LTO -GenF103.menu.opt.o2lto.build.flags.optimize=-O2 -flto -GenF103.menu.opt.o3std=Fastest (-O3) -GenF103.menu.opt.o3std.build.flags.optimize=-O3 -GenF103.menu.opt.o3lto=Fastest (-O3) with LTO -GenF103.menu.opt.o3lto.build.flags.optimize=-O3 -flto -GenF103.menu.opt.ogstd=Debug (-g) -GenF103.menu.opt.ogstd.build.flags.optimize=-g -Og +GenF1.menu.opt.osstd=Smallest (-Os default) +GenF1.menu.opt.oslto=Smallest (-Os) with LTO +GenF1.menu.opt.oslto.build.flags.optimize=-Os -flto +GenF1.menu.opt.o1std=Fast (-O1) +GenF1.menu.opt.o1std.build.flags.optimize=-O1 +GenF1.menu.opt.o1lto=Fast (-O1) with LTO +GenF1.menu.opt.o1lto.build.flags.optimize=-O1 -flto +GenF1.menu.opt.o2std=Faster (-O2) +GenF1.menu.opt.o2std.build.flags.optimize=-O2 +GenF1.menu.opt.o2lto=Faster (-O2) with LTO +GenF1.menu.opt.o2lto.build.flags.optimize=-O2 -flto +GenF1.menu.opt.o3std=Fastest (-O3) +GenF1.menu.opt.o3std.build.flags.optimize=-O3 +GenF1.menu.opt.o3lto=Fastest (-O3) with LTO +GenF1.menu.opt.o3lto.build.flags.optimize=-O3 -flto +GenF1.menu.opt.ogstd=Debug (-g) +GenF1.menu.opt.ogstd.build.flags.optimize=-g -Og GenF4.menu.opt.osstd=Smallest (-Os default) GenF4.menu.opt.osstd.build.flags.optimize=-Os @@ -1138,15 +1138,15 @@ GenF0.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float GenF0.menu.rtlib.full=Newlib Standard GenF0.menu.rtlib.full.build.flags.ldspecs= -GenF103.menu.rtlib.nano=Newlib Nano (default) -GenF103.menu.rtlib.nanofp=Newlib Nano + Float Printf -GenF103.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float -GenF103.menu.rtlib.nanofs=Newlib Nano + Float Scanf -GenF103.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float -GenF103.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf -GenF103.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float -GenF103.menu.rtlib.full=Newlib Standard -GenF103.menu.rtlib.full.build.flags.ldspecs= +GenF1.menu.rtlib.nano=Newlib Nano (default) +GenF1.menu.rtlib.nanofp=Newlib Nano + Float Printf +GenF1.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float +GenF1.menu.rtlib.nanofs=Newlib Nano + Float Scanf +GenF1.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float +GenF1.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf +GenF1.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float +GenF1.menu.rtlib.full=Newlib Standard +GenF1.menu.rtlib.full.build.flags.ldspecs= GenF4.menu.rtlib.nano=Newlib Nano (default) GenF4.menu.rtlib.nanofp=Newlib Nano + Float Printf From 7a92c6dfdf733571f228b172752a82c062a760e2 Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 14:43:29 +0100 Subject: [PATCH 09/13] [GenF1] Factorize boards definition Signed-off-by: Frederic.Pillon --- boards.txt | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/boards.txt b/boards.txt index cf152ed43d..4b848c59a1 100644 --- a/boards.txt +++ b/boards.txt @@ -522,18 +522,18 @@ GenF1.name=Generic STM32F1 series GenF1.build.vid=0x0483 GenF1.build.core=arduino GenF1.build.board=GenF1 +GenF1.build.mcu=cortex-m3 +GenF1.build.series=STM32F1xx +GenF1.build.cmsis_lib_gcc=arm_cortexM3l_math GenF1.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} # BLUEPILL_F103C8 board # Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) GenF1.menu.pnum.BLUEPILL_F103C8=BluePill F103C8 GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480 -GenF1.menu.pnum.BLUEPILL_F103C8.build.mcu=cortex-m3 GenF1.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8 -GenF1.menu.pnum.BLUEPILL_F103C8.build.series=STM32F1xx GenF1.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB GenF1.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 -GenF1.menu.pnum.BLUEPILL_F103C8.build.cmsis_lib_gcc=arm_cortexM3l_math GenF1.menu.flash.C8=64k (default) GenF1.menu.flash.C8.upload.maximum_size=65536 From 75d85d2e83dd5e665930e498053b1ff8f2b38045 Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 14:39:58 +0100 Subject: [PATCH 10/13] [GenF1] Fix Flash Memory Size management Signed-off-by: Frederic.Pillon --- boards.txt | 13 +- variants/BLUEPILL_F103C8/ldscript.ld | 8 +- variants/BLUEPILL_F103C8/ldscript_cb.ld | 188 ------------------------ 3 files changed, 11 insertions(+), 198 deletions(-) delete mode 100644 variants/BLUEPILL_F103C8/ldscript_cb.ld diff --git a/boards.txt b/boards.txt index 4b848c59a1..5984330147 100644 --- a/boards.txt +++ b/boards.txt @@ -530,17 +530,18 @@ GenF1.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial # BLUEPILL_F103C8 board # Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) GenF1.menu.pnum.BLUEPILL_F103C8=BluePill F103C8 +GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_size=65536 GenF1.menu.pnum.BLUEPILL_F103C8.upload.maximum_data_size=20480 GenF1.menu.pnum.BLUEPILL_F103C8.build.board=BLUEPILL_F103C8 GenF1.menu.pnum.BLUEPILL_F103C8.build.product_line=STM32F103xB GenF1.menu.pnum.BLUEPILL_F103C8.build.variant=BLUEPILL_F103C8 -GenF1.menu.flash.C8=64k (default) -GenF1.menu.flash.C8.upload.maximum_size=65536 -GenF1.menu.flash.C8.build.ldscript=ldscript.ld -GenF1.menu.flash.CB=128k -GenF1.menu.flash.CB.upload.maximum_size=131072 -GenF1.menu.flash.CB.build.ldscript=ldscript_cb.ld +GenF1.menu.pnum.BLUEPILL_F103C8B=BluePill F103C8 (128k) +GenF1.menu.pnum.BLUEPILL_F103C8B.upload.maximum_size=131072 +GenF1.menu.pnum.BLUEPILL_F103C8B.upload.maximum_data_size=20480 +GenF1.menu.pnum.BLUEPILL_F103C8B.build.board=BLUEPILL_F103C8 +GenF1.menu.pnum.BLUEPILL_F103C8B.build.product_line=STM32F103xB +GenF1.menu.pnum.BLUEPILL_F103C8B.build.variant=BLUEPILL_F103C8 # Upload menu GenF1.menu.upload_method.STLinkMethod=STLink diff --git a/variants/BLUEPILL_F103C8/ldscript.ld b/variants/BLUEPILL_F103C8/ldscript.ld index 30637e994a..fb1183a93f 100644 --- a/variants/BLUEPILL_F103C8/ldscript.ld +++ b/variants/BLUEPILL_F103C8/ldscript.ld @@ -2,10 +2,10 @@ ***************************************************************************** ** -** File : LinkerScript.ld +** File : ldscript.ld ** -** Abstract : Linker script for STM32F103C8Tx Device with -** 64KByte FLASH, 20KByte RAM +** Abstract : Linker script for STM32F103C(8-B)Tx Device with +** 64/128KByte FLASH, 20KByte RAM ** ** Set heap size, stack size and stack location according ** to application requirements. @@ -61,7 +61,7 @@ _Min_Stack_Size = 0x400; /* required amount of stack */ MEMORY { RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K -FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 64K +FLASH (rx) : ORIGIN = 0x8000000, LENGTH = LD_MAX_SIZE } /* Define output sections */ diff --git a/variants/BLUEPILL_F103C8/ldscript_cb.ld b/variants/BLUEPILL_F103C8/ldscript_cb.ld deleted file mode 100644 index d4a426334c..0000000000 --- a/variants/BLUEPILL_F103C8/ldscript_cb.ld +++ /dev/null @@ -1,188 +0,0 @@ -/* -***************************************************************************** -** - -** File : LinkerScript.ld -** -** Abstract : Linker script for STM32F103CBTx Device with -** 128KByte FLASH, 20KByte RAM -** -** 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) 2014 Ac6

-** -** 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 Ac6 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 = 0x20005000; /* end of RAM */ -/* Generate a link error if heap and stack don't fit into RAM */ -_Min_Heap_Size = 0x200; /* required amount of heap */ -_Min_Stack_Size = 0x400; /* required amount of stack */ - -/* Specify the memory areas */ -MEMORY -{ -RAM (xrw) : ORIGIN = 0x20000000, LENGTH = 20K -FLASH (rx) : ORIGIN = 0x8000000, LENGTH = 128K -} - -/* Define output sections */ -SECTIONS -{ - /* The startup code goes first into FLASH */ - .isr_vector : - { - . = ALIGN(4); - KEEP(*(.isr_vector)) /* Startup code */ - . = ALIGN(4); - } >FLASH - - /* The program code and other data goes into FLASH */ - .text ALIGN(4): - { - . = 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 goes into FLASH */ - .rodata : - { - . = ALIGN(4); - *(.rodata) /* .rodata sections (constants, strings, etc.) */ - *(.rodata*) /* .rodata* sections (constants, strings, etc.) */ - . = ALIGN(4); - } >FLASH - - .ARM.extab : { *(.ARM.extab* .gnu.linkonce.armextab.*) } >FLASH - .ARM : { - __exidx_start = .; - *(.ARM.exidx*) - __exidx_end = .; - } >FLASH - - .preinit_array : - { - PROVIDE_HIDDEN (__preinit_array_start = .); - KEEP (*(.preinit_array*)) - PROVIDE_HIDDEN (__preinit_array_end = .); - } >FLASH - .init_array : - { - PROVIDE_HIDDEN (__init_array_start = .); - KEEP (*(SORT(.init_array.*))) - KEEP (*(.init_array*)) - PROVIDE_HIDDEN (__init_array_end = .); - } >FLASH - .fini_array : - { - PROVIDE_HIDDEN (__fini_array_start = .); - KEEP (*(SORT(.fini_array.*))) - KEEP (*(.fini_array*)) - PROVIDE_HIDDEN (__fini_array_end = .); - } >FLASH - - /* used by the startup to initialize data */ - _sidata = LOADADDR(.data); - - /* Initialized data sections goes into RAM, load LMA copy after code */ - .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 AT> FLASH - - - /* Uninitialized data section */ - . = 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 - - /* User_heap_stack section, used to check that there is enough RAM left */ - ._user_heap_stack : - { - . = ALIGN(8); - PROVIDE ( end = . ); - PROVIDE ( _end = . ); - . = . + _Min_Heap_Size; - . = . + _Min_Stack_Size; - . = ALIGN(8); - } >RAM - - - - /* Remove information from the standard libraries */ - /DISCARD/ : - { - libc.a ( * ) - libm.a ( * ) - libgcc.a ( * ) - } - - .ARM.attributes 0 : { *(.ARM.attributes) } -} - - From a9b959ddd375cf069834a714d215cce90981d420 Mon Sep 17 00:00:00 2001 From: "Frederic.Pillon" Date: Fri, 25 Jan 2019 17:03:35 +0100 Subject: [PATCH 11/13] [GenF1] Move Maple to Generic STM32F1 series Signed-off-by: Frederic.Pillon --- boards.txt | 83 ++++++------------------------------------------------ 1 file changed, 9 insertions(+), 74 deletions(-) diff --git a/boards.txt b/boards.txt index 5984330147..752ce38291 100644 --- a/boards.txt +++ b/boards.txt @@ -543,6 +543,15 @@ GenF1.menu.pnum.BLUEPILL_F103C8B.build.board=BLUEPILL_F103C8 GenF1.menu.pnum.BLUEPILL_F103C8B.build.product_line=STM32F103xB GenF1.menu.pnum.BLUEPILL_F103C8B.build.variant=BLUEPILL_F103C8 +# MAPLEMINI_F103CB board +# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) +GenF1.menu.pnum.MAPLEMINI_F103CB=Maple Mini F103CB +GenF1.menu.pnum.MAPLEMINI_F103CB.upload.maximum_size=131072 +GenF1.menu.pnum.MAPLEMINI_F103CB.upload.maximum_data_size=20480 +GenF1.menu.pnum.MAPLEMINI_F103CB.build.board=MAPLEMINI_F103CB +GenF1.menu.pnum.MAPLEMINI_F103CB.build.product_line=STM32F103xB +GenF1.menu.pnum.MAPLEMINI_F103CB.build.variant=MAPLEMINI_F103CB + # Upload menu GenF1.menu.upload_method.STLinkMethod=STLink GenF1.menu.upload_method.STLinkMethod.upload.protocol=STLink @@ -642,36 +651,6 @@ GenF4.menu.upload_method.bmpMethod=BMP (Black Magic Probe) GenF4.menu.upload_method.bmpMethod.upload.protocol=gdb_bmp GenF4.menu.upload_method.bmpMethod.upload.tool=bmp_upload -############################### -# Maple -Maple.name=Maple series - -Maple.build.vid=0x0483 -Maple.build.core=arduino -Maple.build.board=Maple -Maple.build.extra_flags=-D{build.product_line} {build.enable_usb} {build.xSerial} - -# MAPLEMINI_F103CB board -# Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) -Maple.menu.pnum.MAPLEMINI_F103CB=Maple Mini F103CB -Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_size=131072 -Maple.menu.pnum.MAPLEMINI_F103CB.upload.maximum_data_size=20480 -Maple.menu.pnum.MAPLEMINI_F103CB.build.mcu=cortex-m3 -Maple.menu.pnum.MAPLEMINI_F103CB.build.board=MAPLEMINI_F103CB -Maple.menu.pnum.MAPLEMINI_F103CB.build.series=STM32F1xx -Maple.menu.pnum.MAPLEMINI_F103CB.build.product_line=STM32F103xB -Maple.menu.pnum.MAPLEMINI_F103CB.build.variant=MAPLEMINI_F103CB -Maple.menu.pnum.MAPLEMINI_F103CB.build.cmsis_lib_gcc=arm_cortexM3l_math - -# Upload menu -Maple.menu.upload_method.STLinkMethod=STLink -Maple.menu.upload_method.STLinkMethod.upload.protocol=STLink -Maple.menu.upload_method.STLinkMethod.upload.tool=stlink_upload - -Maple.menu.upload_method.serialMethod=Serial -Maple.menu.upload_method.serialMethod.upload.protocol=maple_serial -Maple.menu.upload_method.serialMethod.upload.tool=serial_upload - ################################################################################ # RAK boards @@ -809,12 +788,6 @@ GenF4.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE GenF4.menu.xserial.disabled=Disabled (No Serial) GenF4.menu.xserial.disabled.build.xSerial= -Maple.menu.xserial.generic=Enabled with generic Serial -Maple.menu.xserial.none=Enabled without generic Serial -Maple.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE -Maple.menu.xserial.disabled=Disabled (No Serial) -Maple.menu.xserial.disabled.build.xSerial= - RAK.menu.xserial.generic=Enabled with generic Serial RAK.menu.xserial.none=Enabled without generic Serial RAK.menu.xserial.none.build.xSerial=-DHAL_UART_MODULE_ENABLED -DHWSERIAL_NONE @@ -890,16 +863,6 @@ GenF4.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC GenF4.menu.usb.CDCHS=CDC High Speed GenF4.menu.usb.CDCHS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DUSE_USB_HS -Maple.menu.usb.none=None -Maple.menu.usb.HIDFS=HID keyboard and mouse support Full Speed -Maple.menu.usb.HIDFS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE -Maple.menu.usb.HIDHS=HID keyboard and mouse support High Speed -Maple.menu.usb.HIDHS.build.enable_usb={build.usb_flags} -DUSBD_USE_HID_COMPOSITE -DUSE_USB_HS -Maple.menu.usb.CDCFS=CDC Full Speed -Maple.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -Maple.menu.usb.CDCHS=CDC High Speed -Maple.menu.usb.CDCHS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC -DUSE_USB_HS - 3dprinter.menu.usb.none=None 3dprinter.menu.usb.CDCFS=CDC Full Speed 3dprinter.menu.usb.CDCFS.build.enable_usb={build.usb_flags} -DUSBD_USE_CDC @@ -1034,24 +997,6 @@ GenF4.menu.opt.o3lto.build.flags.optimize=-O3 -flto GenF4.menu.opt.ogstd=Debug (-g) GenF4.menu.opt.ogstd.build.flags.optimize=-g -Og -Maple.menu.opt.osstd=Smallest (-Os default) -Maple.menu.opt.oslto=Smallest (-Os) with LTO -Maple.menu.opt.oslto.build.flags.optimize=-Os -flto -Maple.menu.opt.o1std=Fast (-O1) -Maple.menu.opt.o1std.build.flags.optimize=-O1 -Maple.menu.opt.o1lto=Fast (-O1) with LTO -Maple.menu.opt.o1lto.build.flags.optimize=-O1 -flto -Maple.menu.opt.o2std=Faster (-O2) -Maple.menu.opt.o2std.build.flags.optimize=-O2 -Maple.menu.opt.o2lto=Faster (-O2) with LTO -Maple.menu.opt.o2lto.build.flags.optimize=-O2 -flto -Maple.menu.opt.o3std=Fastest (-O3) -Maple.menu.opt.o3std.build.flags.optimize=-O3 -Maple.menu.opt.o3lto=Fastest (-O3) with LTO -Maple.menu.opt.o3lto.build.flags.optimize=-O3 -flto -Maple.menu.opt.ogstd=Debug (-g) -Maple.menu.opt.ogstd.build.flags.optimize=-g -Og - RAK.menu.opt.osstd=Smallest (-Os default) RAK.menu.opt.oslto=Smallest (-Os) with LTO RAK.menu.opt.oslto.build.flags.optimize=-Os -flto @@ -1159,16 +1104,6 @@ GenF4.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float GenF4.menu.rtlib.full=Newlib Standard GenF4.menu.rtlib.full.build.flags.ldspecs= -Maple.menu.rtlib.nano=Newlib Nano (default) -Maple.menu.rtlib.nanofp=Newlib Nano + Float Printf -Maple.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float -Maple.menu.rtlib.nanofs=Newlib Nano + Float Scanf -Maple.menu.rtlib.nanofs.build.flags.ldspecs=--specs=nano.specs -u _scanf_float -Maple.menu.rtlib.nanofps=Newlib Nano + Float Printf/Scanf -Maple.menu.rtlib.nanofps.build.flags.ldspecs=--specs=nano.specs -u _printf_float -u _scanf_float -Maple.menu.rtlib.full=Newlib Standard -Maple.menu.rtlib.full.build.flags.ldspecs= - RAK.menu.rtlib.nano=Newlib Nano (default) RAK.menu.rtlib.nanofp=Newlib Nano + Float Printf RAK.menu.rtlib.nanofp.build.flags.ldspecs=--specs=nano.specs -u _printf_float From 30895698d8fa4a2b734fbb2419713d67c60915b7 Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Fri, 25 Jan 2019 18:26:58 +0000 Subject: [PATCH 12/13] rebase --- variants/BLUEPILL_F103C8/variant.cpp | 4 ++-- variants/BLUEPILL_F103C8/variant.h | 10 +++++++--- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/variants/BLUEPILL_F103C8/variant.cpp b/variants/BLUEPILL_F103C8/variant.cpp index 48c9fa6557..cfb8262271 100644 --- a/variants/BLUEPILL_F103C8/variant.cpp +++ b/variants/BLUEPILL_F103C8/variant.cpp @@ -53,9 +53,9 @@ const PinName digitalPin[] = { PB_15, //D13 PB_14, //D14 PB_13, //D15 - PB_12, //D16 + PB_12, //D16 - LED Blackpill /* Right side */ - PC_13, //D17 - LED + PC_13, //D17 - LED Bluepill PC_14, //D18 PC_15, //D19 PA_0, //D20/A0 diff --git a/variants/BLUEPILL_F103C8/variant.h b/variants/BLUEPILL_F103C8/variant.h index ed24c56705..af3d8ca493 100644 --- a/variants/BLUEPILL_F103C8/variant.h +++ b/variants/BLUEPILL_F103C8/variant.h @@ -44,7 +44,7 @@ extern "C"{ *----------------------------------------------------------------------------*/ extern const PinName digitalPin[]; -// USB connector on the top, MCU side +// Bluepill USB connector on the top, MCU side - Blackpill USB connector on bottom, MCU Side (pins are reversed vertically for Arduino Ananlog pin correct sequence. // Left Side #define PB9 0 #define PB8 1 @@ -62,9 +62,9 @@ extern const PinName digitalPin[]; #define PB15 13 #define PB14 14 #define PB13 15 -#define PB12 16 +#define PB12 16 // LED Blackpill // Right side -#define PC13 17 // LED +#define PC13 17 // LED Bluepill #define PC14 18 #define PC15 19 #define PA0 20 // A0 @@ -91,7 +91,11 @@ extern const PinName digitalPin[]; #define NUM_ANALOG_FIRST 20 // On-board LED pin number +#ifdef ARDUINO_BLUEPILL_F103C8 #define LED_BUILTIN PC13 +#else +#define LED_BUILTIN PB12 +#endif #define LED_GREEN LED_BUILTIN // SPI Definitions From dba718c0906e5a6007efb78d3b45beda228d1d0b Mon Sep 17 00:00:00 2001 From: BennehBoy Date: Fri, 25 Jan 2019 18:35:55 +0000 Subject: [PATCH 13/13] Fix merge error --- boards.txt | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/boards.txt b/boards.txt index 540a2c939a..711c279f80 100644 --- a/boards.txt +++ b/boards.txt @@ -545,17 +545,17 @@ GenF1.menu.pnum.BLUEPILL_F103C8B.build.variant=BLUEPILL_F103C8 # BLACKPILL_F103C8 board # Support: Serial2 (USART2 on PA3, PA2) and Serial3 (USART3 on PB11, PB10) -GenF1.menu.pnum.BLACKPILL_F103C8=BluePill F103C8 +GenF1.menu.pnum.BLACKPILL_F103C8=BlackPill F103C8 GenF1.menu.pnum.BLACKPILL_F103C8.upload.maximum_size=65536 GenF1.menu.pnum.BLACKPILL_F103C8.upload.maximum_data_size=20480 -GenF1.menu.pnum.BLACKPILL_F103C8.build.board=BLUEPILL_F103C8 +GenF1.menu.pnum.BLACKPILL_F103C8.build.board=BLACKPILL_F103C8 GenF1.menu.pnum.BLACKPILL_F103C8.build.product_line=STM32F103xB GenF1.menu.pnum.BLACKPILL_F103C8.build.variant=BLUEPILL_F103C8 -GenF1.menu.pnum.BLACKPILL_F103C8B=BluePill F103C8 (128k) +GenF1.menu.pnum.BLACKPILL_F103C8B=BlackPill F103C8 (128k) GenF1.menu.pnum.BLACKPILL_F103C8B.upload.maximum_size=131072 GenF1.menu.pnum.BLACKPILL_F103C8B.upload.maximum_data_size=20480 -GenF1.menu.pnum.BLACKPILL_F103C8B.build.board=BLUEPILL_F103C8 +GenF1.menu.pnum.BLACKPILL_F103C8B.build.board=BLACKPILL_F103C8 GenF1.menu.pnum.BLACKPILL_F103C8B.build.product_line=STM32F103xB GenF1.menu.pnum.BLACKPILL_F103C8B.build.variant=BLUEPILL_F103C8