Merge commit '98b4ec58bc566591943c9123dd4ca0c8dcfd521e' into sam-update
# Conflicts: # libopencm3
This commit is contained in:
commit
336797363b
@ -1 +1 @@
|
|||||||
Subproject commit 6232f8d0357055021e18325efa083a88ded30107
|
Subproject commit 63398ff8000f88aed1e44fc8714c6f907c6c3982
|
@ -2,7 +2,7 @@
|
|||||||
#
|
#
|
||||||
# stm32_mem.py: STM32 memory access using USB DFU class
|
# stm32_mem.py: STM32 memory access using USB DFU class
|
||||||
# Copyright (C) 2011 Black Sphere Technologies
|
# Copyright (C) 2011 Black Sphere Technologies
|
||||||
# Copyright (C) 2017 Uwe Bonnes (bon@elektron.ikp.physik.tu-darmstadt.de)
|
# Copyright (C) 2017, 2020 Uwe Bonnes (bon@elektron.ikp.physik.tu-darmstadt.de)
|
||||||
# Written by Gareth McMullin <gareth@blacksphere.co.nz>
|
# Written by Gareth McMullin <gareth@blacksphere.co.nz>
|
||||||
#
|
#
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
@ -121,9 +121,9 @@ def stm32_scan(args, test):
|
|||||||
print("Found multiple devices:\n")
|
print("Found multiple devices:\n")
|
||||||
for dev in bmp_devs:
|
for dev in bmp_devs:
|
||||||
dfudev = dfu.dfu_device(*dev)
|
dfudev = dfu.dfu_device(*dev)
|
||||||
man = dfudev.handle.getString(dfudev.dev.iManufacturer, 30)
|
man = dfudev.handle.getString(dfudev.dev.iManufacturer, 30).decode('utf8')
|
||||||
product = dfudev.handle.getString(dfudev.dev.iProduct, 96)
|
product = dfudev.handle.getString(dfudev.dev.iProduct, 96).decode('utf8')
|
||||||
serial_no = dfudev.handle.getString(dfudev.dev.iSerialNumber, 30)
|
serial_no = dfudev.handle.getString(dfudev.dev.iSerialNumber, 30).decode('utf8')
|
||||||
print("Device ID:\t %04x:%04x" % (dfudev.dev.idVendor, dfudev.dev.idProduct))
|
print("Device ID:\t %04x:%04x" % (dfudev.dev.idVendor, dfudev.dev.idProduct))
|
||||||
print("Manufacturer:\t %s" % man)
|
print("Manufacturer:\t %s" % man)
|
||||||
print("Product:\t %s" % product)
|
print("Product:\t %s" % product)
|
||||||
@ -134,9 +134,9 @@ def stm32_scan(args, test):
|
|||||||
|
|
||||||
for dev in bmp_devs:
|
for dev in bmp_devs:
|
||||||
dfudev = dfu.dfu_device(*dev)
|
dfudev = dfu.dfu_device(*dev)
|
||||||
man = dfudev.handle.getString(dfudev.dev.iManufacturer, 30)
|
man = dfudev.handle.getString(dfudev.dev.iManufacturer, 30).decode('utf8')
|
||||||
product = dfudev.handle.getString(dfudev.dev.iProduct, 96)
|
product = dfudev.handle.getString(dfudev.dev.iProduct, 96).decode('utf8')
|
||||||
serial_no = dfudev.handle.getString(dfudev.dev.iSerialNumber, 30)
|
serial_no = dfudev.handle.getString(dfudev.dev.iSerialNumber, 30).decode('utf8')
|
||||||
if args.serial_target:
|
if args.serial_target:
|
||||||
if man == "Black Sphere Technologies" and serial_no == args.serial_target:
|
if man == "Black Sphere Technologies" and serial_no == args.serial_target:
|
||||||
break
|
break
|
||||||
@ -150,7 +150,7 @@ def stm32_scan(args, test):
|
|||||||
print("Serial:\t\t %s" % serial_no)
|
print("Serial:\t\t %s" % serial_no)
|
||||||
|
|
||||||
if args.serial_target and serial_no != args.serial_target:
|
if args.serial_target and serial_no != args.serial_target:
|
||||||
print("Serial number doesn't match!\n")
|
print("Serial number doesn't match %s vs %s!\n" % (serial_no, args.serial_target))
|
||||||
exit(-2)
|
exit(-2)
|
||||||
|
|
||||||
return dfudev
|
return dfudev
|
||||||
@ -203,11 +203,11 @@ if __name__ == "__main__":
|
|||||||
|
|
||||||
bin = file.read()
|
bin = file.read()
|
||||||
|
|
||||||
product = dfudev.handle.getString(dfudev.dev.iProduct, 64)
|
product = dfudev.handle.getString(dfudev.dev.iProduct, 64).decode('utf8')
|
||||||
if args.address :
|
if args.address :
|
||||||
start = int(args.address, 0)
|
start = int(args.address, 0)
|
||||||
else :
|
else :
|
||||||
if b"F4" in product:
|
if "F4" in product or "STLINK-V3" in product:
|
||||||
start = 0x8004000
|
start = 0x8004000
|
||||||
else:
|
else:
|
||||||
start = 0x8002000
|
start = 0x8002000
|
||||||
|
@ -149,16 +149,18 @@ int command_process(target *t, char *cmd)
|
|||||||
return target_command(t, argc, argv);
|
return target_command(t, argc, argv);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define BOARD_IDENT "Black Magic Probe" PLATFORM_IDENT FIRMWARE_VERSION
|
||||||
|
|
||||||
bool cmd_version(target *t, int argc, char **argv)
|
bool cmd_version(target *t, int argc, char **argv)
|
||||||
{
|
{
|
||||||
(void)t;
|
(void)t;
|
||||||
(void)argc;
|
(void)argc;
|
||||||
(void)argv;
|
(void)argv;
|
||||||
|
gdb_out(BOARD_IDENT);
|
||||||
#if PC_HOSTED == 1
|
#if PC_HOSTED == 1
|
||||||
gdb_outf("Black Magic Probe, PC-Hosted for " PLATFORM_IDENT()
|
gdb_outf("\n for %s, %s\n", info.manufacturer, info.product);
|
||||||
", Version " FIRMWARE_VERSION "\n");
|
|
||||||
#else
|
#else
|
||||||
gdb_outf("Black Magic Probe (Firmware " FIRMWARE_VERSION ") (Hardware Version %d)\n", platform_hwversion());
|
gdb_outf(", Hardware Version %d\n", platform_hwversion());
|
||||||
#endif
|
#endif
|
||||||
gdb_out("Copyright (C) 2015 Black Sphere Technologies Ltd.\n");
|
gdb_out("Copyright (C) 2015 Black Sphere Technologies Ltd.\n");
|
||||||
gdb_out("License GPLv3+: GNU GPL version 3 or later "
|
gdb_out("License GPLv3+: GNU GPL version 3 or later "
|
||||||
|
@ -34,6 +34,7 @@
|
|||||||
#endif
|
#endif
|
||||||
#include "usbuart.h"
|
#include "usbuart.h"
|
||||||
#include "serialno.h"
|
#include "serialno.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
#include <libopencm3/cm3/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
@ -394,12 +395,15 @@ static const struct usb_config_descriptor config = {
|
|||||||
.interface = ifaces,
|
.interface = ifaces,
|
||||||
};
|
};
|
||||||
|
|
||||||
#if defined(STM32L0) || defined(STM32F3) || defined(STM32F4)
|
#if defined(DUSE_ST_SERIAL)
|
||||||
static char serial_no[13];
|
char serial_no[13];
|
||||||
#else
|
#else
|
||||||
static char serial_no[9];
|
static char serial_no[9];
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#define BOARD_IDENT "Black Magic Probe" PLATFORM_IDENT FIRMWARE_VERSION
|
||||||
|
#define DFU_IDENT "Black Magic Firmware Upgrade" PLATFORM_IDENT FIRMWARE_VERSION
|
||||||
|
|
||||||
static const char *usb_strings[] = {
|
static const char *usb_strings[] = {
|
||||||
"Black Sphere Technologies",
|
"Black Sphere Technologies",
|
||||||
BOARD_IDENT,
|
BOARD_IDENT,
|
||||||
|
@ -17,9 +17,9 @@ LDFLAGS_BOOT = -lopencm3_stm32f4 \
|
|||||||
ifeq ($(BMP_BOOTLOADER), 1)
|
ifeq ($(BMP_BOOTLOADER), 1)
|
||||||
$(info Load address 0x08004000 for BMPBootloader)
|
$(info Load address 0x08004000 for BMPBootloader)
|
||||||
LDFLAGS = $(LDFLAGS_BOOT) -Wl,-Ttext=0x8004000
|
LDFLAGS = $(LDFLAGS_BOOT) -Wl,-Ttext=0x8004000
|
||||||
CFLAGS += -DUSE_BMP_SERIAL
|
|
||||||
else
|
else
|
||||||
LDFLAGS = $(LDFLAGS_BOOT)
|
LDFLAGS += $(LDFLAGS_BOOT)
|
||||||
|
CFLAGS += -DUSE_ST_SERIAL
|
||||||
endif
|
endif
|
||||||
|
|
||||||
VPATH += platforms/stm32
|
VPATH += platforms/stm32
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include "usbuart.h"
|
#include "usbuart.h"
|
||||||
#include "morse.h"
|
#include "morse.h"
|
||||||
|
|
||||||
#include <libopencm3/stm32/f4/rcc.h>
|
#include <libopencm3/stm32/rcc.h>
|
||||||
#include <libopencm3/cm3/scb.h>
|
#include <libopencm3/cm3/scb.h>
|
||||||
#include <libopencm3/cm3/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
@ -27,14 +27,11 @@
|
|||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "timing_stm32.h"
|
#include "timing_stm32.h"
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
|
|
||||||
#define PLATFORM_HAS_TRACESWO
|
#define PLATFORM_HAS_TRACESWO
|
||||||
#define BOARD_IDENT "Black Magic Probe (F4Discovery), (Firmware " FIRMWARE_VERSION ")"
|
#define PLATFORM_IDENT "(F4Discovery) "
|
||||||
#define BOARD_IDENT_DFU "Black Magic Firmware Upgrade (F4Discovery)"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade (F4Discovery)"
|
|
||||||
|
|
||||||
/* Important pin mappings for STM32 implementation:
|
/* Important pin mappings for STM32 implementation:
|
||||||
*
|
*
|
||||||
|
@ -20,7 +20,6 @@
|
|||||||
*/
|
*/
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
#include "gdb_if.h"
|
#include "gdb_if.h"
|
||||||
#include "version.h"
|
|
||||||
#include "platform.h"
|
#include "platform.h"
|
||||||
#include "target.h"
|
#include "target.h"
|
||||||
|
|
||||||
|
@ -38,6 +38,7 @@
|
|||||||
/* Only two devices PIDS tested so long */
|
/* Only two devices PIDS tested so long */
|
||||||
#define USB_VID_SEGGER_0101 0x0101
|
#define USB_VID_SEGGER_0101 0x0101
|
||||||
#define USB_VID_SEGGER_0105 0x0105
|
#define USB_VID_SEGGER_0105 0x0105
|
||||||
|
#define USB_VID_SEGGER_1020 0x1020
|
||||||
|
|
||||||
static void jlink_print_caps(bmp_info_t *info)
|
static void jlink_print_caps(bmp_info_t *info)
|
||||||
{
|
{
|
||||||
@ -175,7 +176,8 @@ int jlink_init(bmp_info_t *info)
|
|||||||
if (desc.idVendor != USB_PID_SEGGER)
|
if (desc.idVendor != USB_PID_SEGGER)
|
||||||
continue;
|
continue;
|
||||||
if ((desc.idProduct != USB_VID_SEGGER_0101) &&
|
if ((desc.idProduct != USB_VID_SEGGER_0101) &&
|
||||||
(desc.idProduct != USB_VID_SEGGER_0105))
|
(desc.idProduct != USB_VID_SEGGER_0105) &&
|
||||||
|
(desc.idProduct != USB_VID_SEGGER_1020))
|
||||||
continue;
|
continue;
|
||||||
int res = libusb_open(dev, &jl->ul_libusb_device_handle);
|
int res = libusb_open(dev, &jl->ul_libusb_device_handle);
|
||||||
if (res != LIBUSB_SUCCESS)
|
if (res != LIBUSB_SUCCESS)
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
char *platform_ident(void);
|
char *platform_ident(void);
|
||||||
void platform_buffer_flush(void);
|
void platform_buffer_flush(void);
|
||||||
|
|
||||||
#define PLATFORM_IDENT() "NONE"
|
#define PLATFORM_IDENT "(PC-Hosted) "
|
||||||
#define SET_IDLE_STATE(x)
|
#define SET_IDLE_STATE(x)
|
||||||
#define SET_RUN_STATE(x)
|
#define SET_RUN_STATE(x)
|
||||||
|
|
||||||
|
@ -5,7 +5,7 @@ OBJCOPY = $(CROSS_COMPILE)objcopy
|
|||||||
CFLAGS += -Istm32/include -mcpu=cortex-m4 -mthumb \
|
CFLAGS += -Istm32/include -mcpu=cortex-m4 -mthumb \
|
||||||
-mfloat-abi=hard -mfpu=fpv4-sp-d16 \
|
-mfloat-abi=hard -mfpu=fpv4-sp-d16 \
|
||||||
-DSTM32F4 -DHYDRABUS -I../libopencm3/include \
|
-DSTM32F4 -DHYDRABUS -I../libopencm3/include \
|
||||||
-Iplatforms/stm32
|
-Iplatforms/stm32 -DUSE_ST_BOOTLOADER
|
||||||
|
|
||||||
LDFLAGS = -lopencm3_stm32f4 \
|
LDFLAGS = -lopencm3_stm32f4 \
|
||||||
-Wl,-T,platforms/stm32/f4discovery.ld -nostartfiles -lc -lnosys \
|
-Wl,-T,platforms/stm32/f4discovery.ld -nostartfiles -lc -lnosys \
|
||||||
|
@ -27,7 +27,7 @@
|
|||||||
#include "usbuart.h"
|
#include "usbuart.h"
|
||||||
#include "morse.h"
|
#include "morse.h"
|
||||||
|
|
||||||
#include <libopencm3/stm32/f4/rcc.h>
|
#include <libopencm3/stm32/rcc.h>
|
||||||
#include <libopencm3/cm3/scb.h>
|
#include <libopencm3/cm3/scb.h>
|
||||||
#include <libopencm3/cm3/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
|
@ -28,14 +28,11 @@
|
|||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "timing_stm32.h"
|
#include "timing_stm32.h"
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
#include <setjmp.h>
|
#include <setjmp.h>
|
||||||
|
|
||||||
#define PLATFORM_HAS_TRACESWO
|
#define PLATFORM_HAS_TRACESWO
|
||||||
#define BOARD_IDENT "Black Magic Probe (HydraBus), (Firmware " FIRMWARE_VERSION ")"
|
#define PLATFORM_IDENT " (HydraBus))"
|
||||||
#define BOARD_IDENT_DFU "Black Magic (Upgrade) for HydraBus, (Firmware " FIRMWARE_VERSION ")"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade (HydraBus)"
|
|
||||||
|
|
||||||
/* Important pin mappings for STM32 implementation:
|
/* Important pin mappings for STM32 implementation:
|
||||||
*
|
*
|
||||||
|
@ -21,12 +21,8 @@
|
|||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
|
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
#define BOARD_IDENT "Black Magic Probe (Launchpad ICDI), (Firmware " FIRMWARE_VERSION ")"
|
#define PLATFORM_IDENT "(Launchpad ICDI) "
|
||||||
#define BOARD_IDENT_DFU "Black Magic (Upgrade) for Launchpad, (Firmware " FIRMWARE_VERSION ")"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade (Launchpad)"
|
|
||||||
#define DFU_IFACE_STRING "lolwut"
|
|
||||||
|
|
||||||
extern uint8_t running_status;
|
extern uint8_t running_status;
|
||||||
|
|
||||||
|
@ -27,14 +27,14 @@
|
|||||||
#include "usbuart.h"
|
#include "usbuart.h"
|
||||||
#include "morse.h"
|
#include "morse.h"
|
||||||
|
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/rcc.h>
|
||||||
#include <libopencm3/cm3/scb.h>
|
#include <libopencm3/cm3/scb.h>
|
||||||
#include <libopencm3/cm3/scs.h>
|
#include <libopencm3/cm3/scs.h>
|
||||||
#include <libopencm3/cm3/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/exti.h>
|
#include <libopencm3/stm32/exti.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
#include <libopencm3/stm32/f1/adc.h>
|
#include <libopencm3/stm32/adc.h>
|
||||||
|
|
||||||
static void adc_init(void);
|
static void adc_init(void);
|
||||||
static void setup_vbus_irq(void);
|
static void setup_vbus_irq(void);
|
||||||
@ -97,7 +97,7 @@ void platform_init(void)
|
|||||||
initialise_monitor_handles();
|
initialise_monitor_handles();
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
|
|
||||||
/* Enable peripherals */
|
/* Enable peripherals */
|
||||||
rcc_periph_clock_enable(RCC_USB);
|
rcc_periph_clock_enable(RCC_USB);
|
||||||
|
@ -38,10 +38,7 @@ extern bool debug_bmp;
|
|||||||
int usbuart_debug_write(const char *buf, size_t len);
|
int usbuart_debug_write(const char *buf, size_t len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOARD_IDENT "Black Magic Probe"
|
#define PLATFORM_IDENT " "
|
||||||
#define BOARD_IDENT_DFU "Black Magic Probe (Upgrade)"
|
|
||||||
#define BOARD_IDENT_UPD "Black Magic Probe (DFU Upgrade)"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade"
|
|
||||||
#define UPD_IFACE_STRING "@Internal Flash /0x08000000/8*001Kg"
|
#define UPD_IFACE_STRING "@Internal Flash /0x08000000/8*001Kg"
|
||||||
|
|
||||||
/* Important pin mappings for STM32 implementation:
|
/* Important pin mappings for STM32 implementation:
|
||||||
|
@ -44,7 +44,7 @@ int main(void)
|
|||||||
|
|
||||||
dfu_protect(false);
|
dfu_protect(false);
|
||||||
|
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
||||||
systick_set_reload(900000);
|
systick_set_reload(900000);
|
||||||
|
|
||||||
|
@ -52,7 +52,7 @@ void platform_init(void)
|
|||||||
void initialise_monitor_handles(void);
|
void initialise_monitor_handles(void);
|
||||||
initialise_monitor_handles();
|
initialise_monitor_handles();
|
||||||
#endif
|
#endif
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
if (rev == 0) {
|
if (rev == 0) {
|
||||||
led_idle_run = GPIO8;
|
led_idle_run = GPIO8;
|
||||||
srst_pin = SRST_PIN_V1;
|
srst_pin = SRST_PIN_V1;
|
||||||
|
@ -27,10 +27,9 @@
|
|||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "timing_stm32.h"
|
#include "timing_stm32.h"
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
#include <libopencm3/cm3/common.h>
|
#include <libopencm3/cm3/common.h>
|
||||||
#include <libopencm3/stm32/f1/memorymap.h>
|
#include <libopencm3/stm32/memorymap.h>
|
||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
|
|
||||||
#ifdef ENABLE_DEBUG
|
#ifdef ENABLE_DEBUG
|
||||||
@ -40,9 +39,7 @@ extern bool debug_bmp;
|
|||||||
int usbuart_debug_write(const char *buf, size_t len);
|
int usbuart_debug_write(const char *buf, size_t len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOARD_IDENT "Black Magic Probe (STLINK), (Firmware " FIRMWARE_VERSION ")"
|
#define PLATFORM_IDENT "(STLINK/V2) "
|
||||||
#define BOARD_IDENT_DFU "Black Magic (Upgrade) for STLink/Discovery, (Firmware " FIRMWARE_VERSION ")"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade (STLINK)"
|
|
||||||
|
|
||||||
/* Hardware definitions... */
|
/* Hardware definitions... */
|
||||||
#define TDI_PORT GPIOA
|
#define TDI_PORT GPIOA
|
||||||
|
@ -65,7 +65,7 @@ int main(void)
|
|||||||
dfu_jump_app_if_valid();
|
dfu_jump_app_if_valid();
|
||||||
dfu_protect(false);
|
dfu_protect(false);
|
||||||
|
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
||||||
systick_set_reload(900000);
|
systick_set_reload(900000);
|
||||||
|
|
||||||
|
@ -18,6 +18,8 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
#include "general.h"
|
#include "general.h"
|
||||||
|
#include "version.h"
|
||||||
|
|
||||||
#include <libopencm3/stm32/desig.h>
|
#include <libopencm3/stm32/desig.h>
|
||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
@ -124,10 +126,11 @@ const struct usb_config_descriptor config = {
|
|||||||
|
|
||||||
static char serial_no[9];
|
static char serial_no[9];
|
||||||
static char if_string[] = DFU_IFACE_STRING;
|
static char if_string[] = DFU_IFACE_STRING;
|
||||||
|
#define BOARD_IDENT_DFU(BOARD_TYPE) "Black Magic Probe DFU " PLATFORM_IDENT "" FIRMWARE_VERSION
|
||||||
|
|
||||||
static const char *usb_strings[] = {
|
static const char *usb_strings[] = {
|
||||||
"Black Sphere Technologies",
|
"Black Sphere Technologies",
|
||||||
BOARD_IDENT_DFU,
|
BOARD_IDENT_DFU(PLATFORM_IDENT),
|
||||||
serial_no,
|
serial_no,
|
||||||
/* This string is used by ST Microelectronics' DfuSe utility */
|
/* This string is used by ST Microelectronics' DfuSe utility */
|
||||||
if_string,
|
if_string,
|
||||||
|
@ -27,13 +27,13 @@
|
|||||||
#include "cdcacm.h"
|
#include "cdcacm.h"
|
||||||
#include "usbuart.h"
|
#include "usbuart.h"
|
||||||
|
|
||||||
#include <libopencm3/stm32/f1/rcc.h>
|
#include <libopencm3/stm32/rcc.h>
|
||||||
#include <libopencm3/cm3/scb.h>
|
#include <libopencm3/cm3/scb.h>
|
||||||
#include <libopencm3/cm3/scs.h>
|
#include <libopencm3/cm3/scs.h>
|
||||||
#include <libopencm3/cm3/nvic.h>
|
#include <libopencm3/cm3/nvic.h>
|
||||||
#include <libopencm3/stm32/usart.h>
|
#include <libopencm3/stm32/usart.h>
|
||||||
#include <libopencm3/usb/usbd.h>
|
#include <libopencm3/usb/usbd.h>
|
||||||
#include <libopencm3/stm32/f1/adc.h>
|
#include <libopencm3/stm32/adc.h>
|
||||||
|
|
||||||
uint32_t led_error_port;
|
uint32_t led_error_port;
|
||||||
uint16_t led_error_pin;
|
uint16_t led_error_pin;
|
||||||
@ -54,8 +54,7 @@ void platform_init(void)
|
|||||||
void initialise_monitor_handles(void);
|
void initialise_monitor_handles(void);
|
||||||
initialise_monitor_handles();
|
initialise_monitor_handles();
|
||||||
#endif
|
#endif
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
|
|
||||||
rev = detect_rev();
|
rev = detect_rev();
|
||||||
/* Enable peripherals */
|
/* Enable peripherals */
|
||||||
rcc_periph_clock_enable(RCC_AFIO);
|
rcc_periph_clock_enable(RCC_AFIO);
|
||||||
|
@ -28,7 +28,6 @@
|
|||||||
#include "gpio.h"
|
#include "gpio.h"
|
||||||
#include "timing.h"
|
#include "timing.h"
|
||||||
#include "timing_stm32.h"
|
#include "timing_stm32.h"
|
||||||
#include "version.h"
|
|
||||||
|
|
||||||
#ifdef ENABLE_DEBUG
|
#ifdef ENABLE_DEBUG
|
||||||
# define PLATFORM_HAS_DEBUG
|
# define PLATFORM_HAS_DEBUG
|
||||||
@ -37,9 +36,7 @@ extern bool debug_bmp;
|
|||||||
int usbuart_debug_write(const char *buf, size_t len);
|
int usbuart_debug_write(const char *buf, size_t len);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define BOARD_IDENT "Black Magic Probe (SWLINK), (Firmware " FIRMWARE_VERSION ")"
|
#define PLATFORM_IDENT "(SWLINK) "
|
||||||
#define BOARD_IDENT_DFU "Black Magic (Upgrade), SWLINK, (Firmware " FIRMWARE_VERSION ")"
|
|
||||||
#define DFU_IDENT "Black Magic Firmware Upgrade (SWLINK)"
|
|
||||||
|
|
||||||
/* Hardware definitions... */
|
/* Hardware definitions... */
|
||||||
#define TMS_PORT GPIOA
|
#define TMS_PORT GPIOA
|
||||||
|
@ -77,7 +77,7 @@ int main(void)
|
|||||||
|
|
||||||
dfu_protect(false);
|
dfu_protect(false);
|
||||||
|
|
||||||
rcc_clock_setup_in_hse_8mhz_out_72mhz();
|
rcc_clock_setup_pll(&rcc_hse_configs[RCC_CLOCK_HSE8_72MHZ]);
|
||||||
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
systick_set_clocksource(STK_CSR_CLKSOURCE_AHB_DIV8);
|
||||||
systick_set_reload(900000);
|
systick_set_reload(900000);
|
||||||
|
|
||||||
|
@ -24,6 +24,7 @@
|
|||||||
#include "swdptap.h"
|
#include "swdptap.h"
|
||||||
#include "jtagtap.h"
|
#include "jtagtap.h"
|
||||||
#include "gdb_if.h"
|
#include "gdb_if.h"
|
||||||
|
#include "platform.h"
|
||||||
#include "version.h"
|
#include "version.h"
|
||||||
#include "exception.h"
|
#include "exception.h"
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
@ -299,11 +300,11 @@ void remotePacketProcessGEN(uint8_t i, char *packet)
|
|||||||
#endif
|
#endif
|
||||||
break;
|
break;
|
||||||
|
|
||||||
#if !defined(BOARD_IDENT) && defined(PLATFORM_IDENT)
|
#if !defined(BOARD_IDENT) && defined(BOARD_IDENT)
|
||||||
# define BOARD_IDENT() PLATFORM_IDENT
|
# define PLATFORM_IDENT() BOARD_IDENT
|
||||||
#endif
|
#endif
|
||||||
case REMOTE_START:
|
case REMOTE_START:
|
||||||
_respondS(REMOTE_RESP_OK, BOARD_IDENT " " FIRMWARE_VERSION);
|
_respondS(REMOTE_RESP_OK, PLATFORM_IDENT "" FIRMWARE_VERSION);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user