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

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管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版