2024-05-08 03:57 PM - edited 2024-05-08 04:10 PM
everything is working, downloads and runs, I am still not sure it the external QSPI works.
I can write and read from QSPI, checked but I am not sure if it works as external flash to load the code and run from it.
I chose to put main.c in external flash (is this the way you do ?)
but the bar in Keil only and always shows that it is loading to internal flash
2024-05-09 10:45 AM
The physical devices typically have 256-byte page buffers, with some using 512-byte, especially when banked in parallel.
The loader can implement whatever it wants, it's usually more efficient to move dozens of KB in to RAM, and tell the loader where it is, and have it manage the alignment and deblocking into the page buffer of the memory device itself. The alternative is to have the IDE / Programmer do thousands of calls rather than hundreds.
Saying it's 4KB matches the minimum erase size in many of theses devices.
Mapping images into this address space is about tailoring the scatter file and attributes to facilitate that.
2024-05-10 05:05 AM - edited 2024-05-10 06:15 AM
I do not think that it is the loader, I tried the one you did, then I tried to make my own following AN333 from ARM/Keil , each time I hit the same error. I see that other people were asking about the same error before with no solution.
I checked the QSPI I can write and read from it error free using the standard library. It communicates fine. I used the same clock settings (and lower) when writing the loader. Maybe different board will work.I tried STM32F469I-DISCO it is loading into external QSPI using the predefined loader in Keil, no errors but sits frozen.
I wonder if there anybody who actually has working project in Keil.