Joy_Zhang 发表于 2023-4-18 14:14:00

FileX+LevelX SPI NandFlash 读写文件正常,重新开机之后找不到原来的文件

本帖最后由 Joy_Zhang 于 2023-4-18 15:43 编辑

    fx_media_format(&nand_disk,
                            drv_nandflash_Driver,            // Driver entry
                            FX_NULL,                         // Unused
                            media_memory,                     // Media buffer pointer
                            sizeof(media_memory),             // Media buffer size
                            "FX_Disk",                     // Volume Name, max 11 bytes
                            1,                              // Number of FATs
                            32,                               // Directory Entries
                            0,                              // Hidden sectors
                            W25_PAGE_COUNT,                   // Total sectors
                            W25_PAGE_MEM_SIZE,                // Sector size   
                            8,                              // Sectors per cluster
                            1,                              // Heads
                            1);                               // Sectors per track

// 采用SPI读写NandFlash W25N01 ,读写底层驱动都正常
fx_media_format -> fx_media_open -> fx_file_create -> fx_file_open -> fx_file_seek -> fx_file_write -> fx_file_close -> fx_media_flush写(test.txt)都正常
fx_file_create -> fx_file_open -> fx_file_seek -> fx_file_write -> fx_file_close 读取(test.txt)也正常
但是掉电之后,重新调用fx_media_format,发现找不到test.txt文件
有碰到过类似问题的



eric2013 发表于 2023-4-18 17:59:46

这个测试非常有价值。

fx_media_format仅调用一次就行了。

Joy_Zhang 发表于 2023-4-23 17:15:52

eric2013 发表于 2023-4-18 17:59
这个测试非常有价值。

fx_media_format仅调用一次就行了。

感谢回复,仅调用一次之后发现还是找不到文件。
我把FileX和LevelX都升级到了6.2.1还是一样。status = fx_media_open(&nand_disk, "NandDisk", drv_nandflash_Driver, FX_NULL, media_memory, sizeof(media_memory));
    /* Check the media open status.*/
    if (status == FX_SUCCESS)
    {
      M_TraceL("Fx Open Success");
      drv_nandflash_IsInit();
      app_file_RootView();
      // osKernel->task_terminate(task_file);
    }
    else
    {
      status = fx_media_format(&nand_disk,
                                    drv_nandflash_Driver,            // Driver entry
                                    FX_NULL,                         // Unused
                                    media_memory,                     // Media buffer pointer
                                    sizeof(media_memory),             // Media buffer size
                                    "FX_Disk",                     // Volume Name, max 11 bytes
                                    1,                              // Number of FATs
                                    32,                               // Directory Entries
                                    0,                              // Hidden sectors
                                    W25_PAGE_COUNT,                   // Total sectors
                                    W25_PAGE_MEM_SIZE,                // Sector size   
                                    8,                              // Sectors per cluster
                                    1,                              // Heads
                                    1);                               // Sectors per track
      status = fx_media_open(&nand_disk, "NandDisk", drv_nandflash_Driver, FX_NULL, media_memory, sizeof(media_memory));
      if (status == FX_SUCCESS)
      {
            M_TraceL("Fx Open Success");
            drv_nandflash_IsInit();
            app_file_RootView();
            // osKernel->task_terminate(task_file);
      }
    }

eric2013 发表于 2023-4-24 09:12:09

首次使用格式化一次,后面重新上电,不要再格式化试试

Joy_Zhang 发表于 2023-4-24 15:21:13

eric2013 发表于 2023-4-24 09:12
首次使用格式化一次,后面重新上电,不要再格式化试试


我不再格式化还是一样,有空帮忙看看是不是哪里有问题




Joy_Zhang 发表于 2023-5-10 14:23:27

问题已经解决!

zhang0352505 发表于 2023-5-10 15:10:17

Joy_Zhang 发表于 2023-5-10 14:23
问题已经解决!

什么原因呢?可否告知?

tgyd 发表于 2023-12-26 10:38:38

问题怎么解决?

qwerz123 发表于 2023-12-27 16:46:57

我发现我遇到了类似的问题,可否告知问题怎么解决的
页: [1]
查看完整版本: FileX+LevelX SPI NandFlash 读写文件正常,重新开机之后找不到原来的文件