ST意法半导体
直播中

李秀兰

8年用户 1541经验值
私信 关注
[问答]

STM32H743IIT6如何设置FMC以使用外部RAM?

我正在尝试设置 FMC 以使用外部 RAM。代码编译并与 KEIL 一起工作,但我试图让它与 STM32CubeIDE 一起工作。代码编译并运行,但 RAM 未初始化。我复制了所有代码,包括 .ioc 文件,并使用了它,但它不会启用 RAM。
我有一个 KEIL 的临时许可证,我已经通过在 KEIL 中编译和调试并在代码和调试器中访问 RAM 来确认内存和代码工作。
有什么想法或想法吗?我需要这个外部 ram,这样我就可以继续将 TouchGFX 移植到我的板上以进行研究项目。










回帖(1)

邱敏

2023-1-31 16:45:01
设置 FMC 和 SDRAM


  • void RAMSETUP(void){
  •           /*##-1- Configure the SDRAM device #########################################*/
  •           /* SDRAM device configuration */
  •           hsdram.Instance = FMC_SDRAM_DEVICE;

  •             /* Timing configuration for 100Mhz as SDRAM clock frequency (System clock is up to 200Mhz) */
  •           SDRAM_Timing.LoadToActiveDelay    = 2;
  •           SDRAM_Timing.ExitSelfRefreshDelay = 7;
  •           SDRAM_Timing.SelfRefreshTime      = 4;
  •           SDRAM_Timing.RowCycleDelay        = 7;
  •           SDRAM_Timing.WriteRecoveryTime    = 2;
  •           SDRAM_Timing.RPDelay              = 2;
  •           SDRAM_Timing.RCDDelay             = 2;

  •           hsdram.Init.SDBank             = FMC_SDRAM_BANK2;
  •           hsdram.Init.ColumnBitsNumber   = FMC_SDRAM_COLUMN_BITS_NUM_8;
  •           hsdram.Init.RowBitsNumber      = FMC_SDRAM_ROW_BITS_NUM_12;
  •           hsdram.Init.MemoryDataWidth    = FMC_SDRAM_MEM_BUS_WIDTH_16;
  •           hsdram.Init.InternalBankNumber = FMC_SDRAM_INTERN_BANKS_NUM_4;
  •           hsdram.Init.CASLatency         = FMC_SDRAM_CAS_LATENCY_3;
  •           hsdram.Init.WriteProtection    = FMC_SDRAM_WRITE_PROTECTION_DISABLE;
  •           hsdram.Init.SDClockPeriod      = FMC_SDRAM_CLOCK_PERIOD_2;
  •           hsdram.Init.ReadBurst          = FMC_SDRAM_RBURST_ENABLE;
  •           hsdram.Init.ReadPipeDelay      = FMC_SDRAM_RPIPE_DELAY_1;

  •           /* Initialize the SDRAM controller */
  •           if(HAL_SDRAM_Init(&hsdram, &SDRAM_Timing) != HAL_OK)
  •           {
  •             /* Initialization Error */
  •             SystemError=1;Error_Handler();
  •           }

  •           /* Program the SDRAM external device */
  •           SDRAM_Initialization_Sequence(&hsdram, &command);

  • }
举报

更多回帖

发帖
×
20
完善资料,
赚取积分