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:
parent
653d486ee2
commit
d78d7838d3
|
@ -118,7 +118,10 @@ static void stm32f1_add_flash(target *t,
|
||||||
|
|
||||||
bool stm32f1_probe(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;
|
t->idcode = target_mem_read32(t, DBGMCU_IDCODE) & 0xfff;
|
||||||
size_t flash_size;
|
size_t flash_size;
|
||||||
size_t block_size = 0x400;
|
size_t block_size = 0x400;
|
||||||
|
@ -191,6 +194,7 @@ bool stm32f1_probe(target *t)
|
||||||
block_size = 0x800;
|
block_size = 0x800;
|
||||||
break;
|
break;
|
||||||
default: /* NONE */
|
default: /* NONE */
|
||||||
|
t->idcode = stored_idcode;
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue