硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1184|回复: 6
收起左侧

[SPI/QSPI] Keil魔术棒勾选IRAM2的Default复选框导致FatFS工作异常的问题,求解原因

[复制链接]

3

主题

5

回帖

14

积分

新手上路

积分
14
发表于 2024-10-6 21:19:49 | 显示全部楼层 |阅读模式
使用的芯片是STM32H743ZGT6,板载了一颗MT25QL256ABA1EW9-0SIT QSPI Flash 。前两天琢磨着把QSPI驱动配好了,并且参考硬汉大佬的代码STM32H7驱动QSPI Flash的4线DMA模式,读速度48MB/S左右,还不错 - STM32H7 - 硬汉嵌入式论坛 - Powered by Discuz! (armbbs.cn),将其改用MDMA模式驱动,读写一切正常。然后就寻思加入FatFS文件系统,在这也踩了个大坑,捣鼓了将近两天,好在最后是解决了。


为了方便版本管理,把驱动QSPI Flash+FatFS单独做成个测试项目,等调的没问题了再合并进主分支。于是今天下午我在测试完成FatFS后,将代码一一对应地挪到主分支。然而,编译、下载代码后,我遇到了FatFS读写文件失败的问题,遂一顿排查代码及CubeMX设置,调成一样的,仍然失败。
异常.jpg
折腾数个小时,刚刚瞄了眼Keil设置,猛然发现在主分支这里我勾选了IRAM2前的Default选项,如图

PixPin_2024-10-06_20-56-00.jpg
调整之后再次编译、下载,成功运行!
正常.jpg
于是问题就来了,为什么勾选IRAM2的Default选项后,会导致FatFS运行失败呢?
查了一圈资料,暂时没找着对于Default的定义,也求解答一下Default是默认将什么东西放在IRAM2(AXI SRAM)里?
感激不尽!
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117564
QQ
发表于 2024-10-7 09:26:59 | 显示全部楼层
没有这个限制,看我这个帖子的例子,就仅勾选了IRAM2


基于V7的QSPI Flash和SD卡使用FatFS二合一例子,QPSI和SDIO均使用DMA方式加速
https://forum.anfulai.cn/forum.php?mod=viewthread&tid=96817

23.png
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-10-7 13:42:37 | 显示全部楼层
eric2013 发表于 2024-10-7 09:26
没有这个限制,看我这个帖子的例子,就仅勾选了IRAM2

十分感谢,对比了下代码,发现还是DMA数据一致性的问题。在MPU关闭0x240000000后面512KB区域的缓存就解决了





回复

使用道具 举报

4

主题

1459

回帖

1471

积分

至尊会员

积分
1471
发表于 2024-10-8 08:52:57 | 显示全部楼层
vrxiaojie 发表于 2024-10-7 13:42
十分感谢,对比了下代码,发现还是DMA数据一致性的问题。在MPU关闭0x240000000后面512KB区域的缓存就解决 ...

关了那么大一片区域的缓存,不妥吧?
回复

使用道具 举报

34

主题

206

回帖

308

积分

高级会员

积分
308
发表于 2024-10-8 09:01:15 | 显示全部楼层
是不是DMA区域 自动分配到不支持DMA的位置去了
可以给他强制分配到IRAM1
回复

使用道具 举报

3

主题

5

回帖

14

积分

新手上路

积分
14
 楼主| 发表于 2024-10-8 13:34:40 | 显示全部楼层
morning_enr6U 发表于 2024-10-8 08:52
关了那么大一片区域的缓存,不妥吧?

确实,回完帖子又回去捣鼓,就发现问题了。我屏幕刷新走的DMA,这块缓存关了屏幕滑动帧数骤降。
目前解决方法是开启这片区域的缓存,且在底层QSPI Flash驱动的读写等操作函数内加上SCB_CleanInvalidateDCache();  ,这样一来文件系统的读写OK,屏幕刷新帧数也正常
回复

使用道具 举报

4

主题

1459

回帖

1471

积分

至尊会员

积分
1471
发表于 2024-10-8 14:31:23 | 显示全部楼层
vrxiaojie 发表于 2024-10-8 13:34
确实,回完帖子又回去捣鼓,就发现问题了。我屏幕刷新走的DMA,这块缓存关了屏幕滑动帧数骤降。
目前解 ...

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 18:25 , Processed in 0.077931 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表