你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 FMC SDRAM 连续读写出错

[复制链接]
li123456799 提问时间:2023-11-16 19:14 / 已解决

STM32H7系列,FMC接片外SDRAM,连续读写测试,每次读写间加一个延时不会报错,但去掉延时,连续读写就读写不一致了?

请教大神是哪里配置出了问题么?

另外还有个奇怪的现象。。。在循环的最后加了个打印,即使有延时也会出错,把打印去掉,在有延时的情况下不会出错。

代码附上:

    for(i = 0; i < 8 * 1024 * 1024; i++)
    {
        HAL_Delay(10);
        writedata_8 = i;
        *(__IO uint8_t *) (Bank5_SDRAM_ADDR + i) = (uint8_t)writedata_8;

        readdata_8 = *(__IO uint8_t *)(Bank5_SDRAM_ADDR + i);

        if(readdata_8 != writedata_8)
        {
            printf("ERROR@ %x, writedata_8: %d, readdata_8: %d\r\n", Bank5_SDRAM_ADDR + i, writedata_8, readdata_8);
        }
        printf("*");
    }

    //printf("\r\n");
    //printf("读写32MB结束\r\n");
赞 收藏 评论4 发布时间:2023-11-16 19:14

举报

4个回答
li123456799 最优答案 回答时间:2023-11-18 09:32:59

butterflyspring 发表于 2023-11-17 10:17
将FMC的频率降得低一点看看是否正常先。</p>
<p>然后再判断是否是信号质量或者是对应参数需要调整。

感谢您的解答,将FMC频率降低可以正常工作了,另外还有一个问题向i请教,SDRAM断点调试查看内存为何查看的值没有变化呢,想确认一下SDRAM能否断电调试

xmshao 回答时间:2023-11-17 17:21:55
从你反馈的来看,应该是时序方面的问题。加延时才正常,说明访问速率太快了点,要注意FMC的响应速率也是有限制的。
butterflyspring 回答时间:2023-11-17 10:17:59
将FMC的频率降得低一点看看是否正常先。

然后再判断是否是信号质量或者是对应参数需要调整。
butterflyspring 回答时间:2023-11-20 11:07:21
li123456799 发表于 2023-11-18 09:32
[md]感谢您的解答,将FMC频率降低可以正常工作了,另外还有一个问题向i请教,SDRAM断点调试查看内存为何 ...

有可能跟catche 有关。

关闭它试试看看。

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版