cc3200 ti文件系统
cc3200 文件操作,sl_FsOpen以写方式打开FS_MODE_OPEN_WRITE,会把文件内容先清除? 是否有接口可以不清除原有文件内容,可以继续写文件的?
cc3200 flash大小,file operation demo里写着1M的serial flash, 有的写着8M, 这具体哪里有文档有介绍,cc3200flash的大小,看了参数及一些文档介绍都没看到有说明的
不会啊,你只用FS_MODE_OPEN_WRITE的选项,然后通过文件的偏移量去写。
我这么操作过, 第二次打开时发现之前写的内容全部没有了 ,我需要的是一个追加的效果
ti的文件操作怎么才能创建一个超过比如512k或者更大的文件,我使用的file operation demo进行测试的
能否粘贴一下你在原来例程基础上所修改过的代码?
long WriteFileToDevice(unsigned long *ulToken, long *lFileHandle)
{
long lRetVal = -1;
int iLoopCnt = 0;
SlFsFileInfo_t pFsFileInfo;
sl_FsGetInfo((unsigned char *)USER_FILE_NAME, 0, &pFsFileInfo);
Report("pFsFileInfo.AllocatedLen:%d\n\r",pFsFileInfo.AllocatedLen);
Report("pFsFileInfo.FileLen:%d\n\r",pFsFileInfo.FileLen);
sl_FsGetInfo((unsigned char *)USER_FILE_NAME, 0, &pFsFileInfo);
Report("pFsFileInfo.AllocatedLen:%d\n\r",pFsFileInfo.AllocatedLen);
Report("pFsFileInfo.FileLen:%d\n\r",pFsFileInfo.FileLen);
#if 1
lRetVal = sl_FsOpen((unsigned char *)USER_FILE_NAME,
_FS_MODE(_FS_MODE_OPEN_WRITE,0,sizeof(gaucOldMacDonald),0),
ulToken,
lFileHandle);
if(lRetVal < 0) {
if (lRetVal == SL_FS_ERR_FILE_NOT_EXISTS) {
lRetVal = sl_FsOpen((unsigned char *)USER_FILE_NAME,
FS_MODE_OPEN_CREATE(524288, \
_FS_FILE_OPEN_FLAG_COMMIT|_FS_FILE_PUBLIC_WRITE),
ulToken,
lFileHandle);
if(lRetVal < 0)
{
//
// File may already be created
//
UART_PRINT("[ZTJ]file alread created[%d].\n\r", lRetVal);
lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
//ASSERT_ON_ERROR(lRetVal);
return -1;
}
} else {
lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
ASSERT_ON_ERROR(FILE_OPEN_WRITE_FAILED);
}
}
sl_FsGetInfo((unsigned char *)USER_FILE_NAME, 0, &pFsFileInfo);
Report("pFsFileInfo.AllocatedLen:%d\n\r",pFsFileInfo.AllocatedLen);
Report("pFsFileInfo.FileLen:%d\n\r",pFsFileInfo.FileLen);
//
// write "Old MacDonalds" child song as many times to get just below a 64KB file
//
for (iLoopCnt = 0;
iLoopCnt < (SL_MAX_FILE_SIZE / sizeof(gaucOldMacDonald));
iLoopCnt++)
{
lRetVal = sl_FsWrite(*lFileHandle,
(unsigned int)(iLoopCnt * sizeof(gaucOldMacDonald)),
(unsigned char *)gaucOldMacDonald, sizeof(gaucOldMacDonald));
if (lRetVal < 0)
{
UART_PRINT("[ZTJ] Write file failed[%d], writebytes=%d.\n\r", lRetVal, (iLoopCnt * sizeof(gaucOldMacDonald)));
lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
ASSERT_ON_ERROR(FILE_WRITE_FAILED);
}
}
UART_PRINT("[ZTJ] End to write.\n\r");
//
// close the user file
//
lRetVal = sl_FsClose(*lFileHandle, 0, 0, 0);
if (SL_RET_CODE_OK != lRetVal)
{
ASSERT_ON_ERROR(FILE_CLOSE_ERROR);
}
sl_FsGetInfo((unsigned char *)USER_FILE_NAME, 0, &pFsFileInfo);
Report("pFsFileInfo.AllocatedLen:%d\n\r",pFsFileInfo.AllocatedLen);
Report("pFsFileInfo.FileLen:%d\n\r",pFsFileInfo.FileLen);
return SUCCESS;
}
您好!
请问CC3200外挂flash所采用的文件系统类型是哪一种?(FAT32还是其他)谢谢!
flash大小:1MB=8Mb。 两种说法是一致的!
这个文件系统类型怎么在设备上查看? 这个ti文件系统的材料好像很少?能不能发下介绍ti文件系统的链接
这个文件系统是TI自己设计的一种文件系统。
相关材料的话在SDK的安装目录下的C:\ti\CC3200SDK_1.0.0\cc3200-sdk\docs\simplelink_api