aboutsummaryrefslogtreecommitdiff
path: root/src/stm32f1.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/stm32f1.c')
-rw-r--r--src/stm32f1.c20
1 files changed, 17 insertions, 3 deletions
diff --git a/src/stm32f1.c b/src/stm32f1.c
index 670c5bd..d3cb234 100644
--- a/src/stm32f1.c
+++ b/src/stm32f1.c
@@ -58,7 +58,9 @@ static int stm32f1_flash_write(struct target_s *target, uint32_t dest,
static const char stm32f1_driver_str[] = "STM32, Medium density.";
static const char stm32hd_driver_str[] = "STM32, High density.";
static const char stm32f3_driver_str[] = "STM32F3xx";
-static const char stm32f0_driver_str[] = "STM32F0xx";
+static const char stm32f03_driver_str[] = "STM32F03x";
+static const char stm32f05_driver_str[] = "STM32F05x";
+static const char stm32f07_driver_str[] = "STM32F07x";
static const char stm32f1_xml_memory_map[] = "<?xml version=\"1.0\"?>"
/* "<!DOCTYPE memory-map "
@@ -190,8 +192,20 @@ bool stm32f1_probe(struct target_s *target)
target->idcode = adiv5_ap_mem_read(adiv5_target_ap(target), DBGMCU_IDCODE_F0) & 0xfff;
switch(target->idcode) {
- case 0x440: /* STM32F0 */
- target->driver = stm32f0_driver_str;
+ case 0x444: /* STM32F03 */
+ case 0x440: /* STM32F05 */
+ case 0x448: /* STM32F07 */
+ switch(target->idcode) {
+ case 0x444: /* STM32F03 */
+ target->driver = stm32f03_driver_str;
+ break;
+ case 0x440: /* STM32F05 */
+ target->driver = stm32f05_driver_str;
+ break;
+ case 0x448: /* STM32F07 */
+ target->driver = stm32f07_driver_str;
+ break;
+ }
target->xml_mem_map = stm32f1_xml_memory_map;
target->flash_erase = stm32md_flash_erase;
target->flash_write = stm32f1_flash_write;