mirror of https://github.com/ARMmbed/mbed-os.git
Merge pull request #10412 from lrusinowicz/flash_api_fix
FUTURE_SEQUANA: Fix flash_api bug introduced with e16d2d81d9
pull/10443/head
commit
fc12229df9
|
@ -48,7 +48,7 @@ int32_t flash_program_page(flash_t *obj, uint32_t address, const uint8_t *data,
|
|||
{
|
||||
(void)(obj);
|
||||
int32_t status = 0;
|
||||
static uint8_t prog_buf[CY_FLASH_SIZEOF_ROW];
|
||||
static uint32_t prog_buf[CY_FLASH_SIZEOF_ROW / sizeof(uint32_t)];
|
||||
while (size) {
|
||||
uint32_t offset = address % CY_FLASH_SIZEOF_ROW;
|
||||
uint32_t chunk_size;
|
||||
|
@ -59,7 +59,7 @@ int32_t flash_program_page(flash_t *obj, uint32_t address, const uint8_t *data,
|
|||
}
|
||||
uint32_t row_address = address / CY_FLASH_SIZEOF_ROW * CY_FLASH_SIZEOF_ROW;
|
||||
memcpy(prog_buf, (const void *)row_address, CY_FLASH_SIZEOF_ROW);
|
||||
memcpy(prog_buf + offset, data, chunk_size);
|
||||
memcpy((uint8_t *)prog_buf + offset, data, chunk_size);
|
||||
|
||||
if (Cy_Flash_ProgramRow(row_address, (const uint32_t *)prog_buf) != CY_FLASH_DRV_SUCCESS) {
|
||||
status = -1;
|
||||
|
|
Loading…
Reference in New Issue