这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » STM32 » 【STM32F769】驱动板载SDRAM

共2条 1/1 1 跳转至

【STM32F769】驱动板载SDRAM

工程师
2025-02-28 16:12:08     打赏

【前言】

STM32F769I-DISC1板载了16M的SDRAM。在用户手册里面是这样描述的。

image.png

其原理图如下:


image.png

【驱动的移植】

在官方示例BSP中,已经把他的驱动写好了,我们只需要把他的驱动复制到工程,启用选项,并做简单的配置即可以实现驱动,其步聚如下:

1、复制驱动库中的stm32f769i_discovery_sdram.c/h到工程中的bsp目录中。他的源文件在目录STM32Cube_FW_F7_V1.17.2\Drivers\BSP\STM32F769I-Discovery下面。

image.png

2、打开stm32f7xx_hal_conf.h,打开#define HAL_SDRAM_MODULE_ENABLED 选项。

3、把驱动库的文件stm32f7xx_hal_sdram.c、/stm32f7xx_ll_fmc.c,也需要加入编译中:

image.png

4、把bsp目录下的驱动也加入编译环境中。

5、添加初始化,main中把BSP_SDRAM_Init加入到systemClock_Config之后。

image.png

6、添加测试代码:

  // 定义测试数据
  uint32_t test_data_write = 0x12345678;
  uint32_t test_data_read;

  // 向SDRAM写入数据
  *(uint32_t *)SDRAM_DEVICE_ADDR = test_data_write;

  // 从SDRAM读取数据
  test_data_read = *(uint32_t *)SDRAM_DEVICE_ADDR;

  // 检查读取的数据是否与写入的数据一致
  if (test_data_read == test_data_write)
  {
    // 读取成功
    shell_printf("SDRAM read test passed!\n");
  }
  else
  {
    // 读取失败
    shell_printf("SDRAM read test failed!\n");
  }

【移植效果】

编译下载后,打开shell,可以看成功的测试到数据的读取。

image.png

【总结】

在官方的开发板中,外设官方都已经写好了驱动,我们只需要几步就可以适配,并不需要使用stm32cubMX来配置。




关键词: STM32F769          SDRAM     驱动    

专家
2025-02-28 20:23:04     打赏
2楼

感谢分享


共2条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]