Update
Upon capturing and decoding the QSPI transactions to the Cypress S25FS512S QSPI flash memory device, I've discovered why the Flash Programmer fails.
A Write Enable (WREN) instruction is sent to the device, attempting to set the Write Enable Latch (WEL) bit in Status Register 1 (SR1V[1]). This WEL bit must be set to a 1 to enable write, program, and erase commands.
A subsequent Read Status Register 1 (RDSR1) instruction checks whether the WEL bit is set. However, the data returned is 0x0, indicating that the WEL bit hasn't been set.
The Flash Programmer will then keep repeat that process, trying to set the WEL bit and seeing that it hasn't been set, until timing out.
Note: I've slightly simplified the algorithm used by the Flash Programmer in order to plainly describe the problem.
Question: Is the problem with my component, its initialization, or its configuration? Suggestions on anything in particular to check?
Speaking of configuration, that leads into my next question. The S25FS512S QSPI NOR Flash Memory device has several registers that are non-volatile + one time programmable (OTP). In particular, there are Configuration Registers 1-4 Non-Volatile that have initial delivery states of 0h, 8h, 0h, and 10h respectively. When reading from these registers on the FRDM-LS1012A board, I noticed that they had values of 0h, 8h, 8h, and 10h, with Configuration Register 3 Non-Volatile (CR3NV) having a non-default value.
Question: Were the S25FS512S flash memory components used on FRDM-LS1012A boards pre-programmed?