ST MCU Finder
安装免费手机应用,
寻找理想的ST MCU

[STM32F1] stm32f107,cubeMX配置USB-host无法打开U盘里的bin文件吗?

[复制链接]
512|16
 楼主 | 2019-11-23 16:40 | 显示全部楼层 |阅读模式
本帖最后由 cry1109 于 2019-11-23 16:42 编辑

小白求助。
目前可以正确读写U盘text文件,可是无法读取bin文件,想通过U盘IAP。
  1. res = f_open(&MyFile, "app.bin", FA_READ);
  2.   if(res != FR_OK)
  3.   {
  4.                  /* 'hello.txt' file Open for write Error */
  5.                  USBH_UsrLog("f_open with write access error: %d", res);
  6.                  printf("文件打开错误\r\n");
  7.                  Error_Handler();
  8.   }
  9.   res = f_read(&MyFile, RAM_Buf, sizeof(RAM_Buf), (void *)&bytesread);
  10.   printf("文件大小%d\r\n",bytesread);

  11. res = f_open(&MyFile, "test.txt", FA_READ);
  12. if(res != FR_OK)
  13. {
  14.                  /* 'hello.txt' file Open for read Error */
  15.                  USBH_UsrLog("f_open with read access error: %d", res);
  16.                  Error_Handler();
  17. }
  18. /* Read data from the text file */
  19. res = f_read(&MyFile, rtext, sizeof(rtext), (void *)&bytesread);
  20. printf("%s\r\n",rtext);
  21. printf("文件大小%d\r\n",bytesread);
复制代码
通过cubeMX配置fatfs如下: QQ截图20191123163741.png
QQ截图20191123163810.png
QQ截图20191123163826.png
QQ截图20191123163835.png

使用特权

评论回复
 楼主 | 2019-11-23 16:41 | 显示全部楼层
fatfs配置项基本上都是使用默认配置,不知道是不是哪儿配置不正确。

使用特权

评论回复
 楼主 | 2019-11-23 18:03 | 显示全部楼层
知道咋回事了,bin文件不知道咋回事里面内容被清了。
现在可以正常读取bin文件内容了。
U盘IAP可以运行。就是还有一个问题,写完flash后直接从boot跳转至应用程序后,应用程序无法运行,必须拔掉U盘复位后才能正常运行,跳转前我已经关闭所有中断了。

使用特权

评论回复
| 2019-11-23 18:33 | 显示全部楼层
楼主应该先在电脑试试。。

使用特权

评论回复
| 2019-11-23 18:34 | 显示全部楼层
恭喜楼主搞定了。
你BL程序,设置一下,写完后,就运行复位程序。

使用特权

评论回复
| 2019-11-24 10:00 | 显示全部楼层
是不是U盘插着时有什么状态导致无法正常复位

使用特权

评论回复
 楼主 | 2019-11-25 09:00 | 显示全部楼层
可以在程序里卸载U盘吗?

使用特权

评论回复
 楼主 | 2019-11-25 10:40 | 显示全部楼层
antusheng 发表于 2019-11-23 18:34
恭喜楼主搞定了。
你BL程序,设置一下,写完后,就运行复位程序。

谢谢。可是这样,就得写完flash后及时拔掉U盘,要不然复位后又重复IAP了。

使用特权

评论回复
 楼主 | 2019-11-25 16:58 | 显示全部楼层
cry1109 发表于 2019-11-25 10:40
谢谢。可是这样,就得写完flash后及时拔掉U盘,要不然复位后又重复IAP了。 ...

没办法,只能在卸载U盘HOST_USER_DISCONNECTION回调函数里jump喽。这样如果不拔除U盘,更新完程序后就一直在boot里。嗯,总比jump后卡死强

使用特权

评论回复
| 2019-11-30 09:59 | 显示全部楼层
这个没有其他好的解决方案了吗?

使用特权

评论回复
 楼主 | 2019-12-2 09:02 | 显示全部楼层
zjq985062714 发表于 2019-11-30 09:59
这个没有其他好的解决方案了吗?

目前没找到其他方法,主要不知道为啥会这样。

使用特权

评论回复
| 2019-12-2 10:41 | 显示全部楼层
看来搞好了

使用特权

评论回复
| 2019-12-11 11:00 | 显示全部楼层
没有读取过bin

使用特权

评论回复
| 2019-12-11 11:02 | 显示全部楼层
涨知识了 呵呵

使用特权

评论回复
| 2019-12-11 11:06 | 显示全部楼层
也算是一种解决方案

使用特权

评论回复
| 2019-12-11 11:09 | 显示全部楼层
bin文件是通过什么读取的呢

使用特权

评论回复
| 2019-12-11 11:11 | 显示全部楼层
这个帖子挺好

使用特权

评论回复
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

我要发帖 投诉建议 创建版块 申请版主

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

在线客服 快速回复 返回顶部 返回列表