Hello,
I am currently creating a save section on the QSPI Flash using qspi.Erase, qspi.Write, and memory reads.
Here is a simple repro:
- Create an app that is using the BOOT_TYPE=SRAM
- Add globals:
typedef struct _testing
{
uint32_t many[100];
} testing;
DSY_QSPI_BSS testing testqspi;
- in main make:
hw.Init(true);
const uint32_t EraseSize4K = 4096;
uint32_t eraseme = (sizeof(_testing) % EraseSize4K) + sizeof(_testing);
hw.seed.qspi.Erase((uint32_t)&testqspi, (uint32_t)&testqspi + eraseme);
- Set a breakpoint at the Erase line.
- Run the code to the break point
- Check the values in memory, my first few showed values of:
0: 0x20020000
1: 0x20020000
- Step past the break point after the qspi is erased
- Check the values in memory, my first few showed values of:
0: 0xffffffff
1: 0xffffffff
- Now restart the app.
- Run to the breakpoint
- Check the values in testingqspi. Here is what I am observing:
0: 0x20020000
1: 0x24000689
I would have expected the values pointing to the qspi memory to be 0xffffffff.
Any thoughts on what I may be doing incorrectly here?
Thank you for your time and help with this,
Brett