I have a problem with this library on the STM32F429IIT processor. When trying to erase the last, 23rd sector, nothing happens (the erasure does not occur). So far, I've discovered that the problem lies in calculating the last sector. When I replace:
#else
flashErase.TypeErase = FLASH_TYPEERASE_SECTORS;
flashErase.Sector = EE_PAGE_SECTOR + FLASH_F4_OFFSET;
flashErase.NbSectors = 1;
#endif
#ifdef EE_BANK_SELECT
flashErase.Banks = EE_BANK_SELECT;
with
#else
flashErase.TypeErase = FLASH_TYPEERASE_SECTORS;
flashErase.Sector = 23; // EE_PAGE_SECTOR + FLASH_F4_OFFSET;
flashErase.NbSectors = 1;
#endif
#ifdef EE_BANK_SELECT
// flashErase.Banks = EE_BANK_SELECT;
The last, 23rd sector is erased, and the write operation can proceed correctly.
I have a problem with this library on the STM32F429IIT processor. When trying to erase the last, 23rd sector, nothing happens (the erasure does not occur). So far, I've discovered that the problem lies in calculating the last sector. When I replace:
with
The last, 23rd sector is erased, and the write operation can proceed correctly.