2022-09-19 03:23 AM
Here is my approach:
1) I think I have to adjust the pin configuration in the "memory_msp.h" of the ExtMem_Boot project first
2) Then I would have to include the correct QSPI driver in the "qspi.c" file.
3) Provide the correct ".stldr" external loader file
What else do I need to consider?
Thank you
2022-09-23 07:47 AM
This is a build from my current environment
2022-09-23 08:05 AM
>>This is a build from my current environment
Ok well, thank you, the external loader is now probably i.o., no more error.
My problem now is the correct setup for the program on the internal flash.
I have now tried to adapt the EXTMem_Boot project according following file (as possible):
But no blinking LED, so somewhere something must be still wrongly adjusted...
phuu...
2022-09-23 09:29 AM
I'd back off on the ClockPrescaler (1), and instrument/test
hqspi.Init.ClockPrescaler = 4;
2022-09-26 06:37 AM
>>hqspi.Init.ClockPrescaler = 4;
Clock I set to 3 = 50MHz.
I now try to run the program for the internal flash with access to the QSPI.
After the EnableMemoryMappedMode the content in the external memory always shows 0x888888 (no matter if I delete the QSPI before or write "Hello World").
After the CPU_CACHE_Disable(); the debugger goes into "void MemManage_Handler(void)" ...
Frustrating...is there any example with STM32H750 and W25q64 ?
2022-09-26 06:58 AM
You can't interact with the memory at a command level in Memory Mapped mode, you need to HAL_QSPI_Abort() to dump it out of that mode. The Erase/Write are too invasive, and you need to wait for completion of the command/function.
2022-09-26 07:42 AM
sorry, I not understand this reply....
I have configured everything, and it still not works.
If I test ExtMem_Boot itself, then it looks that it jumps after CPU_CACHE_Disable(); in the MemManage_Handler(void) .... so at the moment I don't have any idea what still could be wrong :( ....
2022-09-26 09:19 AM
0x88888888 probably command template for memory mapped mode is wrong
2022-09-27 11:43 PM
>>0x88888888 probably command template for memory mapped mode is wrong
Ok, but the debugger goes also always in following handler. What could that be?
EDIT: It happens after "CPU_CACHE_Disable();"
void MemManage_Handler(void)
{
/* Go to infinite loop when Memory Manage exception occurs */
while (1)
{
}
}
Thank you
2022-09-28 06:14 AM
>>0x88888888 probably command template for memory mapped mode is wrong
Do you have a working demo with STM32H750 and W25Q64 QSPI (XIP memory mapped mode)? I can pay for this...
Thank you
2022-09-28 07:16 AM
Something can be tailored, depending on location, contact details in profile.