硬汉嵌入式论坛

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

STMF7 RL_FlashFS能否在M7内核上使用?

[复制链接]

58

主题

118

回帖

292

积分

高级会员

积分
292
发表于 2018-1-11 16:05:51 | 显示全部楼层 |阅读模式
如题,简单试了下,能读到卡容量,但启动DMA读sector时,SD的 STA寄存器显示DCRCFAIL,考虑到可能是cache在作怪,配置MPU使对应的RAM为透写,还是初始化不成功,总是 DCRCFAIL。
回复

使用道具 举报

58

主题

118

回帖

292

积分

高级会员

积分
292
 楼主| 发表于 2018-1-11 20:56:17 | 显示全部楼层
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107049
QQ
发表于 2018-1-12 11:00:30 | 显示全部楼层
F7的话,建议还是用MDK5中带的文件系统,是RL-FlashFS的升级版。

使用MDK4里面的也是没问题的,主要是那个底层接口函数需要你实现下,看看之前F4的能通用到F7下不。
回复

使用道具 举报

58

主题

118

回帖

292

积分

高级会员

积分
292
 楼主| 发表于 2018-1-16 14:21:34 | 显示全部楼层
本帖最后由 yuanfp 于 2018-1-16 14:25 编辑
eric2013 发表于 2018-1-12 11:00
F7的话,建议还是用MDK5中带的文件系统,是RL-FlashFS的升级版。

使用MDK4里面的也是没问题的,主要是那 ...

M4的直接搬过来,keil官方模板。注意几个问题:
①注掉SYSCFG->CMPCR |= SYSCFG_CMPCR_CMP_PD,否则死机。
②M7确实是非一般的速度,设置完总线时钟,如果立即send cmd,结果就是初始化不成功。要等待卡同步。折腾了好几天,发现class 10的卡一把就能成功,class4的死活成功不了,原因就在这。所以
SDMMC1->CLKCR = (SDMMC1->CLKCR & ~0xFF)  | SDMMC_CLKCR_CLKEN | div;
Delay(0x10000);//延时很重要!!!,然后还不成功,没关系,用以下写法即可:
do{
                    status=finit("M0:");
                    if(status==0)
                    {
                        SDInitSuccess=1;
                        break;
                    }
                    vTaskDelay(1);
                }while(status1++<3);③ 文件系统缓存重映射在外部,否则DMA传输,又会遇到cache,数据不同步,而且RL_FlashFS SD卡的回调函数很难刷新cache,所以,重映射后直接设置为WT。
这些操作M4里都是不用的。憋了好几天。。。。
  

回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-15 17:04 , Processed in 0.212931 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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