/** * @brief Main program * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup files (startup_stm32f40_41xxx.s/startup_stm32f427_437xx.s/ startup_stm32f429_439xx.s/startup_stm32f401xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f4xx.c file */ /* Initialize LEDs on EVAL board */ STM_EVAL_LEDInit(LED1); STM_EVAL_LEDInit(LED2); /* Initialize the SRAM memory */ SRAM_Init(); /* Fill the buffer to send */ Fill_Buffer(aTxBuffer, BUFFER_SIZE, 0x250F); /* Write data to the SRAM memory */ SRAM_WriteBuffer(aTxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); /* Read back data from the SRAM memory */ SRAM_ReadBuffer(aRxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); /* Check the SRAM memory content correctness */ for (uwIndex = 0; (uwIndex < BUFFER_SIZE) && (uwWriteReadStatus_SRAM == 0); uwIndex++) { if (aRxBuffer[uwIndex] != aTxBuffer[uwIndex]) { uwWriteReadStatus_SRAM++; } } if (uwWriteReadStatus_SRAM) { /* KO */ /* Turn on LD2 */ STM_EVAL_LEDOn(LED2); } else { /* OK */ /* Turn on LD1 */ STM_EVAL_LEDOn(LED1); } while (1) { } }
/** * @brief Main program. * @param None * @retval None */ int main(void) { /*!< At this stage the microcontroller clock setting is already configured, this is done through SystemInit() function which is called from startup file (startup_stm32f4xx.s) before to branch to application main. To reconfigure the default setting of SystemInit() function, refer to system_stm32f4xx.c file */ /* Initialize LEDs on STM324xG-EVAL board */ STM_EVAL_LEDInit(LED1); STM_EVAL_LEDInit(LED2); /* Configure FSMC Bank 1 NOR/SRAM2 */ SRAM_Init(); /* Write data to FSMC SRAM memory */ /* Fill the buffer to send */ Fill_Buffer(TxBuffer, BUFFER_SIZE, 0x320F); SRAM_WriteBuffer(TxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); /* Read data from FSMC SRAM memory */ SRAM_ReadBuffer(RxBuffer, WRITE_READ_ADDR, BUFFER_SIZE); /* Read back SRAM memory and check content correctness */ for (Index = 0x00; (Index < BUFFER_SIZE) && (WriteReadStatus == 0); Index++) { if (RxBuffer[Index] != TxBuffer[Index]) { WriteReadStatus++; } } if (WriteReadStatus == 0) { /* OK */ /* Turn on LD1 */ STM_EVAL_LEDOn(LED1); } else { /* KO */ /* Turn on LD2 */ STM_EVAL_LEDOn(LED2); } while (1) { } }