硬汉嵌入式论坛

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

[有问必答] F407没有外扩ram,加大内存管理的时候出现奇怪的现象

[复制链接]

24

主题

51

回帖

123

积分

初级会员

积分
123
发表于 2021-3-30 22:58:51 | 显示全部楼层 |阅读模式
本帖最后由 熊大 于 2021-3-30 23:25 编辑

硬汉哥,今天调试软件的时候出现了奇怪的问题,平台是STM32F407ZGT6,搭载了FREERTOS、EMWIN和FATFS,我加大了如图1和图2的内存后,直接发现FATFS出现DISK_ERR的报错,代码追踪下来,发现是FATFS在调用HAL_SD_ReadBlocks_DMA的时候,DMA中断进不去导致超时了,但把内存修改小一些,就正常了,按理说内存如果过大了,直接宕机了,但从图3来看,我申请的内存也没有过大呀,才60kb多,为什么会出现中断进不去的现象呢?
2.png
3.png
1.png
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2021-3-31 09:11:00 | 显示全部楼层
一般这种加大了反而异常的神奇问题,说明你的程序里面大概率隐藏着其他bug
回复

使用道具 举报

24

主题

51

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2021-3-31 10:57:45 | 显示全部楼层
eric2013 发表于 2021-3-31 09:11
一般这种加大了反而异常的神奇问题,说明你的程序里面大概率隐藏着其他bug

硬汉哥,后面调试过程中 我尝试过 只开了GUI一个线程和SD卡一个线程,GUI只进行了GUI_Init();然后就while(1)了,另外SD卡线程挂载成功后,进行其他的操作就直接是DISK_ERR (如果把GUI_Init()注释掉,也正常了),难道是我移植的emwin有问题?但内存改小也正常, 有点头疼。。
回复

使用道具 举报

24

主题

51

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2021-3-31 22:31:04 | 显示全部楼层
熊大 发表于 2021-3-31 10:57
硬汉哥,后面调试过程中 我尝试过 只开了GUI一个线程和SD卡一个线程,GUI只进行了GUI_Init();然后就while ...

找到原因了。。。加大内存分配后,FS句柄被自动分配到CCM了。。。。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2021-4-2 08:14:24 | 显示全部楼层
熊大 发表于 2021-3-31 22:31
找到原因了。。。加大内存分配后,FS句柄被自动分配到CCM了。。。。

谢谢告知最终原因。
回复

使用道具 举报

24

主题

51

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2021-4-5 13:34:07 | 显示全部楼层
eric2013 发表于 2021-4-2 08:14
谢谢告知最终原因。

,应该的,大家一起互相帮助
回复

使用道具 举报

337

主题

2048

回帖

3064

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3064
发表于 2021-4-14 08:33:10 | 显示全部楼层
FatFS会自己使用DMA吗?? 感觉不对啊。。。
回复

使用道具 举报

337

主题

2048

回帖

3064

积分

版主

Rank: 7Rank: 7Rank: 7

积分
3064
发表于 2021-4-14 08:33:50 | 显示全部楼层
你可以把CCM全部分配给RTOS的heap。 反正它不用dma
回复

使用道具 举报

24

主题

51

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2021-4-14 10:32:05 | 显示全部楼层
caicaptain2 发表于 2021-4-14 08:33
FatFS会自己使用DMA吗?? 感觉不对啊。。。

不会,我sdio操作方式是dma中断
f_mount的时候句柄变量被keil自动划分到ccm内存去了,FATFS句柄里面 会有一小块buf
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-6-13 16:43 , Processed in 0.191026 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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