OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 221|回复: 0

FlyMcu通过STM32F4-USB-VCP(虚拟串口)下载程序

[复制链接]

13

主题

104

帖子

0

精华

高级会员

Rank: 4

积分
559
金钱
559
注册时间
2014-8-14
在线时间
164 小时
发表于 2025-2-22 17:09:02 | 显示全部楼层 |阅读模式
本帖最后由 Cindre鞡 于 2025-2-22 17:09 编辑

硬件平台:正点原子-探索者
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, 下载次数: 1)
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

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

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-4-11 05:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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