请选择 进入手机版 | 继续访问电脑版
 找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 883|回复: 0

基于USB3300的STM32固件离线升级

[复制链接]

46

主题

156

帖子

3761

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
3761
发表于 2018-11-26 23:16:28 | 显示全部楼层 |阅读模式
因为需要定期的为采样卡进行程序升级,那么需要制作一个boot程序,在进行对stm32f429的固件升级以及引导,花了2天的时间终于调试完成。
在这里分享一下经验,首先在matlab的上位机界构建了操作界面
首先打开固件升级界面,当然这个界面的编写几乎不需要时间,固件的数据传输以及校验,FLASH的烧写花费了一些时间,在这里给大家分享一下过程中遇到的问题以及解决的方法.
1543244572(1).png
如下选择需要烧写的bin文件
1543244508(1).png
电机开始升级,在matlab的命令窗口有如下的打印信息
1543244606(1).png
那么需要在应用的程序中加入如下的操作来生成bin文件
1543244872(1).png
那么有了bin文件,接下来是构建传输协议,在这里我采用USB2.0进行传输,更新的速度还是很快的
下面我们来看一下BOOT的引导程序
1543244982(1).png
因为我采用的代码是stm32cube生成的,所以在进行引导之前必须把所有的中断全部关闭,不然引导肯定会失败的。
那么在应用的程序中需要相应的修改中断向量表的偏移地址,比如我的程序入口是0x08008000,那么我的偏移量就是0x8000
在system_stm32f4xx.c文件中进行修改,如下所示:
1543245174(1).png
修改VECT_TAB_OFFSET 这个参数即可。
关于stm32cube生成的hal库boot的需要注意事项就这么多啦。
回复

使用道具 举报

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

本版积分规则

QQ|苏ICP备18050910号|Archiver|手机版|小黑屋|基于模型设计论坛

GMT+8, 2020-2-18 03:43 , Processed in 0.016119 second(s), 23 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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