Removed BlackPillV2 platform variant from the f4 discovery.
Combined platforms make it hard to do build testing, it is better to have duplicate code and be able test all variants.
This commit is contained in:
parent
2624960422
commit
fcdd93e008
|
@ -8,12 +8,7 @@ CFLAGS += -Istm32/include -mcpu=cortex-m4 -mthumb \
|
||||||
-DSTM32F4 -I../libopencm3/include \
|
-DSTM32F4 -I../libopencm3/include \
|
||||||
-Iplatforms/stm32
|
-Iplatforms/stm32
|
||||||
|
|
||||||
ifeq ($(BLACKPILL), 1)
|
|
||||||
LINKER_SCRIPT=platforms/stm32/blackpillv2.ld
|
|
||||||
CFLAGS += -DBLACKPILL=1
|
|
||||||
else
|
|
||||||
LINKER_SCRIPT=platforms/stm32/f4discovery.ld
|
LINKER_SCRIPT=platforms/stm32/f4discovery.ld
|
||||||
endif
|
|
||||||
|
|
||||||
LDFLAGS_BOOT = -lopencm3_stm32f4 \
|
LDFLAGS_BOOT = -lopencm3_stm32f4 \
|
||||||
-Wl,-T,$(LINKER_SCRIPT) -nostartfiles -lc -lnosys \
|
-Wl,-T,$(LINKER_SCRIPT) -nostartfiles -lc -lnosys \
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
# Firmware BMP for STM32F407 DISCO boards
|
# 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:
|
## Connections:
|
||||||
|
|
||||||
|
@ -12,35 +12,6 @@ PC6: TDO/TRACESWO<br>
|
||||||
PC1: TRST<br>
|
PC1: TRST<br>
|
||||||
PC8: SRST<br>
|
PC8: SRST<br>
|
||||||
|
|
||||||
# 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
|
How to Flash with dfu
|
||||||
========================================
|
========================================
|
||||||
* After build:
|
* After build:
|
||||||
|
|
|
@ -37,10 +37,6 @@
|
||||||
#include <libopencm3/cm3/systick.h>
|
#include <libopencm3/cm3/systick.h>
|
||||||
#include <libopencm3/cm3/cortex.h>
|
#include <libopencm3/cm3/cortex.h>
|
||||||
|
|
||||||
#ifdef BLACKPILL
|
|
||||||
#include <libopencm3/usb/dwc/otg_fs.h>
|
|
||||||
#endif
|
|
||||||
|
|
||||||
|
|
||||||
jmp_buf fatal_error_jmpbuf;
|
jmp_buf fatal_error_jmpbuf;
|
||||||
extern char _ebss[];
|
extern char _ebss[];
|
||||||
|
@ -51,11 +47,8 @@ void platform_init(void)
|
||||||
/* Enable GPIO peripherals */
|
/* Enable GPIO peripherals */
|
||||||
rcc_periph_clock_enable(RCC_GPIOA);
|
rcc_periph_clock_enable(RCC_GPIOA);
|
||||||
rcc_periph_clock_enable(RCC_GPIOC);
|
rcc_periph_clock_enable(RCC_GPIOC);
|
||||||
#ifdef BLACKPILL
|
|
||||||
rcc_periph_clock_enable(RCC_GPIOB);
|
|
||||||
#else
|
|
||||||
rcc_periph_clock_enable(RCC_GPIOD);
|
rcc_periph_clock_enable(RCC_GPIOD);
|
||||||
#endif
|
|
||||||
/* Check the USER button*/
|
/* Check the USER button*/
|
||||||
if (gpio_get(GPIOA, GPIO0) ||
|
if (gpio_get(GPIOA, GPIO0) ||
|
||||||
((magic[0] == BOOTMAGIC0) && (magic[1] == BOOTMAGIC1)))
|
((magic[0] == BOOTMAGIC0) && (magic[1] == BOOTMAGIC1)))
|
||||||
|
@ -73,11 +66,7 @@ void platform_init(void)
|
||||||
SYSCFG_MEMRM |= 1;
|
SYSCFG_MEMRM |= 1;
|
||||||
scb_reset_core();
|
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]);
|
rcc_clock_setup_pll(&rcc_hse_8mhz_3v3[RCC_CLOCK_3V3_168MHZ]);
|
||||||
#endif
|
|
||||||
|
|
||||||
/* Enable peripherals */
|
/* Enable peripherals */
|
||||||
rcc_periph_clock_enable(RCC_OTGFS);
|
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_mode_setup(GPIOA, GPIO_MODE_AF, GPIO_PUPD_NONE, GPIO9 | GPIO11 | GPIO12);
|
||||||
gpio_set_af(GPIOA, GPIO_AF10, GPIO9 | GPIO10 | 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 &= ~0xF30;
|
||||||
GPIOC_OSPEEDR |= 0xA20;
|
GPIOC_OSPEEDR |= 0xA20;
|
||||||
#endif
|
|
||||||
|
|
||||||
gpio_mode_setup(JTAG_PORT, GPIO_MODE_OUTPUT,
|
gpio_mode_setup(JTAG_PORT, GPIO_MODE_OUTPUT,
|
||||||
GPIO_PUPD_NONE,
|
GPIO_PUPD_NONE,
|
||||||
|
@ -124,11 +108,6 @@ void platform_init(void)
|
||||||
platform_timing_init();
|
platform_timing_init();
|
||||||
usbuart_init();
|
usbuart_init();
|
||||||
cdcacm_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; }
|
void platform_srst_set_val(bool assert) { (void)assert; }
|
||||||
|
|
|
@ -31,75 +31,6 @@
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
|
|
||||||
#define PLATFORM_HAS_TRACESWO
|
#define PLATFORM_HAS_TRACESWO
|
||||||
#ifdef BLACKPILL
|
|
||||||
#define PLATFORM_IDENT "(F4Discovery/BlackPillV2) "
|
|
||||||
/* Important pin mappings for STM32 implementation:
|
|
||||||
* JTAG/SWD
|
|
||||||
* PA1: TDI<br>
|
|
||||||
* PA13: TMS/SWDIO<br>
|
|
||||||
* PA14: TCK/SWCLK<br>
|
|
||||||
* PB3: TDO/TRACESWO<br>
|
|
||||||
* PB5: TRST<br>
|
|
||||||
* PB4: SRST<br>
|
|
||||||
* 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) "
|
#define PLATFORM_IDENT "(F4Discovery) "
|
||||||
|
|
||||||
/* Important pin mappings for STM32 implementation:
|
/* Important pin mappings for STM32 implementation:
|
||||||
|
@ -167,7 +98,6 @@
|
||||||
#define USBUSART_DMA_RX_ISR(x) dma1_stream1_isr(x)
|
#define USBUSART_DMA_RX_ISR(x) dma1_stream1_isr(x)
|
||||||
/* For STM32F4 DMA trigger source must be specified */
|
/* For STM32F4 DMA trigger source must be specified */
|
||||||
#define USBUSART_DMA_TRG DMA_SxCR_CHSEL_4
|
#define USBUSART_DMA_TRG DMA_SxCR_CHSEL_4
|
||||||
#endif
|
|
||||||
|
|
||||||
#define BOOTMAGIC0 0xb007da7a
|
#define BOOTMAGIC0 0xb007da7a
|
||||||
#define BOOTMAGIC1 0xbaadfeed
|
#define BOOTMAGIC1 0xbaadfeed
|
||||||
|
|
Loading…
Reference in New Issue