diff --git a/src/platforms/f4discovery/Makefile.inc b/src/platforms/f4discovery/Makefile.inc index ae6b75a..cdcddac 100644 --- a/src/platforms/f4discovery/Makefile.inc +++ b/src/platforms/f4discovery/Makefile.inc @@ -8,12 +8,7 @@ CFLAGS += -Istm32/include -mcpu=cortex-m4 -mthumb \ -DSTM32F4 -I../libopencm3/include \ -Iplatforms/stm32 -ifeq ($(BLACKPILL), 1) -LINKER_SCRIPT=platforms/stm32/blackpillv2.ld -CFLAGS += -DBLACKPILL=1 -else LINKER_SCRIPT=platforms/stm32/f4discovery.ld -endif LDFLAGS_BOOT = -lopencm3_stm32f4 \ -Wl,-T,$(LINKER_SCRIPT) -nostartfiles -lc -lnosys \ diff --git a/src/platforms/f4discovery/Readme.md b/src/platforms/f4discovery/Readme.md index b7c15e4..f8f02ed 100644 --- a/src/platforms/f4discovery/Readme.md +++ b/src/platforms/f4discovery/Readme.md @@ -1,6 +1,6 @@ # Firmware BMP for STM32F407 DISCO boards -Kept for historical reasons to load BMP bootloader to the STM32F103 of the onboard STLINK or external STLINKs. As stlink-tool now allows to load BMP firmware via the original STLINK bootloader is no longer really needed. +Allows the use of the STM32F407 Discovery board main cpu as a Black Magic Probe. Historically it was used to program the on board built in debugger before ST-Link bootloader use was possible. ## Connections: @@ -12,35 +12,6 @@ PC6: TDO/TRACESWO
PC1: TRST
PC8: SRST
-# Alternate build for stm32f401 stm32f411 MiniF4 aka BlackPillV2 boards. - -https://github.com/WeActTC/MiniSTM32F4x1 - -## Connections: - -* JTAG/SWD - * PA1: TDI - * PA13: TMS/SWDIO - * PA14: TCK/SWCLK - * PB3: TDO/TRACESWO - * PB5: TRST - * PB4: SRST - -* USB USART - * PB6: USART1 TX (usbuart_xxx) - * PB7: USART1 RX (usbuart_xxx) - -* +3V3. - * PB8 - turn on IRLML5103 transistor - -How to Build -======================================== -``` -cd blackmagic -make clean -make PROBE_HOST=f4discovery BLACKPILL=1 -``` - How to Flash with dfu ======================================== * After build: diff --git a/src/platforms/f4discovery/platform.c b/src/platforms/f4discovery/platform.c index 4233f10..f0802f2 100644 --- a/src/platforms/f4discovery/platform.c +++ b/src/platforms/f4discovery/platform.c @@ -37,10 +37,6 @@ #include #include -#ifdef BLACKPILL -#include -#endif - jmp_buf fatal_error_jmpbuf; extern char _ebss[]; @@ -51,11 +47,8 @@ void platform_init(void) /* Enable GPIO peripherals */ rcc_periph_clock_enable(RCC_GPIOA); rcc_periph_clock_enable(RCC_GPIOC); -#ifdef BLACKPILL - rcc_periph_clock_enable(RCC_GPIOB); -#else rcc_periph_clock_enable(RCC_GPIOD); -#endif + /* Check the USER button*/ if (gpio_get(GPIOA, GPIO0) || ((magic[0] == BOOTMAGIC0) && (magic[1] == BOOTMAGIC1))) @@ -73,11 +66,7 @@ void platform_init(void) SYSCFG_MEMRM |= 1; scb_reset_core(); } -#ifdef BLACKPILL - rcc_clock_setup_pll(&rcc_hse_25mhz_3v3[RCC_CLOCK_3V3_84MHZ]); -#else rcc_clock_setup_pll(&rcc_hse_8mhz_3v3[RCC_CLOCK_3V3_168MHZ]); -#endif /* Enable peripherals */ rcc_periph_clock_enable(RCC_OTGFS); @@ -87,13 +76,8 @@ void platform_init(void) gpio_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO9 | GPIO11 | GPIO12); gpio_set_af(GPIOA, GPIO_AF10, GPIO9 | GPIO10 | GPIO11 | GPIO12); -#ifdef BLACKPILL - GPIOA_OSPEEDR &= 0x3C00000C; - GPIOA_OSPEEDR |= 0x28000008; -#else GPIOC_OSPEEDR &= ~0xF30; GPIOC_OSPEEDR |= 0xA20; -#endif gpio_mode_setup(JTAG_PORT, GPIO_MODE_OUTPUT, GPIO_PUPD_NONE, @@ -124,11 +108,6 @@ void platform_init(void) platform_timing_init(); usbuart_init(); cdcacm_init(); -#ifdef BLACKPILL - // https://github.com/libopencm3/libopencm3/pull/1256#issuecomment-779424001 - OTG_FS_GCCFG |= OTG_GCCFG_NOVBUSSENS | OTG_GCCFG_PWRDWN; - OTG_FS_GCCFG &= ~(OTG_GCCFG_VBUSBSEN | OTG_GCCFG_VBUSASEN); -#endif } void platform_srst_set_val(bool assert) { (void)assert; } diff --git a/src/platforms/f4discovery/platform.h b/src/platforms/f4discovery/platform.h index dbec221..ceb9aa7 100644 --- a/src/platforms/f4discovery/platform.h +++ b/src/platforms/f4discovery/platform.h @@ -31,75 +31,6 @@ #include #define PLATFORM_HAS_TRACESWO -#ifdef BLACKPILL -#define PLATFORM_IDENT "(F4Discovery/BlackPillV2) " -/* Important pin mappings for STM32 implementation: - * JTAG/SWD - * PA1: TDI
- * PA13: TMS/SWDIO
- * PA14: TCK/SWCLK
- * PB3: TDO/TRACESWO
- * PB5: TRST
- * PB4: SRST
- * USB USART - * PB6: USART1 TX - * PB7: USART1 RX - * +3V3 - * PB8 - turn on IRLML5103 transistor - * Force DFU mode button: PA0 - */ - -/* Hardware definitions... */ -#define JTAG_PORT GPIOA -#define TDI_PORT JTAG_PORT -#define TMS_PORT JTAG_PORT -#define TCK_PORT JTAG_PORT -#define TDO_PORT GPIOB -#define TDI_PIN GPIO1 -#define TMS_PIN GPIO13 -#define TCK_PIN GPIO14 -#define TDO_PIN GPIO3 - -#define SWDIO_PORT JTAG_PORT -#define SWCLK_PORT JTAG_PORT -#define SWDIO_PIN TMS_PIN -#define SWCLK_PIN TCK_PIN - -#define TRST_PORT GPIOB -#define TRST_PIN GPIO5 -#define SRST_PORT GPIOB -#define SRST_PIN GPIO4 - -#define PWR_BR_PORT GPIOB -#define PWR_BR_PIN GPIO8 - -#define LED_PORT GPIOC -#define LED_PORT_UART GPIOA -#define LED_UART GPIO1 -#define LED_IDLE_RUN GPIO15 -#define LED_ERROR GPIO14 -#define LED_BOOTLOADER GPIO13 - -#define USBUSART USART1 -#define USBUSART_CR1 USART1_CR1 -#define USBUSART_DR USART1_DR -#define USBUSART_IRQ NVIC_USART1_IRQ -#define USBUSART_CLK RCC_USART1 -#define USBUSART_PORT GPIOB -#define USBUSART_TX_PIN GPIO6 -#define USBUSART_RX_PIN GPIO7 -#define USBUSART_ISR(x) usart1_isr(x) -#define USBUSART_DMA_BUS DMA2 -#define USBUSART_DMA_CLK RCC_DMA2 -#define USBUSART_DMA_TX_CHAN DMA_STREAM7 -#define USBUSART_DMA_TX_IRQ NVIC_DMA2_STREAM7_IRQ -#define USBUSART_DMA_TX_ISR(x) dma2_stream7_isr(x) -#define USBUSART_DMA_RX_CHAN DMA_STREAM5 -#define USBUSART_DMA_RX_IRQ NVIC_DMA2_STREAM5_IRQ -#define USBUSART_DMA_RX_ISR(x) dma2_stream5_isr(x) -/* For STM32F4 DMA trigger source must be specified */ -#define USBUSART_DMA_TRG DMA_SxCR_CHSEL_4 -#else #define PLATFORM_IDENT "(F4Discovery) " /* Important pin mappings for STM32 implementation: @@ -167,7 +98,6 @@ #define USBUSART_DMA_RX_ISR(x) dma1_stream1_isr(x) /* For STM32F4 DMA trigger source must be specified */ #define USBUSART_DMA_TRG DMA_SxCR_CHSEL_4 -#endif #define BOOTMAGIC0 0xb007da7a #define BOOTMAGIC1 0xbaadfeed