打印

STM32用U盘实现IAP固件升级

[复制链接]
1905|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
luting409|  楼主 | 2014-6-6 09:37 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    最近在做用U盘实现IAP固件升级,单独的串口接收文件后实现IAP升级,我自己已经调通了,U盘方便,参考例程,也可以进行读写了
    现在的问题就是我要通过U盘把BIN文件读到一个数组后,就可以了,但是我用U盘读写txt是ok的,但是读取bin文件时,打开BIN文件时是正常的,返回打开成功,但是却读不到里面的内容,即f_open返回的是ok,但是res = f_read( &fsrc, read_txt_file_buff, sizeof(read_txt_file_buff) , &br );后,read_txt_file_buff数组里面没有内容,全部都是0,不知道是什么原因。
    我在网上查了,都说bin文件时二进制文件,可以直接读取的,但是不知道为什么我读不到里面的内容,还请有经验的大侠指点一下啊

相关帖子

沙发
luting409|  楼主 | 2014-6-6 17:13 | 只看该作者
    没有人回复,但是我的问题想办法解决了。
    找到问题,在f_read读文件时,不知道为什么,只能读取少于1024个字节的数据,超过1024就读错误,所有我把一个文件分开多次读取,每次读取1024个字节,通过f_lseek定位下一次的读取开始位置,这样多次读取后就可以读出整个文件了。
    算是完成了功能,但是我觉得f_read不应该有这个读写大小的限制,因为具体导致这个问题的原因还不太清楚。

使用特权

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

本版积分规则

5

主题

40

帖子

0

粉丝