OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 2830|回复: 1

文件系统一边接收数据一边写向SD卡写数据,open文件的时候失败

[复制链接]

1

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-1-17
在线时间
2 小时
发表于 2019-1-18 09:32:15 | 显示全部楼层 |阅读模式
TFTP进行IAP升级时,一边接收数据一边向SD卡写bin文件时,在open SD卡文件时失败,一直在找不到文件,在这个do..while中循环:


do {
  res = move_window(fs, dp->sect);
  if (res != FR_OK) break;
  c = dp->dir[DIR_Name];
  if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */
#if _USE_LFN != 0 /* LFN configuration */
  dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK;
  if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */
   ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */
  } else {
   if (a == AM_LFN) {   /* An LFN entry is found */
    if (dp->lfn) {
     if (c & LLEF) {  /* Is it start of LFN sequence? */
      sum = dp->dir[LDIR_Chksum];
      c &= ~LLEF; ord = c; /* LFN start order */
      dp->blk_ofs = dp->dptr; /* Start offset of LFN */
     }
     /* Check validity of the LFN entry and compare it with given name */
     ord = (c == ord && sum == dp->dir[LDIR_Chksum] && cmp_lfn(dp->lfn, dp->dir)) ? ord - 1 : 0xFF;
    }
   } else {     /* An SFN entry is found */
    if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */
    if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */
    ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */
   }
  }
#else  /* Non LFN configuration */
  dp->obj.attr = dp->dir[DIR_Attr] & AM_MASK;
  if (!(dp->dir[DIR_Attr] & AM_VOL) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* Is it a valid entry? */
#endif
  res = dir_next(dp, 0); /* Next entry */
} while (res == FR_OK);



但是在spi flash或者在nandflash中操作时就没有问题,求大神指教!!!

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
11
金钱
11
注册时间
2019-1-17
在线时间
2 小时
 楼主| 发表于 2019-1-21 16:05:41 | 显示全部楼层
原因已找到,TFTP传输数据的时候是用的udp回调,即接受数据的时候是中断接收的,在中断中对SD卡进行DMA读写数据会有中断优先级的冲突导致SD卡不能读写
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-10 04:24

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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