硬汉嵌入式论坛

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

[RL-FlashFS] fformat函数不返回

[复制链接]

1

主题

5

回帖

8

积分

新手上路

积分
8
发表于 2025-7-14 14:35:28 | 显示全部楼层 |阅读模式
使用老版本的rl-flashfs(v4.74),通过裸机的方式移植到freertos项目中,单开一个任务跑文件系统。发现文件系统任务会被别的任务影响,例如串口缓存的大小会导致flash格式化不成功(fformat函数不返回)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-7-15 10:12:49 | 显示全部楼层
格式化期间可以先开个任务锁,这种i情况是不是可以。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-7-15 11:10:53 | 显示全部楼层
eric2013 发表于 2025-7-15 10:12
格式化期间可以先开个任务锁,这种i情况是不是可以。

试了,没解决
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-7-15 11:38:28 | 显示全部楼层
通过map观察能成功格式化和不能成功格式化固件的数据链接地址(串口缓存(静态数组)定义大小不同),未发现有什么关联
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 2025-7-19 17:33:58 | 显示全部楼层
xumiaohua1995 发表于 2025-7-15 11:38
通过map观察能成功格式化和不能成功格式化固件的数据链接地址(串口缓存(静态数组)定义大小不同),未发 ...

还有个地方可以排查下,程序里面不调用printf打印之类的函数,是否正常,如果正常可能是底层重定向的问题。

我之前的分享的程序有个retarget.c文件。专门管理这个重定向使用的。
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 2025-7-24 14:55:40 | 显示全部楼层
eric2013 发表于 2025-7-19 17:33
还有个地方可以排查下,程序里面不调用printf打印之类的函数,是否正常,如果正常可能是底层重定向的问题 ...

这个retarget文件已经在工程中使用了
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 4 天前 | 显示全部楼层
eric2013 发表于 2025-7-19 17:33
还有个地方可以排查下,程序里面不调用printf打印之类的函数,是否正常,如果正常可能是底层重定向的问题 ...

你好,问一下,在FS_NAND_FlashPrg.c中,下面几个函数该怎么设置
/* Define spare area layout */
  cfg->PgLay->Pos_LSN = 4;
  cfg->PgLay->Pos_COR = 2;
  cfg->PgLay->Pos_BBM = 0;
cfg->PgLay->Pos_ECC = 8;

  /* Define page organization */
  cfg->PgLay->SectInc  =  512;
  cfg->PgLay->SpareOfs =  2048;
cfg->PgLay->SpareInc =  16;
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 3 天前 | 显示全部楼层
xumiaohua1995 发表于 2025-8-7 16:20
你好,问一下,在FS_NAND_FlashPrg.c中,下面几个函数该怎么设置
/* Define spare area layout */
  c ...

上面那四个,我是默认。

下面这个我是手动设置的,要和你的芯片匹配

/* Define page organization */
  cfg->PgLay->SectInc  =  512;
  cfg->PgLay->SpareOfs =  2048;
cfg->PgLay->SpareInc =  16;
回复

使用道具 举报

1

主题

5

回帖

8

积分

新手上路

积分
8
 楼主| 发表于 3 天前 | 显示全部楼层
eric2013 发表于 2025-8-8 09:14
上面那四个,我是默认。

下面这个我是手动设置的,要和你的芯片匹配

现在就是fformat这个函数正常的时候大概延迟95s返回,不正常的时候一直不返回。正常与不正常取决于我给另外的静态变量的大小。唯一的规律就是静态变量大小改变8或者16(8还是16不一定)会使得fformat变得正常或不正常
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117512
QQ
发表于 前天 09:43 | 显示全部楼层
xumiaohua1995 发表于 2025-8-8 09:28
现在就是fformat这个函数正常的时候大概延迟95s返回,不正常的时候一直不返回。正常与不正常取决于我给另 ...


https://forum.anfulai.cn/forum.p ... &extra=page%3D2

1234.png
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-8-11 23:57 , Processed in 0.043515 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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