硬汉嵌入式论坛

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

[RL-FlashFS] 实际测试FlashFS不支持中文文件名(可以支持8.3短文件名中文了)

[复制链接]

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106938
QQ
发表于 2015-8-31 09:12:37 | 显示全部楼层 |阅读模式
实际测试FlashFS不支持中文文件名,这个算是FlashFS不太好的地方吧,不过实际项目用英文和数字也够了。现在已经可以正常显示
================================================================
找到原因了,是因为使用FlashFS的话,就不能再使用MicroLib。以前采用重定向fputc和fgetc实现的,并且开启微库。
不使用MicroLib会造成死机(微库没有使用半主机制,不使用微库的话,估计是开启了半主机制---待证实),
所以修改了重定向(采用MDK安装目录里面的),现在修改的函数是_sys_write等函数,不使用半主模式。
4.jpg

1.jpg
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2015-8-31 16:24:38 | 显示全部楼层
能不能改造成支持中文文件名呢  其实就是长文件名吧  长文件名里存的是unicode  需要在gb18030之间做下转换吧
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106938
QQ
 楼主| 发表于 2015-8-31 17:16:21 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:能不能改造成支持中文文件名呢  其实就是长文件名吧  长文件名里存的是unicode  需要在gb18030之间做下转换吧 (2015-08-31 16:24)
不是,短文件名无法正常显示,我将SD卡里面所有的文件都罗列出来,只有英文名正常显示了,中文名是乱码。按说应该跟FatFS一样,短文件名应该不会有问题的。
这个FlashFS不像FatFS有可以配置编码的地方。

比如我的卡是里面放的是这些文件:



实际显示的时候是这个样子的
1.jpg
2.jpg
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106938
QQ
 楼主| 发表于 2015-8-31 18:20:49 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:能不能改造成支持中文文件名呢  其实就是长文件名吧  长文件名里存的是unicode  需要在gb18030之间做下转换吧 (2015-08-31 16:24) 
已经可以正常显示了。是我串口打印的问题。
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2015-9-5 15:44:31 | 显示全部楼层
其实就是编码转换的问题,flashfs不进行这个工作,而普通的串口终端还是mdk的串口终端,都是使用ansi编码显示,具体是中文的话就是gbk了

所以我用例程新建一个中文名文件,在板子上仿真读回还是正确的中文名,但是在电脑上就是乱码了
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
106938
QQ
 楼主| 发表于 2015-9-5 17:34:21 | 显示全部楼层

回 myxiaonia 的帖子

myxiaonia:其实就是编码转换的问题,flashfs不进行这个工作,而普通的串口终端还是mdk的串口终端,都是使用ansi编码显示,具体是中文的话就是gbk了

所以我用例程新建一个中文名文件,在板子上仿真读回还是正确的中文名,但是在电脑上就是乱码了 (2015-09-05 15:44)
今天测试发现
使用仅支持短文件名的库 FSN_CM3.lib 显示中文文件名没事.
而使用 FS_CM3.lib 支持长文件名的库有这个问题,使用这个库读短文件名按说应该也是没问题的。
===========================================================================
1.png
回复

使用道具 举报

5

主题

578

回帖

593

积分

版主

Rank: 7Rank: 7Rank: 7

积分
593
发表于 2015-9-5 20:39:01 | 显示全部楼层

回 eric2013 的帖子

eric2013:今天测试发现
使用仅支持短文件名的库 FSN_CM3.lib 显示中文文件名没事.
而使用 FS_CM3.lib 支持长文件名的库有这个问题,使用这个库读短文件名按说应该也是没问题的。
===========================================================================
....... (2015-09-05 17:34) 
短文件名是没有编码转换的,所以看上去就没有问题了
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-11 02:54 , Processed in 0.174911 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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