你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F103RCT6 USB下载程序问题

[复制链接]
万迪来 提问时间:2023-10-8 09:46 / 未解决

1、我们的一个使用STM32F103RCT6的产品,客户要求具有USB升级程序功能;

2、具体是我们的产品模拟成一个U盘,但接入电脑时,将文件拷贝到模拟U盘中,

实现嵌入式软件升级;

3、客户要求本U盘需要支持Windows 和Mac OS;

4、暂时只是知道FAT32和exFAT格式的U盘,是可以同时被Windows 和Mac OS兼容;

5、我希望能够找到这方便的代码/驱动,实现客户的需求,请楼主支持!感谢!

收藏 评论11 发布时间:2023-10-8 09:46

举报

11个回答
废鱼 回答时间:2023-10-8 15:00:16

103需要看一下是否使用了CAN,CAN和USB公用一个中断号。官方例程有U盘识别的例程,通过文件系统FATFS进行文件读写。当判断到指定文件名称的文件时,通过文件的特殊性进行自我识别,是不是需要进行升级操作。

万迪来 回答时间:2023-10-8 16:04:37

楼主,是否可以告知一下是哪个U盘识别的例程吗?是否可以提供一个链接呢?

我找了,但不确定是否为你说的,谢谢

万迪来 回答时间:2023-10-8 16:05:23

对了,楼主,我只用了USB,没有用CAN

butterflyspring 回答时间:2023-10-8 17:06:21
初步看来楼主的这个应用需要用到 USB MSC + IAP + fats + APP (可能需要外部存贮下载的数据)

官方的例程在库里发现可以参考(非直接应用的)

\STM32Cube_FW_F1_V1.8.0\Projects\STM3210E_EVAL\Applications\USB_Device\MSC_Standalone

\STM32Cube_FW_F1_V1.8.0\Projects\STM3210C_EVAL\Applications\FatFs\FatFs_uSD\

\STM32Cube_FW_F1_V1.8.0\Projects\STM3210C_EVAL\Applications\IAP

另外網上也有小伙伴们的博客,从另一个角度介绍这个应用,可以参考
【USB】STM32模拟U盘进行IAP程序更新_stm32f103 usb升级-CSDN博客
万迪来 回答时间:2023-10-8 17:45:04

楼主好!需要将单片机模拟成FAT32格式的U盘才能同时被Windows和MAC识别和写入,

如何将FATS固定成FAT32呢?咱们有用例吗?谢谢

我们现在用的固件是FAT格式的,应该是FAT16格式,不确定怎么给改成FAT32格式

谢谢楼主

万迪来 回答时间:2023-10-9 09:42:05

楼主好,还有就是我们暂时无法外扩存储了,因为硬件已经批量

废鱼 回答时间:2023-10-9 13:31:04

万迪来 发表于 2023-10-9 09:42
楼主好,还有就是我们暂时无法外扩存储了,因为硬件已经批量

仔细研究一下外部接口,可以考虑用外部器件实现U盘数据读取。然后通过串口和你设计的硬件进行通讯,下载APP。FATFS支持FAT32类型的U盘。U盘的格式是自己通过电脑格式化选择的。

废鱼 回答时间:2023-10-9 13:32:20

万迪来 发表于 2023-10-9 09:42
楼主好,还有就是我们暂时无法外扩存储了,因为硬件已经批量

你现在的产品已经支持USB连接电脑了吗?

butterflyspring 回答时间:2023-10-9 14:47:30
初步推断,楼主的U盘部分已经做好了,但是格式不是FAT32。
1. 因为U盘存贮的媒介区域很小,正常格式化应是FAT12或FAT16, 这样就可以正常操作了。
   目前看到小伙伴都是这样应用的。
2. 因为标准限定,windows 是无法将这么小的U盘格式化成FAT32的。
3. 楼主要指定U盘默认为FAT32格式,那么需要拷贝或制作一段数据表来使得windows 认为它是格式化好的FAT32的U盘。这个理论上可以实现,但是windows 的操作就会遇到问题。

这就带来个很大的难题。

这个特殊的非标准的应用需要能够自己修改这段数据表格,同时还能让MCU配合Windows 的读写行为才行。
万迪来 回答时间:2023-10-9 15:14:23

两位楼主好!

我们确实做了一个U盘,已经做好了,当插入windows系统的电脑时,电脑可以识别出U盘,同时可以写入我们的应用固件;

插入电脑时,电脑显示的U盘为FAT。

现在我知道苹果电脑和windows电脑都能识别和写入FAT32格式的U盘,所有就是想给它搞成FAT32的,但我不知道怎么整。

butterflyspring 回答时间:2023-10-10 11:20:30
昨天有一个小伙伴试了一下,苹果电脑是可以识别 FAT16格式的U盘的。
楼主可以验证一下。
如果可以,就不用去做非标准的FAT32格式的U盘了。
Mac U FAT16 DISK.PNG

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版