stm32f4: Honor parallelism also for erase.
This commit is contained in:
parent
bfeb6f0db9
commit
15312eb86c
@ -369,9 +369,15 @@ static int stm32f4_flash_erase(struct target_flash *f, target_addr addr,
|
|||||||
uint8_t sector = sf->base_sector + (addr - f->start)/f->blocksize;
|
uint8_t sector = sf->base_sector + (addr - f->start)/f->blocksize;
|
||||||
stm32f4_flash_unlock(t);
|
stm32f4_flash_unlock(t);
|
||||||
|
|
||||||
|
enum align psize = ALIGN_WORD;
|
||||||
|
for (struct target_flash *f = t->flash; f; f = f->next) {
|
||||||
|
if (f->write == stm32f4_flash_write) {
|
||||||
|
psize = ((struct stm32f4_flash *)f)->psize;
|
||||||
|
}
|
||||||
|
}
|
||||||
while(len) {
|
while(len) {
|
||||||
uint32_t cr = FLASH_CR_EOPIE | FLASH_CR_ERRIE | FLASH_CR_SER |
|
uint32_t cr = FLASH_CR_EOPIE | FLASH_CR_ERRIE | FLASH_CR_SER |
|
||||||
(sector << 3);
|
(psize * FLASH_CR_PSIZE16) | (sector << 3);
|
||||||
/* Flash page erase instruction */
|
/* Flash page erase instruction */
|
||||||
target_mem_write32(t, FLASH_CR, cr);
|
target_mem_write32(t, FLASH_CR, cr);
|
||||||
/* write address to FMA */
|
/* write address to FMA */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user