硬汉嵌入式论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: eric2013
收起左侧

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

  [复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-12-12 08:21:28 | 显示全部楼层
jungle1989 发表于 2023-12-11 17:43
谢谢硬汉哥,Keil5.30编译成功,使用的是MT29F4G08ABADA,文件写入成功,也能正常查询到目录,但读文件失败 ...

可以微调下你的FMC参数试试。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-12 12:53:58 | 显示全部楼层
eric2013 发表于 2023-12-12 08:21
可以微调下你的FMC参数试试。

硬汉哥,我调试了FMC 的以下几个参数, 调到10也是一样的效果



hNand.Init.TCLRSetupTime = 3;                                /* CLE低和RE低之间的延迟,HCLK周期数 */       
hNand.Init.TARSetupTime = 3;                             /* ALE低和RE低之间的延迟,HCLK周期数 */
   
CommonSpaceTiming.SetupTime = 3;
CommonSpaceTiming.WaitSetupTime = 5;
CommonSpaceTiming.HoldSetupTime = 3;
CommonSpaceTiming.HiZSetupTime = 3;
   
AttributeSpaceTiming.SetupTime = 3;
AttributeSpaceTiming.WaitSetupTime = 5;
AttributeSpaceTiming.HoldSetupTime = 3;
AttributeSpaceTiming.HiZSetupTime = 3;



NANDFLASH配置参数如下:

#elif NAND_TYPE == MT29F4G08ABADA
        #define NAND_PAGE_SIZE             ((uint16_t)0x0800) /* 2 * 1024 bytes per page w/o Spare Area */
        #define NAND_BLOCK_SIZE            ((uint16_t)0x0040) /* 64 pages per block */
        #define NAND_ZONE_SIZE             ((uint16_t)0x0800) /* 2048 Block per zone */
        #define NAND_SPARE_AREA_SIZE       ((uint16_t)0x0040) /* last 64 bytes as spare area */
        #define NAND_MAX_ZONE              ((uint16_t)0x0002) /* 2 zones of 2048 block */
        #define NAND_ADDR_5                                        1                        /* 0表示只发送4个字节的地址,1表示5个 */

        #define MAX_PHY_BLOCKS_PER_ZONE     2048        /* 每个区最大物理块号 */
        #define MAX_LOG_BLOCKS_PER_ZONE     2000        /* 每个区最大逻辑块号 */

        #define NAND_BLOCK_COUNT                        4096 /* 块个数 */
        #define NAND_PAGE_TOTAL_SIZE                (NAND_PAGE_SIZE + NAND_SPARE_AREA_SIZE)        /* 页面总大小 */



NAND FLASH Driver0 配置如下:
1.png

打印情况:


挂载文件系统成功 (fsOK:成功)
------------------------------------------------------------------
打开文件N0:\test\test1.txt成功,如果没有子文件夹和txt文件会自动创建
武汉安富莱电子有限公司
2015-09-06
www.armfly.com
WWW.ARMFLY.COM 写入内容成功
打开文件N0:\test\test2.txt成功,如果没有子文件夹和txt文件会自动创建
2 10 11.100000
写入内容成功
打开文件N0:\test\test3.txt成功,如果没有子文件夹和txt文件会自动创建
武汉安富莱电子有限公司
写入内容成功
卸载文件系统成功
------------------------------------------------------------------

[2023-12-12 12:37:59.397]# RECV ASCII>
【5 - ReadFileData】

[2023-12-12 12:37:59.763]# RECV ASCII>
挂载文件系统成功 (fsOK:成功)
------------------------------------------------------------------
<1>打开文件M0:\test\test1.txt成功
读内容失败

<2>打开文件M0:\test\test2.txt成功
读内容失败

<3>打开文件N0:\test\test3.txt成功
读内容失败
卸载文件系统成功
------------------------------------------------------------------

另外
读取ID正常,读取文件夹信息也正常。其他还有哪些地方需要注意的呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-12-13 07:58:57 | 显示全部楼层
jungle1989 发表于 2023-12-12 12:53
硬汉哥,我调试了FMC 的以下几个参数, 调到10也是一样的效果

还有这个地址别配置反了

RL-FlashFS V6.X驱动NAND注意ALE和CLE地址设置,不要配置反了
https://www.armbbs.cn/forum.php? ... 4212&fromuid=58
(出处: 硬汉嵌入式论坛)
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-13 18:24:16 | 显示全部楼层
eric2013 发表于 2023-12-13 07:58
还有这个地址别配置反了

RL-FlashFS V6.X驱动NAND注意ALE和CLE地址设置,不要配置反了

这两个地址反了,读写都失败,我用另一个bootloader工程也不行,也都是读失败
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-12-14 08:04:21 | 显示全部楼层
jungle1989 发表于 2023-12-13 18:24
这两个地址反了,读写都失败,我用另一个bootloader工程也不行,也都是读失败

还有个要注意的地方是不使用文件系统,你那边裸机读写正常不。

如果这个正常,剩下主要就是查文件系统问题了。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-14 08:41:35 | 显示全部楼层
eric2013 发表于 2023-12-14 08:04
还有个要注意的地方是不使用文件系统,你那边裸机读写正常不。

如果这个正常,剩下主要就是查文件系统 ...

祼机程序是正常的,就是想用上RL-flashFS文件系统,看以前的贴子,只需要初始化FMC,看着挻简单的,硬汉哥,有没有这种文件系统的移植说明或教程之类的,看官方文档里面需要实现5个函数的实现。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-14 08:41:57 | 显示全部楼层
eric2013 发表于 2023-12-14 08:04
还有个要注意的地方是不使用文件系统,你那边裸机读写正常不。

如果这个正常,剩下主要就是查文件系统 ...

祼机程序是正常的,就是想用上RL-flashFS文件系统,看以前的贴子,只需要初始化FMC,看着挻简单的,硬汉哥,有没有这种文件系统的移植说明或教程之类的,看官方文档里面需要实现5个函数的实现。
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106660
QQ
 楼主| 发表于 2023-12-15 08:32:48 | 显示全部楼层
jungle1989 发表于 2023-12-14 08:41
祼机程序是正常的,就是想用上RL-flashFS文件系统,看以前的贴子,只需要初始化FMC,看着挻简单的,硬汉 ...

最后一个地方,如果是H7系列,特别注意MPU/Cache问题。
回复

使用道具 举报

0

主题

8

回帖

8

积分

新手上路

积分
8
发表于 2023-12-16 09:54:36 | 显示全部楼层
eric2013 发表于 2023-12-15 08:32
最后一个地方,如果是H7系列,特别注意MPU/Cache问题。

我的是STM32H747系列,MPU/Cache的配置用的是例程的配置,看了都有正确配置。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 04:04 , Processed in 0.181581 second(s), 26 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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