SDRAM basic example for DISCO-F769NI
Dependencies: BSP_DISCO_F769NI
Diff: main.cpp
- Revision:
- 2:0cfdd4157b1e
- Parent:
- 0:c18d9a07a0d8
--- a/main.cpp Wed Jun 07 11:46:22 2017 +0000 +++ b/main.cpp Fri Nov 15 16:39:35 2019 +0100 @@ -1,10 +1,9 @@ #include "mbed.h" -#include "stm32f769i_discovery.h" #include "stm32f769i_discovery_lcd.h" #include "stm32f769i_discovery_sdram.h" static void Fill_Buffer(uint32_t *pBuffer, uint32_t uwBufferLenght, uint32_t uwOffset); -static uint8_t Buffercmp(uint32_t* pBuffer1, uint32_t* pBuffer2, uint16_t BufferLength); +static uint8_t Buffercmp(uint32_t *pBuffer1, uint32_t *pBuffer2, uint16_t BufferLength); #define BUFFER_SIZE ((uint32_t)0x0100) #define WRITE_READ_ADDR ((uint32_t)0x0800) @@ -28,8 +27,10 @@ BSP_LCD_SetFont(&Font24); BSP_LCD_DisplayStringAt(0, 0, (uint8_t *)"SDRAM basic example", CENTER_MODE); + HAL_Delay(2000); + /* SDRAM device configuration */ - if(BSP_SDRAM_Init() != SDRAM_OK) { + if (BSP_SDRAM_Init() != SDRAM_OK) { BSP_LCD_DisplayStringAt(20, 100, (uint8_t *)"SDRAM Initialization : FAILED", LEFT_MODE); } else { BSP_LCD_DisplayStringAt(20, 100, (uint8_t *)"SDRAM Initialization : OK", LEFT_MODE); @@ -37,21 +38,27 @@ /* Fill the buffer to write */ Fill_Buffer(sdram_aTxBuffer, BUFFER_SIZE, 0xA244250F); + HAL_Delay(2000); + /* Write data to the SDRAM memory */ - if(BSP_SDRAM_WriteData(SDRAM_WRITE_READ_ADDR + WRITE_READ_ADDR, sdram_aTxBuffer, BUFFER_SIZE) != SDRAM_OK) { + if (BSP_SDRAM_WriteData(SDRAM_WRITE_READ_ADDR + WRITE_READ_ADDR, sdram_aTxBuffer, BUFFER_SIZE) != SDRAM_OK) { BSP_LCD_DisplayStringAt(20, 130, (uint8_t *)"SDRAM WRITE : FAILED", LEFT_MODE); } else { BSP_LCD_DisplayStringAt(20, 130, (uint8_t *)"SDRAM WRITE : OK", LEFT_MODE); } + HAL_Delay(2000); + /* Read back data from the SDRAM memory */ - if(BSP_SDRAM_ReadData(SDRAM_WRITE_READ_ADDR + WRITE_READ_ADDR, sdram_aRxBuffer, BUFFER_SIZE) != SDRAM_OK) { + if (BSP_SDRAM_ReadData(SDRAM_WRITE_READ_ADDR + WRITE_READ_ADDR, sdram_aRxBuffer, BUFFER_SIZE) != SDRAM_OK) { BSP_LCD_DisplayStringAt(20, 160, (uint8_t *)"SDRAM READ : FAILED", LEFT_MODE); } else { BSP_LCD_DisplayStringAt(20, 160, (uint8_t *)"SDRAM READ : OK", LEFT_MODE); } - if(Buffercmp(sdram_aTxBuffer, sdram_aRxBuffer, BUFFER_SIZE) > 0) { + HAL_Delay(2000); + + if (Buffercmp(sdram_aTxBuffer, sdram_aRxBuffer, BUFFER_SIZE) > 0) { BSP_LCD_DisplayStringAt(20, 190, (uint8_t *)"SDRAM COMPARE : FAILED", LEFT_MODE); } else { BSP_LCD_DisplayStringAt(20, 190, (uint8_t *)"SDRAM Test : OK", LEFT_MODE); @@ -75,7 +82,7 @@ uint32_t tmpIndex = 0; /* Put in global buffer different values */ - for (tmpIndex = 0; tmpIndex < uwBufferLenght; tmpIndex++ ) { + for (tmpIndex = 0; tmpIndex < uwBufferLenght; tmpIndex++) { pBuffer[tmpIndex] = tmpIndex + uwOffset; } } @@ -87,7 +94,7 @@ * @retval 1: pBuffer identical to pBuffer1 * 0: pBuffer differs from pBuffer1 */ -static uint8_t Buffercmp(uint32_t* pBuffer1, uint32_t* pBuffer2, uint16_t BufferLength) +static uint8_t Buffercmp(uint32_t *pBuffer1, uint32_t *pBuffer2, uint16_t BufferLength) { while (BufferLength--) { if (*pBuffer1 != *pBuffer2) {