STM32利用STM32CubeMX驱动SDRAM

STM32利用STM32CubeMX驱动SDRAM

本次发布FMC总线驱动SDRAM的博客,为下次发布LTDC外设驱动RGB屏的博客做准备。利用STM32CubeMX和HAL库,生成的工程代码具有很强的可移植性,而且学会了可以自己再写其他板子的SDRAM驱动程序。

1.首先打开CubeMX,新建一个工程,这里我用的是RT-Thread推出的STM32H750开发板,勾上外部晶振并设置CPU主频为480MHz,打开SWD调试口,打开调试的USART,勾上FMC总线。按以下参数设置。
在这里插入图片描述

2.参数配置SDRAM control中按如下设置,这些个参数可以根据实际情况调整,不过调不好SDRAM不能正常工作
在这里插入图片描述

3.参数配置SDRAM timing中按如下设置,这些个参数可以微调,不过调不好SDRAM不能正常工作
在这里插入图片描述

4.FMC总线的时钟200MHz-240MHz范围左右都可以,如果配成480MHz则SDRAM不能正常工作
在这里插入图片描述

5.生成MDK工程后,首先在usart.c中代码保护段里添加如下代码,等下要用到printf函数
在这里插入图片描述

6.在fmc.h中代码保护段里添加如下代码,里面声明了三个函数
在这里插入图片描述

7.在fmc.c中代码保护段里添加如下代码,在里面实现声明的三个函数。其中最重要的是配置SDRAM时序和控制方式函数。
在这里插入图片描述
在这里插入图片描述

8.最后在main.c函数中添加如下代码,初始化SDRAM并测试
在这里插入图片描述

9.编译完程序后下载到板子上,打开串口调试助手,SDRAM正常工作,完美
在这里插入图片描述

留下MDK工程,里面包括CubeMX工程文件,CubeMX用的是V6.0.0,另外我在正点原子F429上这样试过也可以驱动SDRAM。希望大家多动手试试调调。
链接: https://pan.baidu.com/s/1S1w1oSelHUQHHvxJ5Z69bA 提取码: 8ipu

  • 8
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值