Hello Sabina,
with power cycling i mean turning off the supply voltage and turning it on again.
In contrast to that is trigger a POR pulling the POR_B pin to ground (while my board is still supplied).
For flashing the program i use the
MIMXRT1050-EVK_IS25WP064A LinkServer/CMSIS-DAP Flash Driver
with some minor modifications for my QSPI NOR-Flash from ISSI (IS25WP256D).
I use the
NOR-Flash on port A1 of the FlexSPI interface and a
NAND-Flash from Winbond (W25N01GVZEIGIT) on port B1.
Everything works fine when i
- debug the program
- flash the program with the GUI Flash Tool (MCUXpresso - Blue Button) without debugger
in those 2 cases i can also reset the device with a POR and everything is still fine.
But when i turn the power off and on again something is different.
What i figured out so far is after the FlexSPI initialization when i first try to communicate with the NAND flash,
more precisely in fsl_flexspi.c in function
FLEXSPI_TransferBlocking, when the command is triggered with
base->IPCMD |= FLEXSPI_IPCMD_TRG_MASK; // here the pins should wiggle
there is nothing happening on the FlexSPI interface (no Chip Select, no Clk, etc.).
In the working case exactly at the same position i can see a communication with the NAND-flash.
The related command looks like this in the LUT
[4 * NAND_LUT_READ_STATUS_REG] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_SDR, kFLEXSPI_1PAD, 0x05,
kFLEXSPI_Command_RADDR_SDR, kFLEXSPI_1PAD, 0x08),
[4 * NAND_LUT_READ_STATUS_REG + 1] = FLEXSPI_LUT_SEQ(kFLEXSPI_Command_READ_SDR, kFLEXSPI_1PAD, 0x01,
kFLEXSPI_Command_STOP, kFLEXSPI_1PAD, 0),
so i try to read the status register of the NAND-flash.
It seems that the FlexSPI - Interface is not starting the communication.
What really puzzles me is that it's working in the one case and not in the other.
I can only conjecture that it has to do with the flash driver. Thats the only real difference i see.
Maybe some settings from the driver survive the POR.
I checked the driver code but haven't found anything yet.
Thank you and sorry for the lenghty post,
Johann