硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1770|回复: 3
收起左侧

[其它] 文件读写的怪异现象。。

[复制链接]

50

主题

68

回帖

218

积分

高级会员

积分
218
发表于 2021-7-6 10:58:33 | 显示全部楼层 |阅读模式
    for(i = 0; i < 22; i++)
    {
        sprintf(bufU, "U0:\\huand\\JPEG\\base\\%02d.jpg", i);
        sprintf(bufN, "N0:\\huand\\JPEG\\base\\%02d.jpg", i);
        fdelete(bufN, NULL);
        fpU = fopen(bufU, "r");
        fpN = fopen(bufN, "w");

        while(!feof(fpU))
            {
            fread(&temp, 1, 1, fpU);
            fwrite(&temp, 1, 1, fpN);
            }
           
        fclose(fpU);
        fclose(fpN);

    }

如上代码,发现这样拷贝文件,有可能会不成功。比如NAND里已经有这个文件了,就无法覆盖。除非我在开头加入fformat。如果没有加fformat,而是加入红色字体的fdelete,先把文件删除再拷贝,就有可能导致硬件故障中断。。百思不得其解。硬汉兄帮忙分析一下?如下是我的NAND(MT29F4G08)配置,不清楚是否正确,也请帮忙看一下:
  /* hnand1.Init */
  hnand1.Init.NandBank = FMC_NAND_BANK3;
  hnand1.Init.Waitfeature = FMC_NAND_WAIT_FEATURE_DISABLE;
  hnand1.Init.MemoryDataWidth = FMC_NAND_MEM_BUS_WIDTH_8;
  hnand1.Init.EccComputation = FMC_NAND_ECC_ENABLE;
  hnand1.Init.ECCPageSize = FMC_NAND_ECC_PAGE_SIZE_2048BYTE;
  hnand1.Init.TCLRSetupTime = 1;
  hnand1.Init.TARSetupTime = 1;
  /* hnand1.Config */
  hnand1.Config.PageSize = 2048;
  hnand1.Config.SpareAreaSize = 64;
  hnand1.Config.BlockSize = 64;
  hnand1.Config.BlockNbr = 2048;
  hnand1.Config.PlaneNbr = 2;
  hnand1.Config.PlaneSize = 4096;
  hnand1.Config.ExtraCommandEnable = DISABLE;
  /* ComSpaceTiming */
  ComSpaceTiming.SetupTime = 3;
  ComSpaceTiming.WaitSetupTime = 5;
  ComSpaceTiming.HoldSetupTime = 4;
  ComSpaceTiming.HiZSetupTime = 5;
  /* AttSpaceTiming */
  AttSpaceTiming.SetupTime = 3;
  AttSpaceTiming.WaitSetupTime = 5;
  AttSpaceTiming.HoldSetupTime = 4;
  AttSpaceTiming.HiZSetupTime = 5;



回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
发表于 2021-7-6 11:11:21 | 显示全部楼层
每个函数的返回值加上,看看那个反馈错误了以及错误类型。
回复

使用道具 举报

50

主题

68

回帖

218

积分

高级会员

积分
218
 楼主| 发表于 2021-7-6 11:39:18 | 显示全部楼层
eric2013 发表于 2021-7-6 11:11
每个函数的返回值加上,看看那个反馈错误了以及错误类型。

它会导致死机,也就是硬件故障,估计也看不到返回值吧?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107077
QQ
发表于 2021-7-6 11:50:18 | 显示全部楼层
perfect_co 发表于 2021-7-6 11:39
它会导致死机,也就是硬件故障,估计也看不到返回值吧?

硬件异常的话,那底层有问题了。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-5-17 03:28 , Processed in 0.159735 second(s), 25 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表