微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI WIFI设计交流 > cc3200 ti文件系统

cc3200 ti文件系统

时间:10-02 整理:3721RD 点击:

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

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top