打印
[STM32F1]

stm32f107,cubeMX配置USB-host无法打开U盘里的bin文件

[复制链接]
885|23
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
jlyuan|  楼主 | 2021-11-21 14:12 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
stm32f107,cubeMX配置USB-host无法打开U盘里的bin文件

使用特权

评论回复
沙发
wyjie| | 2021-11-21 14:15 | 只看该作者

然后呢?你是怎么应对这个的呢        

使用特权

评论回复
板凳
jlyuan|  楼主 | 2021-11-21 14:18 | 只看该作者
目前可以正确读写U盘text文件,可是无法读取bin文件,想通过U盘IAP。

使用特权

评论回复
地板
jlyuan|  楼主 | 2021-11-21 14:21 | 只看该作者
res = f_open(&MyFile, "app.bin", FA_READ);

  if(res != FR_OK)

  {

                 /* 'hello.txt' file Open for write Error */

                 USBH_UsrLog("f_open with write access error: %d", res);

                 printf("文件打开错误\r\n");

                 Error_Handler();

  }

  res = f_read(&MyFile, RAM_Buf, sizeof(RAM_Buf), (void *)&bytesread);

  printf("文件大小%d\r\n",bytesread);



res = f_open(&MyFile, "test.txt", FA_READ);

if(res != FR_OK)

{

                 /* 'hello.txt' file Open for read Error */

                 USBH_UsrLog("f_open with read access error: %d", res);

                 Error_Handler();

}

/* Read data from the text file */

res = f_read(&MyFile, rtext, sizeof(rtext), (void *)&bytesread);

printf("%s\r\n",rtext);

printf("文件大小%d\r\n",bytesread);

使用特权

评论回复
5
jlyuan|  楼主 | 2021-11-21 14:25 | 只看该作者

使用特权

评论回复
6
jlyuan|  楼主 | 2021-11-21 14:29 | 只看该作者



使用特权

评论回复
7
jlyuan|  楼主 | 2021-11-21 14:31 | 只看该作者
fatfs配置项基本上都是使用默认配置,不知道是不是哪儿配置不正确。

使用特权

评论回复
8
jlyuan|  楼主 | 2021-11-21 14:39 | 只看该作者
知道咋回事了,bin文件不知道咋回事里面内容被清了。

使用特权

评论回复
9
lizye| | 2021-11-21 14:44 | 只看该作者
现在可以正常读取bin文件内容了。

使用特权

评论回复
10
wyjie| | 2021-11-21 14:46 | 只看该作者
U盘IAP可以运行。

使用特权

评论回复
11
jlyuan|  楼主 | 2021-11-21 14:52 | 只看该作者
就是还有一个问题,写完flash后直接从boot跳转至应用程序后,应用程序无法运行,必须拔掉U盘复位后才能正常运行,跳转前我已经关闭所有中断了。

使用特权

评论回复
12
jlyuan|  楼主 | 2021-11-21 14:57 | 只看该作者
楼主应该先在电脑试试。。

使用特权

评论回复
13
juventus9554| | 2021-11-21 15:00 | 只看该作者
你BL程序,设置一下,写完后,就运行复位程序。

使用特权

评论回复
14
dingy| | 2021-11-21 15:03 | 只看该作者
是不是U盘插着时有什么状态导致无法正常复位

使用特权

评论回复
15
jlyuan|  楼主 | 2021-11-21 15:05 | 只看该作者
可以在程序里卸载U盘吗?

使用特权

评论回复
16
jlyuan|  楼主 | 2021-11-21 15:07 | 只看该作者
谢谢。可是这样,就得写完flash后及时拔掉U盘,要不然复位后又重复IAP了。

使用特权

评论回复
17
jlyuan|  楼主 | 2021-11-21 15:09 | 只看该作者
没办法,只能在卸载U盘HOST_USER_DISCONNECTION回调函数里jump喽。

使用特权

评论回复
18
jlyuan|  楼主 | 2021-11-21 15:14 | 只看该作者
这样如果不拔除U盘,更新完程序后就一直在boot里。嗯,总比jump后卡死强。

使用特权

评论回复
19
shimx| | 2021-11-21 15:17 | 只看该作者
这个没有其他好的解决方案了吗?

使用特权

评论回复
20
jlyuan|  楼主 | 2021-11-21 15:22 | 只看该作者
目前没找到其他方法,主要不知道为啥会这样。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

880

主题

12030

帖子

4

粉丝