stm32f1: Always read DBGMCU_IDCODE for t->idcode (#770)

At least STM32F042 has 0x440 as romtable partno vs 0x445 as DBGMCU_IDCODE.
Thanks to Andrey Melnikov(aam335) for pointing out!
This commit is contained in:
Uwe Bonnes 2020-11-05 18:53:44 +01:00 committed by UweBonnes
parent 653d486ee2
commit d78d7838d3
1 changed files with 5 additions and 1 deletions

View File

@ -118,7 +118,10 @@ static void stm32f1_add_flash(target *t,
bool stm32f1_probe(target *t)
{
if (t->t_designer == AP_DESIGNER_ARM)
uint16_t stored_idcode = t->idcode;
if ((t->cpuid & CPUID_PARTNO_MASK) == CORTEX_M0)
t->idcode = target_mem_read32(t, DBGMCU_IDCODE_F0) & 0xfff;
else
t->idcode = target_mem_read32(t, DBGMCU_IDCODE) & 0xfff;
size_t flash_size;
size_t block_size = 0x400;
@ -191,6 +194,7 @@ bool stm32f1_probe(target *t)
block_size = 0x800;
break;
default: /* NONE */
t->idcode = stored_idcode;
return false;
}