硬汉嵌入式论坛

 找回密码
 立即注册
查看: 911|回复: 2
收起左侧

[客户分享] FlyMcu通过STM32F4-USB-VCP(虚拟串口)下载程序

[复制链接]

10

主题

34

回帖

64

积分

初级会员

积分
64
发表于 2025-2-22 17:14:49 | 显示全部楼层 |阅读模式
硬件平台:正点原子探索者
MCU:STM32F407ZG,Flash-1024k,Ram-128K+64KB,标准主频-168MHz
库函数:标准库
RTOS:FreeRTOS
---------------------------------------------------------------------------------
大致流程:
参考ST官方的AN3155和AN2606文档,解析了FlyMcu的下载协议,然后使用STM32F407的USB虚拟串口与FlyMcu通信,接收下载数据,然后保存在外部Flash,下载完成后将固件相关数据保存在外部Flash,然后重启MCU,BL程序检查到固件数据后,将固件数据复制到内部Flash,然后跳转运行。
---------------------------------------------------------------------------------
与FlyMcu通信相关的,在hardwa/src/iap.c里边,具体的流程参阅AN3155文档。
---------------------------------------------------------------------------------
做这个其实就是玩玩,既然都有线下载了,用方式什么无所谓了,官方的引导固件肯定更全面一些,但自己实现,也有一些好处:
1.使用官方固件只能从Flash起始地址开始下载,自己做的话,可以任意地址下载,如果应用程序设置了VECT_TAB_OFFSET,其实FlyMcu在设置读写地址的时候是偏移了的,之所以只能从Flash起始地址下载是因为FlyMcu的擦除命令是全片擦除
2.可以省一个USB下载芯片
3.还有一种场景,比如这次设置的VECT_TAB_OFFSET是0x4000,要更改为0x8000的VECT_TAB_OFFSET,也是可以的。
其他的我也想不到了
---------------------------------------------------------------------------------
虚拟串口的驱动太大了,无法全部上传,请找-STSW_STM32102_V1.5.0-最新虚拟串口驱动

BL APP.rar (1.84 MB, 下载次数: 8)
AN3155.PDF (1.14 MB, 下载次数: 11)
AN2606.PDF (2 MB, 下载次数: 11)
VCP_V1.5.0_Setup_W7_x64_64bits.rar (5.95 MB, 下载次数: 6)
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
116225
QQ
发表于 2025-2-23 06:16:21 | 显示全部楼层
谢谢分享,可以搞下USB DFU,这个使用更简单,适合项目开发。
回复

使用道具 举报

10

主题

34

回帖

64

积分

初级会员

积分
64
 楼主| 发表于 2025-2-23 22:10:54 | 显示全部楼层
eric2013 发表于 2025-2-23 06:16
谢谢分享,可以搞下USB DFU,这个使用更简单,适合项目开发。

谢谢提醒,我后边有机会研究一下,只是做到vcp了,想联合现有上位机做点什么功能
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-6-10 14:44 , Processed in 0.257901 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表