2020-02-25 08:45 AM
I am attempting to configure the quad spi peripheral on an stm32f469 microcontroller.
The address space for the QSPI starts at 0xa0001000.
However, the address space from 0xa0001000 to 0xbfffffff is inaccessible. Attempting to read or write to these registers causes a hardfault.
I'm using Atollic TrueStudio 9.3.0
When debugging I can see values for every single other peripheral using both the SFR view and the memory browser.
QSPI reports "Error reading value" in the SFR view and '????????' in the memory browser.
I'm at a loss to explain this.
Any ideas?
2020-02-25 10:07 AM
Doesn't sound like it is properly initialized.
QSPI clock on
Pins and Peripheral configured.
Memory Mapped mode started, describing commands, width, etc for QSPI IC being used.
Surely worked examples under the HAL F4 example trees?
QSPI space will not be accessible to the debugger until the system is properly initialized either by code you have running, ideally before main(), or you have a debugger script walking the hardware through the configuration process.
2020-02-26 06:32 AM
Hi Clive,
Thanks for your response.
I've done a bit of investigation with the STM32F4xx StdPeriph driver examples.
This has revealed... that the wrong chip was fitted to the board :grinning_face_with_sweat:.
I was clued in by hardfaults occurring when accessing the stack.
The fitted chip has less ram, so the stack pointer was out of bounds (my project puts the stack further up in RAM).
I connected to it with the ST-LINK utility, and the device ID read as an F42xxx instead of F46xxx.
I would have thought a device id mismatch would have flagged an error during programming.
Anyhoo,
Cheers.