cancel
Showing results for 
Search instead for 
Did you mean: 

The external loader works correctly, but the reading in the Cube Programmer is not displayed correctly.

Good day. Faced such a problem. I wrote a loader for a non standard board, using stm32f476vgt MK, N25Q128A memory in extended SPI mode. All functions are tested in debugger mode. The data is written correctly, the memory is erased correctly, but verification fails. The reason is the incorrect reading of the stream in the Cube Programmer application. If the memory is read in a third-party programmer, then the data corresponds to the dump of the selected file previously selected for recording.

3 REPLIES 3

I am attaching the result of the work of External Loader

0693W00000Y7e4wQAB.pngthe result of comparing the contents of the flash memory with the firmware file in a third-party programmer, verification is "OK"

0693W00000Y7e51QAB.png The dump was written to flash memory using ExternalLoader. If necessary, I can provide sources for FlashLoader, although it is unlikely that you will be able to keep the purity of the experiment, since you will not have the same N25Q128A.

Andreas Bolsch
Lead II

What's the expected contents, and what's the contents read by your flash loader?

The CRC isn't helpful, you should compare byte by byte to see if there's a distinct error pattern, some pages not programmed, data shifted by one or more bytes, padding ...

Thanks for the question. The fact is that I have already formed a loader for the W25Q128FV and everything works well, it is written, compared, read. This N25Q128A flash memory series works correctly only at 54 MHz QSPI frequency. The test according to the example from ST passes without errors. And as I showed on the screenshots, the recorded data in the CubeProgrammer is correctly read by another programmer, from which I conclude that something is wrong with the reading script in the CubeProgrammer.