stm32f4.c: Add STM32F411 ID.

This commit is contained in:
Uwe Bonnes 2014-12-18 11:12:09 +01:00 committed by Gareth McMullin
parent fdd7799304
commit d162e75ceb
3 changed files with 22 additions and 8 deletions

View File

@ -59,8 +59,10 @@ 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 stm32f03_driver_str[] = "STM32F03x";
static const char stm32f04_driver_str[] = "STM32F04x";
static const char stm32f05_driver_str[] = "STM32F05x";
static const char stm32f07_driver_str[] = "STM32F07x";
static const char stm32f09_driver_str[] = "STM32F09x";
static const char stm32f1_xml_memory_map[] = "<?xml version=\"1.0\"?>"
/* "<!DOCTYPE memory-map "
@ -192,19 +194,27 @@ 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 0x444: /* STM32F03 */
case 0x440: /* STM32F05 */
case 0x448: /* STM32F07 */
case 0x444: /* STM32F03 RM0091 Rev.7 */
case 0x445: /* STM32F04 RM0091 Rev.7 */
case 0x440: /* STM32F05 RM0091 Rev.7 */
case 0x448: /* STM32F07 RM0091 Rev.7 */
case 0x442: /* STM32F09 RM0091 Rev.7 */
switch(target->idcode) {
case 0x444: /* STM32F03 */
target->driver = stm32f03_driver_str;
break;
case 0x445: /* STM32F04 */
target->driver = stm32f04_driver_str;
break;
case 0x440: /* STM32F05 */
target->driver = stm32f05_driver_str;
break;
case 0x448: /* STM32F07 */
target->driver = stm32f07_driver_str;
break;
case 0x442: /* STM32F09 */
target->driver = stm32f09_driver_str;
break;
}
target->xml_mem_map = stm32f1_xml_memory_map;
target->flash_erase = stm32md_flash_erase;

View File

@ -170,8 +170,9 @@ bool stm32f4_probe(struct target_s *target)
case 0x411: /* Documented to be 0x413! This is what I read... */
case 0x413: /* F407VGT6 */
case 0x419: /* 427/437 */
case 0x423: /* F401 */
case 0x433: /* F401RET6U */
case 0x423: /* F401 B/C RM0368 Rev.3 */
case 0x431: /* F411 RM0383 Rev.4 */
case 0x433: /* F401 D/E RM0368 Rev.3 */
target->xml_mem_map = stm32f4_xml_memory_map;
target->driver = stm32f4_driver_str;
target->flash_erase = stm32f4_flash_erase;

View File

@ -91,9 +91,12 @@ bool stm32l1_probe(struct target_s *target)
idcode = adiv5_ap_mem_read(adiv5_target_ap(target), STM32L1_DBGMCU_IDCODE);
switch(idcode & 0xFFF) {
case 0x416: /* Medium density */
case 0x427: /* Medium+ density*/
case 0x436: /* Medium+/High density */
case 0x416: /* CAT. 1 device */
case 0x429: /* CAT. 2 device */
case 0x427: /* CAT. 3 device */
case 0x436: /* CAT. 4 device */
case 0x437: /* CAT. 5 device */
target->idcode = idcode & 0xFFF;
target->driver = stm32l1_driver_str;
target->xml_mem_map = stm32l1_xml_memory_map;
target->flash_erase = stm32l1_flash_erase;