打印
[STM32F1]

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

[复制链接]
1410|15
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
cry1109|  楼主 | 2019-11-23 16:40 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 cry1109 于 2019-11-23 16:42 编辑

小白求助。
目前可以正确读写U盘text文件,可是无法读取bin文件,想通过U盘IAP。
 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);
通过cubeMX配置fatfs如下:



使用特权

评论回复
沙发
cry1109|  楼主 | 2019-11-23 16:41 | 只看该作者
fatfs配置项基本上都是使用默认配置,不知道是不是哪儿配置不正确。

使用特权

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

使用特权

评论回复
地板
antusheng| | 2019-11-23 18:33 | 只看该作者
楼主应该先在电脑试试。。

使用特权

评论回复
5
antusheng| | 2019-11-23 18:34 | 只看该作者
恭喜楼主搞定了。
你BL程序,设置一下,写完后,就运行复位程序。

使用特权

评论回复
6
downcount| | 2019-11-24 10:00 | 只看该作者
是不是U盘插着时有什么状态导致无法正常复位

使用特权

评论回复
7
cry1109|  楼主 | 2019-11-25 09:00 | 只看该作者
可以在程序里卸载U盘吗?

使用特权

评论回复
8
cry1109|  楼主 | 2019-11-25 10:40 | 只看该作者
antusheng 发表于 2019-11-23 18:34
恭喜楼主搞定了。
你BL程序,设置一下,写完后,就运行复位程序。

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

使用特权

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

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

使用特权

评论回复
10
zjq985062714| | 2019-11-30 09:59 | 只看该作者
这个没有其他好的解决方案了吗?

使用特权

评论回复
11
cry1109|  楼主 | 2019-12-2 09:02 | 只看该作者
zjq985062714 发表于 2019-11-30 09:59
这个没有其他好的解决方案了吗?

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

使用特权

评论回复
12
磨砂| | 2019-12-11 11:00 | 只看该作者
没有读取过bin

使用特权

评论回复
13
木木guainv| | 2019-12-11 11:02 | 只看该作者
涨知识了 呵呵

使用特权

评论回复
14
xiaoqizi| | 2019-12-11 11:06 | 只看该作者
也算是一种解决方案

使用特权

评论回复
15
wowu| | 2019-12-11 11:09 | 只看该作者
bin文件是通过什么读取的呢

使用特权

评论回复
16
wakayi| | 2019-12-11 11:11 | 只看该作者
这个帖子挺好

使用特权

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

本版积分规则

40

主题

172

帖子

4

粉丝