fix overwrite issue when using SDRAM on STM32F7XX
This commit is contained in:
parent
b12615f344
commit
ed881ca667
|
@ -212,11 +212,11 @@ int sdram_test(void)
|
||||||
for (i = 0; i < SDRAM_SIZE / data_width; i++)
|
for (i = 0; i < SDRAM_SIZE / data_width; i++)
|
||||||
{
|
{
|
||||||
#if SDRAM_DATA_WIDTH == 8
|
#if SDRAM_DATA_WIDTH == 8
|
||||||
*(__IO uint8_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint8_t)0x55;
|
*(__IO uint8_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint8_t)(i % 100);
|
||||||
#elif SDRAM_DATA_WIDTH == 16
|
#elif SDRAM_DATA_WIDTH == 16
|
||||||
*(__IO uint16_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint16_t)0x5555;
|
*(__IO uint16_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint16_t)(i % 1000);
|
||||||
#else
|
#else
|
||||||
*(__IO uint32_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint32_t)0x55555555;
|
*(__IO uint32_t *)(SDRAM_BANK_ADDR + i * data_width) = (uint32_t)(i % 1000);
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
time_cast = rt_tick_get() - start_time;
|
time_cast = rt_tick_get() - start_time;
|
||||||
|
@ -229,21 +229,21 @@ int sdram_test(void)
|
||||||
{
|
{
|
||||||
#if SDRAM_DATA_WIDTH == 8
|
#if SDRAM_DATA_WIDTH == 8
|
||||||
data = *(__IO uint8_t *)(SDRAM_BANK_ADDR + i * data_width);
|
data = *(__IO uint8_t *)(SDRAM_BANK_ADDR + i * data_width);
|
||||||
if (data != 0x55)
|
if (data != i % 100)
|
||||||
{
|
{
|
||||||
LOG_E("SDRAM test failed!");
|
LOG_E("SDRAM test failed!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#elif SDRAM_DATA_WIDTH == 16
|
#elif SDRAM_DATA_WIDTH == 16
|
||||||
data = *(__IO uint16_t *)(SDRAM_BANK_ADDR + i * data_width);
|
data = *(__IO uint16_t *)(SDRAM_BANK_ADDR + i * data_width);
|
||||||
if (data != 0x5555)
|
if (data != i % 1000)
|
||||||
{
|
{
|
||||||
LOG_E("SDRAM test failed!");
|
LOG_E("SDRAM test failed!");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
#else
|
#else
|
||||||
data = *(__IO uint32_t *)(SDRAM_BANK_ADDR + i * data_width);
|
data = *(__IO uint32_t *)(SDRAM_BANK_ADDR + i * data_width);
|
||||||
if (data != 0x55555555)
|
if (data != i % 1000)
|
||||||
{
|
{
|
||||||
LOG_E("SDRAM test failed!");
|
LOG_E("SDRAM test failed!");
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -671,7 +671,7 @@ static void HAL_FMC_MspInit(void){
|
||||||
/* USER CODE BEGIN FMC_MspInit 0 */
|
/* USER CODE BEGIN FMC_MspInit 0 */
|
||||||
|
|
||||||
/* USER CODE END FMC_MspInit 0 */
|
/* USER CODE END FMC_MspInit 0 */
|
||||||
GPIO_InitTypeDef GPIO_InitStruct ={0};
|
GPIO_InitTypeDef GPIO_InitStruct = {0};
|
||||||
if (FMC_Initialized) {
|
if (FMC_Initialized) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
@ -716,54 +716,34 @@ static void HAL_FMC_MspInit(void){
|
||||||
PE15 ------> FMC_D12
|
PE15 ------> FMC_D12
|
||||||
PE13 ------> FMC_D10
|
PE13 ------> FMC_D10
|
||||||
*/
|
*/
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_15|GPIO_PIN_8|GPIO_PIN_0|GPIO_PIN_5
|
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
||||||
|GPIO_PIN_4;
|
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
||||||
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_15|GPIO_PIN_10
|
|
||||||
|GPIO_PIN_14|GPIO_PIN_9|GPIO_PIN_8;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
|
||||||
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3
|
|
||||||
|GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_15
|
|
||||||
|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_11;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
|
||||||
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_5|GPIO_PIN_3;
|
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
|
||||||
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
|
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_3;
|
GPIO_InitStruct.Pin = GPIO_PIN_3;
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
|
||||||
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOC, &GPIO_InitStruct);
|
||||||
|
|
||||||
GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_11|GPIO_PIN_14
|
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_8 | GPIO_PIN_9 |\
|
||||||
|GPIO_PIN_7|GPIO_PIN_10|GPIO_PIN_12|GPIO_PIN_15
|
GPIO_PIN_10 | GPIO_PIN_14 | GPIO_PIN_15;
|
||||||
|GPIO_PIN_13;
|
HAL_GPIO_Init(GPIOD, &GPIO_InitStruct);
|
||||||
GPIO_InitStruct.Mode = GPIO_MODE_AF_PP;
|
|
||||||
GPIO_InitStruct.Pull = GPIO_NOPULL;
|
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_7 | GPIO_PIN_8 | GPIO_PIN_9 |\
|
||||||
GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH;
|
GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 |\
|
||||||
GPIO_InitStruct.Alternate = GPIO_AF12_FMC;
|
GPIO_PIN_15;
|
||||||
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
HAL_GPIO_Init(GPIOE, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2 | GPIO_PIN_3 | GPIO_PIN_4 |\
|
||||||
|
GPIO_PIN_5 | GPIO_PIN_11 | GPIO_PIN_12 | GPIO_PIN_13 | GPIO_PIN_14 |\
|
||||||
|
GPIO_PIN_15;
|
||||||
|
HAL_GPIO_Init(GPIOF, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_4 | GPIO_PIN_5 | GPIO_PIN_8 | GPIO_PIN_15;
|
||||||
|
HAL_GPIO_Init(GPIOG, &GPIO_InitStruct);
|
||||||
|
|
||||||
|
GPIO_InitStruct.Pin = GPIO_PIN_3 | GPIO_PIN_5;
|
||||||
|
HAL_GPIO_Init(GPIOH, &GPIO_InitStruct);
|
||||||
|
|
||||||
/* USER CODE BEGIN FMC_MspInit 1 */
|
/* USER CODE BEGIN FMC_MspInit 1 */
|
||||||
|
|
||||||
/* USER CODE END FMC_MspInit 1 */
|
/* USER CODE END FMC_MspInit 1 */
|
||||||
|
|
|
@ -103,7 +103,7 @@ menu "On-chip Peripheral Drivers"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config BSP_USING_FMC
|
config BSP_USING_FMC
|
||||||
bool
|
bool "Enable Flash Memory Controller(FMC)"
|
||||||
default n
|
default n
|
||||||
|
|
||||||
config BSP_USING_LTDC
|
config BSP_USING_LTDC
|
||||||
|
|
Loading…
Reference in New Issue