From 7e80d3a3ae8ad5a80a4302dd8f02e9d39dec6f45 Mon Sep 17 00:00:00 2001 From: Tim Wang Date: Tue, 8 Sep 2020 16:57:12 +0800 Subject: [PATCH] targets:RT1050: Fix the flash erase and program issue for qspi nor flash. Update the LUT to fix the winbond qspi flash erase issue. Update the page program interface to fix the qspi flash program issue. Signed-off-by: Tim Wang --- .../TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/flash_api.c | 4 ++-- .../TARGET_MIMXRT1050/TARGET_EVK/flash_defines.h | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/flash_api.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/flash_api.c index 3cc763d622..352529c057 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/flash_api.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/flash_api.c @@ -293,7 +293,7 @@ status_t flexspi_nor_flash_page_program_ram(uint32_t address, const uint32_t *sr flashXfer.cmdType = kFLEXSPI_Write; flashXfer.SeqNumber = 2; flashXfer.seqIndex = HYPERFLASH_CMD_LUT_SEQ_IDX_PAGEPROGRAM; - flashXfer.data = (uint32_t *)(src + offset); + flashXfer.data = (uint32_t *)((uint32_t)src + offset); flashXfer.dataSize = BOARD_FLASH_PAGE_SIZE; status = FLEXSPI_TransferBlocking(FLEXSPI, &flashXfer); @@ -509,7 +509,7 @@ status_t flexspi_nor_flash_page_program_ram(uint32_t address, const uint32_t *sr flashXfer.cmdType = kFLEXSPI_Write; flashXfer.SeqNumber = 1; flashXfer.seqIndex = NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM_QUAD; - flashXfer.data = (uint32_t *)(src + offset); + flashXfer.data = (uint32_t *)((uint32_t)src + offset); flashXfer.dataSize = BOARD_FLASH_PAGE_SIZE; status = FLEXSPI_TransferBlocking(FLEXSPI, &flashXfer); diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/flash_defines.h b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/flash_defines.h index 6f4db49211..656b80d7f5 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/flash_defines.h +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/flash_defines.h @@ -227,7 +227,7 @@ static uint32_t customLUT[CUSTOM_LUT_LENGTH] = { /* Erase Sector */ [4 * NOR_CMD_LUT_SEQ_IDX_ERASESECTOR] = - FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0xD7, kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_1PAD, 0x18), + FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x20, kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_1PAD, 0x18), /* Page Program - single mode */ [4 * NOR_CMD_LUT_SEQ_IDX_PAGEPROGRAM_SINGLE] =