2025-12-05 6:29 AM - last edited on 2025-12-05 7:17 AM by Andrew Neil
Title edited for clarity.
I am trying to debug an application that is intended to run out of PSRAM on the STM32H7S78-DK. I have created a simple FSBL which initializes the PSRAM and puts it into Memory Mapped mode and then executes a software BKPT to halt the CPU. I then load an application image using the debugger (JLink) into PSRAM and start it. The application appears to run fine but I cannot get any interrupts to fire. The application running out of PSRAM establishes a new vector table in RAM and updates the VTOR register. I have tried both SysTick and an interval timer (TIM6) to generate interrupts but no success. Looking at the peripheral and NVIC registers everything appears to be correct.
This is the MPU configuration for the PSRAM region:
MPU_InitStruct.Number = MPU_REGION_NUMBER1;
MPU_InitStruct.BaseAddress = 0x90000000;
MPU_InitStruct.Size = MPU_REGION_SIZE_32MB;
MPU_InitStruct.SubRegionDisable = 0x0;
MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL1;
MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS;
MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE;
MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE;
MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE;Any suggestions as to what to look at?
2025-12-05 6:45 AM
When you say "running out of", you mean "running from" rather than "exhausting" - yes?
2025-12-05 6:59 AM
I write the post this morning before my first cup of coffee. So, yes, "running from PSRAM".