2024-01-23 05:35 AM
I created a new .ioc project with STM32CubeIDE 1.14.0. I did the same with 1.12.0 with the same results. When I build and debug the project and run to a breakpoint after all initialization is complete, when I examine memory at 0xd0000000 the frame returns all ??????????. I made no changes except to change FreeRTOS to reentrant. If I install code to write to 0xd0000000 and read it back I get a hard fault.
The hardware is good since if I do the same thing loading the LTDC_Paint example I see the frame buffer data at 0xd0000000.
Any ideas?
Solved! Go to Solution.
2024-01-24 01:11 AM
I solved this by adding the BSP drivers to the project and calling BSP_LCD_Init() after all the MX initializations.
I still don't understand why the SDRAM was inaccessible after the HAL_SDRAM_Init() in MX_FMC_Init().
2024-01-23 06:49 AM
You can diff the two codebases to find the difference. WinMerge is one tool among many that can do this quickly.
2024-01-23 07:01 AM
The codebases are very different. Mine is a .ioc project using HAL_Init(). LCD_Paint uses MX_xxxx_Init(). Is HAL best avoided?
2024-01-24 01:11 AM
I solved this by adding the BSP drivers to the project and calling BSP_LCD_Init() after all the MX initializations.
I still don't understand why the SDRAM was inaccessible after the HAL_SDRAM_Init() in MX_FMC_Init().