cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429I-DISC1 SDRAM Access

Wayne2839
Associate II

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?

1 ACCEPTED SOLUTION

Accepted Solutions
Wayne2839
Associate II

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().

 

View solution in original post

3 REPLIES 3
TDK
Guru

You can diff the two codebases to find the difference. WinMerge is one tool among many that can do this quickly.

If you feel a post has answered your question, please click "Accept as Solution".
Wayne2839
Associate II

The codebases are very different.  Mine is a .ioc project using HAL_Init().  LCD_Paint uses MX_xxxx_Init().  Is HAL best avoided?

Wayne2839
Associate II

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().