From 61cfbf16c6c6359fe15366dc3238f6ab8a234cf8 Mon Sep 17 00:00:00 2001 From: Gareth McMullin Date: Fri, 2 Dec 2011 21:55:14 +1300 Subject: Fixed flash stub for STM32F2 and STM32F4. Added JTAG idcodes for these devices. --- src/jtag_scan.c | 4 ++++ src/stm32f4.c | 4 ++-- 2 files changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/jtag_scan.c b/src/jtag_scan.c index fcf6863..ce4e584 100644 --- a/src/jtag_scan.c +++ b/src/jtag_scan.c @@ -64,6 +64,10 @@ static struct jtag_dev_descr_s { .descr = "ST Microelectronics: STM32, Value Line."}, {.idcode = 0x06428041, .idmask = 0x0FFFFFFF, .descr = "ST Microelectronics: STM32, Value Line, High density."}, + {.idcode = 0x06411041, .idmask = 0xFFFFFFFF, + .descr = "ST Microelectronics: STM32F2xx."}, + {.idcode = 0x06413041 , .idmask = 0xFFFFFFFF, + .descr = "ST Microelectronics: STM32F4xx."}, /* Just for fun, unsupported */ {.idcode = 0x8940303F, .idmask = 0xFFFFFFFF, .descr = "ATMEL: ATMega16."}, {.idcode = 0x0792603F, .idmask = 0xFFFFFFFF, .descr = "ATMEL: AT91SAM9261."}, diff --git a/src/stm32f4.c b/src/stm32f4.c index 7c11234..edb45b0 100644 --- a/src/stm32f4.c +++ b/src/stm32f4.c @@ -123,7 +123,7 @@ uint16_t stm32f4_flash_write_stub[] = { //_cr: 0x0201, 0x0000, //.word 0x00000201 (Value to write to FLASH_CR) */ // _flashbase: - 0x2000, 0x4002, // .word 0x40022000 (FPEC_BASE) + 0x3c00, 0x4002, // .word 0x40023c00 (FPEC_BASE) // _addr: // 0x0000, 0x0000, // _size: @@ -212,7 +212,7 @@ static int stm32f4_flash_write_words(struct target_s *target, uint32_t dest, memcpy(&data[2], src, len); /* Write stub and data to target ram and set PC */ - target_mem_write_words(target, 0x20000000, (void*)stm32f4_flash_write_stub, 0x2C); + target_mem_write_words(target, 0x20000000, (void*)stm32f4_flash_write_stub, 0x30); target_mem_write_words(target, 0x20000030, data, len + 8); target_pc_write(target, 0x20000000); if(target_check_error(target)) -- cgit v1.2.3