搜索
bottom↓
回复: 9

RTT带的文件系统,支持长文件名,如何设置?

[复制链接]

出0入4汤圆

发表于 2010-8-11 08:45:14 | 显示全部楼层 |阅读模式
FatFs - FAT file system module include file  R0.07e

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2010-8-11 08:51:42 | 显示全部楼层
有个修改一下一个宏定义,但是我修改了后,发现有很多地方都要修改!~~

出0入0汤圆

发表于 2010-8-11 09:05:32 | 显示全部楼层
Radio就支持长文件名,没看它改了很多

出0入4汤圆

 楼主| 发表于 2010-8-11 09:14:04 | 显示全部楼层
回复【2楼】ffxz
radio就支持长文件名,没看它改了很多
-----------------------------------------------------------------------

我看RADIO代码中
ffconf.h
#define        _USE_LFN        0                /* 0, 1 or 2 */

这个没有置1啊,不是要置1才能支持长文件名吗?

出0入0汤圆

发表于 2010-8-11 09:17:10 | 显示全部楼层
你下的是什么时候的程序?

出0入0汤圆

发表于 2010-8-11 09:17:37 | 显示全部楼层
#define RT_DFS_ELM_USE_LFN

不过你需要再看看,因为Radio和官方的FatFs版本有些不同,官方的FatFs带了一个超大的转换表,而gzhuli则把它改成文件带cache的方式。
(如果也提供了那个转换表文件,那么应该也没什么问题)

出0入0汤圆

发表于 2010-8-11 10:08:34 | 显示全部楼层
因为转换表每个单元只占2个字节.所以 gzhuli 一直没找到好的cache方法.
于是,许久后.突然直接不用cache试试,效果也还可以.

elm_fat主要是实现 ff_convert 和 ff_wtoupper,两个函数.
默认在 elm_fat 的 option 目录任选一个文件来实现(使用二分法查表,占用体积较小).

RADIO把转接表放在文件系统中(表大小128K,不使用查表法,绝对定位.提高性能).

在 rtconfig.h 添加了 RT_DFS_ELM_USE_LFN ,然后 utils.c 中实现了这两个函数.

ffconf.h 中改成
#ifdef RT_DFS_ELM_USE_LFN
#define        _USE_LFN        1                /* 0, 1 or 2 如果把转接表放在文件中,则这里自动定义 */
#else
#define        _USE_LFN        0                /* 0, 1 or 2 如果不把转接表放在文件中,则在这里手动修改,并添加 option 中的 cc936.c */
#endif

出0入0汤圆

发表于 2010-8-11 13:19:55 | 显示全部楼层
回复【2楼】ffxz
radio就支持长文件名,没看它改了很多
-----------------------------------------------------------------------

radio 采用的是 elm_fat

FatFs 怎么实现呢?

出0入0汤圆

发表于 2010-8-11 14:07:08 | 显示全部楼层
R0.08, May 15, 2010
  Added a memory configuration option. (_USE_LFN)
  Added file lock feature. (_FS_SHARE)
  Added fast seek feature. (_USE_FASTSEEK)
  Changed some types on the API, XCHAR->TCHAR.
  Changed fname member in the FILINFO structure on Unicode cfg.
  String functions support UTF-8 encoding files on Unicode cfg.

出0入0汤圆

发表于 2010-9-6 22:47:58 | 显示全部楼层
R0.08a, Aug 16, 2010
  Added f_getcwd(). (_FS_RPATH = 2)
  Added sector erase feature. (_USE_ERASE)
  Moved file lock semaphore table from fs object to the bss.
  Fixed a wrong directory entry is created on non-LFN cfg when the given name contains ';'.
  Fixed f_mkfs() creates wrong FAT32 volume.
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 05:16

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

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