硬汉嵌入式论坛

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

[RL-FlashFS] 使用keil mdk5 文件系统中间件读写NAND flash DeviceTimeoutError问题

[复制链接]

1

主题

1

回帖

4

积分

新手上路

积分
4
发表于 2019-5-29 17:22:16 | 显示全部楼层 |阅读模式
本帖最后由 Ken_UBvu0 于 2019-5-29 17:23 编辑

1.PNG 利用NAND_MemBus.c的读写函数可以擦除,读写flash都是正确的
但利用了文件操作函数
2.PNG
先检测是否挂载成功,不成功就进行格式化,EventRecorder 捕捉错误,第一个应该是fmount的返回的错误,第二个应该fformat返回的错误,fformat一直提示DeviceTimeoutError是什么原因
捕获.PNG
Driver_NAND0_GetDeviceBusy这个函数也已经定义了
4.PNG
3.PNG

回复

使用道具 举报

1

主题

1

回帖

4

积分

新手上路

积分
4
 楼主| 发表于 2019-5-29 17:33:07 | 显示全部楼层
5.PNG RY为busy信号
用逻辑分析仪也看出,利用文件操作函数过程中,当busy为忙过程中,
有相当多的读写操作,正常的不是要等busy为不忙时才可以进行命令数据的读写?
keil mdk的文件中间件是怎样的工作原理,估计不成功的原因NAND芯片还在忙的时候,
例如擦除芯片时候,就马上进行着其它的读写操作,但又不知道如何下手去修改
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2019-5-29 17:47:27 | 显示全部楼层
利用NAND_MemBus.c的读写函数操作是先擦除指定的区块,写入A5数据,然后再读出
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-5-30 09:28:19 | 显示全部楼层
过段时间有精力了,发布基于H7的新版RL-FlashFS和RL-USB的完整解决方案
回复

使用道具 举报

1

主题

4

回帖

7

积分

新手上路

积分
7
发表于 2019-5-31 11:57:08 | 显示全部楼层
已经解决了,不能直接用中间件驱动,要稍作修改
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-5-31 14:29:21 | 显示全部楼层
Ken_xmg7q 发表于 2019-5-31 11:57
已经解决了,不能直接用中间件驱动,要稍作修改

谢谢告知问题原因。
回复

使用道具 举报

0

主题

1

回帖

1

积分

新手上路

积分
1
发表于 2019-8-12 16:31:46 | 显示全部楼层
Ken_xmg7q 发表于 2019-5-31 11:57
已经解决了,不能直接用中间件驱动,要稍作修改

你好,能不能详细说明一下需要怎么改呢
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2019-8-12 17:20:25 | 显示全部楼层
炳程 发表于 2019-8-12 16:31
你好,能不能详细说明一下需要怎么改呢

使用我这个

基于V7的新版RL-USB和RL-FlashFS的NAND完整解决方案,实现更简单,用户仅需初始化FMC
http://www.armbbs.cn/forum.php?m ... 4277&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 17:20:41 | 显示全部楼层
Ken_xmg7q 发表于 2019-5-31 11:57
已经解决了,不能直接用中间件驱动,要稍作修改

怎么解决的?不能用CMSIS的驱动?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2020-7-14 17:56:35 | 显示全部楼层
msdelphi 发表于 2020-7-14 17:20
怎么解决的?不能用CMSIS的驱动?

使用我这个

基于V7的新版RL-USB和RL-FlashFS的NAND完整解决方案,实现更简单,用户仅需初始化FMC
http://www.armbbs.cn/forum.php?mod=viewthread&tid=94277&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 19:28:42 | 显示全部楼层
eric2013 发表于 2020-7-14 17:56
使用我这个

基于V7的新版RL-USB和RL-FlashFS的NAND完整解决方案,实现更简单,用户仅需初始化FMC

试过,为何驱动不会调用Driver_NAND0_GetDeviceBusy呢?不需要等待?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2020-7-14 19:29:47 | 显示全部楼层
msdelphi 发表于 2020-7-14 19:28
试过,为何驱动不会调用Driver_NAND0_GetDeviceBusy呢?不需要等待?

自己底层做处理就行,我们的读写函数里面已经自带。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 20:26:04 | 显示全部楼层
读写函数不是MemBus吗?bsp_fmc_nand_flash 里只是用了初始化和format,waitbusy 不就是等待,为何不调用呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2020-7-14 21:03:58 | 显示全部楼层
msdelphi 发表于 2020-7-14 20:26
读写函数不是MemBus吗?bsp_fmc_nand_flash 里只是用了初始化和format,waitbusy 不就是等待,为何不调用呢 ...

老版的是底层带的,是我们自己提供的。

新版的是CMSIS-Driver不用管,是FlashFS自己处理的。

该加的都加上了即可。如果你手头有我们V7板子的话,可以批量测试下。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 21:20:20 | 显示全部楼层
用你的例子是可以的,放到我工程里就不行了,似乎跟SDRAM冲突? 关掉SDRAM,可以进行format,但是超级慢
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 21:21:35 | 显示全部楼层
并且你的例子,每次重启就需要再次初始化
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2020-7-14 21:24:09 | 显示全部楼层
msdelphi 发表于 2020-7-14 21:20
用你的例子是可以的,放到我工程里就不行了,似乎跟SDRAM冲突? 关掉SDRAM,可以进行format,但是超级慢

那就是你板子有问题啊,好好查查。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
发表于 2020-7-14 21:25:56 | 显示全部楼层
msdelphi 发表于 2020-7-14 21:21
并且你的例子,每次重启就需要再次初始化

不是每次都要初始化,这个是我们案例的一种调用方式,每个操作都是一个完整的: 初始化->读写操作->卸载等流程  ,方便大家了解这些函数,要不卸载函数都不知道放到哪里了。
就帮你这么多吧,剩下你自己再研究研究什么鬼。
回复

使用道具 举报

0

主题

6

回帖

6

积分

新手上路

积分
6
发表于 2020-7-14 22:19:34 | 显示全部楼层
  多谢版主
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 06:45 , Processed in 0.228507 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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