使用UFFS作为NANDFLASH的文件系统,一直都很稳定,近段时间在根目录下创建directory,发现一个问题。
在根目录中读取文件时,文件名可以使用小写来打开,但是当在directory中引用文件路径时,文件名使用小写的无法正常
打开。使用大写字母时(包括后缀名)就可以正常引用。
使用simulator测试了一下,一切正常,步骤如下
在rtconfig.h中开启然后重新编译,然后再finsh中测试。注意,/disk/nand目录挂载的是uffs文件系统
finsh />cd(“/disk/nand”)
0, 0x00000000finsh /disk/nand>ls()
Directory /disk/nand:
a
b
ui.7z 15768
ui2.7z 15768
ui3.7z 15768
SDL-devel-1.2.14-VC8.zip302220
SDL.dll 324096
0, 0x00000000finsh /disk/nand>copy(“/abc.txt”, “abc.txt”)
0, 0x00000000finsh /disk/nand>ls()
Directory /disk/nand:
a
b
ui.7z 15768
ui2.7z 15768
ui3.7z 15768
SDL-devel-1.2.14-VC8.zip302220
SDL.dll 324096
abc.txt 16
0, 0x00000000finsh /disk/nand>cat(“abc.txt”)
你好,测试uffs。 0, 0x00000000
finsh /disk/nand>继续测试
finsh /disk/nand>cd(“a”)
0, 0x00000000
finsh /disk/nand/a>copy(“../abc.txt”, “abc.txt”)
0, 0x00000000finsh /disk/nand/a>ls()
Directory /disk/nand/a:
abc.txt 16
0, 0x00000000
finsh /disk/nand/a>cat(“abc.txt”)你好,测试uffs。 0, 0x00000000
一切正常。
谢谢您的解答和测试。
经过测试,我找到了问题所在,表述如下:
1:我的优盘文件为文件夹”tu”:
tu:
call.jpg
key.jpg
news.jpg
next.jpg
point.jpg
report.jpg
set.jpg
station.jpg
stop.jpg
2.我自己编写了一个文件夹下载的程序,下载的打印信息如下:
—function:
file_folder — folder_load(“a”).
finsh>>file_folder(“tu”)
us_root: us_root_thread_entry, 44619
0, 0x00000000
finsh>>create directory ‘/tu’
loading /tu/CALL.JPG
loading /tu/KEY.JPG
loading /tu/NEWS.JPG
loading /tu/NEXT.JPG
loading /tu/POINT.JPG
loading /tu/REPORT.JPG
loading /tu/SET.JPG
loading /tu/STATION.JPG
loading /tu/STOP.JPG
loading /tu/THUMBS.DB
download file tu completed
从这里开始文件的名字已经从优盘的小写名字变为大写的了。
3.
finsh>>ls(“/tu”)
Directory /tu:
CALL.JPG 3504
KEY.JPG 9220
NEWS.JPG 3144
NEXT.JPG 1780
POINT.JPG 1822
REPORT.JPG 3010
SET.JPG 2928
STATION.JPG 1982
STOP.JPG 1772
THUMBS.DB 17408
0, 0x00000000
存储在uffs中文件名都以大写来表示了。
所以我在引用的时候会出现使用在优盘的名字无法引用,而必须使用文件系统的大写名字来引用。
不知道为什么文件名就自动的更改为大写的了,有什么不对的地方,还望指点一下!
问 uffs 文件名问题