Cc3200从flash读取一个.txt文件,里面明明有好多字符,但文件长度为0,里面没有数据?什么原因,求解?
各位TI工程师,以及论坛的大牛你们好,我想请教一下你,用CCS UniFlash工具 Add File 一个文件到flash
Name: /test
Url:C:\Users\Administrator\Desktop\test.txt
然后我把新添加的这个/test目录以及test.txt(一个普通的txt文件,存放在电脑桌面)同步到flash,我用的是C:\ti\CC3200SDK_1.0.0\cc3200-sdk\example\file_operations这个实例,然后通过下面代码读取/test.txt
===》
#define USER_FILE_NAME_T "/test"
//#define USER_FILE_NAME_T "/test/test.txt"
//#define USER_FILE_NAME_T "/test.txt"
long lRetVal = -1;
int iLoopCnt = 0;
unsigned long READ_SIZE = 100;
unsigned long ulToken_t = 0;
//
// open a user file for writing
//
lRetVal = sl_FsOpen((unsigned char *)USER_FILE_NAME_T,
FS_MODE_OPEN_WRITE,
ulToken,
lFileHandle);
if(lRetVal < 0)
{
lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
ASSERT_ON_ERROR(FILE_OPEN_WRITE_FAILED);
}else{
Report("open dir/file is succeed ! \n\r");
}
SlFsFileInfo_t pFsFileInfo;
sl_FsGetInfo((unsigned char *)USER_FILE_NAME_T, ulToken_t, &pFsFileInfo);
Report("pFsFileInfo.AllocatedLen:%d\n\r",pFsFileInfo.AllocatedLen);
Report("pFsFileInfo.FileLen:%d\n\r",pFsFileInfo.FileLen);
Report("-----------------------------------------------\n\r");
Report("read data: \n\r");
在终端打印的情况是下面:
==========================================================
open dir/file is succeed !
pFsFileInfo.AllocatedLen:7752
pFsFileInfo.FileLen:0
-----------------------------------------------
read data:
==========================================================
pFsFileInfo.FileLen:0--->这个文件长度居然是0,
我也尝试着改变目录读取,USER_FILE_NAME_T(就是改变这个宏所指向的路劲,经过几次尝试后,用/test这个路劲总算能打开了,但pFsFileInfo.FileLen 居然是0),请问你有碰到过,或是知道怎么解决吗?谢谢了,搞了好久了,还是没有结果,来求助了!
读的文件名要跟你烧录的名字一样,比如/sys/mcuimg.bin
万分感激!谢谢回答!
我有些不明白,他两次操作用的都是“USER_FILE_NAME_T”,这样文件名不是相同么?