fix flash map for STM32G431, as it is a special case different from the STM32G47x and STM32G48x chips
This commit is contained in:
parent
f9f928e9d6
commit
69e330849d
|
@ -326,13 +326,22 @@ static bool stm32l4_attach(target *t)
|
||||||
} else
|
} else
|
||||||
stm32l4_add_flash(t, 0x08000000, 0x00200000, 0x2000, -1);
|
stm32l4_add_flash(t, 0x08000000, 0x00200000, 0x2000, -1);
|
||||||
} else if (chip->family == FAM_STM32G4xx) {
|
} else if (chip->family == FAM_STM32G4xx) {
|
||||||
if (options & OR_DBANK) {
|
// RM0440 describes G43x as Category 2, G47x/G48x as Category 3 devices
|
||||||
uint32_t banksize = size << 9;
|
// Cat 2 is always 128k with 2k pages, single bank
|
||||||
stm32l4_add_flash(t, 0x08000000 , banksize, 0x0800, 0x08000000 + banksize);
|
// Cat 3 is dual bank with an option bit to choose single 512k bank with 4k pages or dual bank as 2x256k with 2k pages
|
||||||
stm32l4_add_flash(t, 0x08000000 + banksize, banksize, 0x0800, 0x08000000 + banksize);
|
if (chip->idcode == ID_STM32G43) {
|
||||||
} else {
|
|
||||||
uint32_t banksize = size << 10;
|
uint32_t banksize = size << 10;
|
||||||
stm32l4_add_flash(t, 0x08000000 , banksize, 0x1000, -1);
|
stm32l4_add_flash(t, 0x08000000, banksize, 0x0800, -1);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if (options & OR_DBANK) {
|
||||||
|
uint32_t banksize = size << 9;
|
||||||
|
stm32l4_add_flash(t, 0x08000000 , banksize, 0x0800, 0x08000000 + banksize);
|
||||||
|
stm32l4_add_flash(t, 0x08000000 + banksize, banksize, 0x0800, 0x08000000 + banksize);
|
||||||
|
} else {
|
||||||
|
uint32_t banksize = size << 10;
|
||||||
|
stm32l4_add_flash(t, 0x08000000 , banksize, 0x1000, -1);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
} else if (chip->flags & DUAL_BANK) {
|
} else if (chip->flags & DUAL_BANK) {
|
||||||
if (options & OR_DUALBANK) {
|
if (options & OR_DUALBANK) {
|
||||||
|
|
Loading…
Reference in New Issue