OpenEdv-开源电子网

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

stm32串口更新程序

[复制链接]

2

主题

6

帖子

0

精华

新手上路

积分
36
金钱
36
注册时间
2016-2-20
在线时间
9 小时
发表于 2018-11-19 11:29:09 | 显示全部楼层 |阅读模式
    最近使用串口做了一个stm32的串口远程更新的项目,思路是先把更新的需要更新的.hex文件下载到本地上位机,然后串口通知stm32,stm32切换到IAP,返回上位机,上位机开始串口向stm32发送更新文件内容,这样完成单片机app程序的更新。   与之前有不同的是:1,根据.hex文件格式做检验,这样可以有效防止更新代码有问题或者串口发送出错造成stm32程序的不可远程修复的错误。.hex文件主要是有每行开始的:,数据长度字节,地址字节,功能码字节,数据字节以及校验字节组成。这里在上位机时做处理,先去掉每行开头的“:”,然后一行一行发送.hex文件。下位机根据数位数据长度字节接收一行数据后进行校验,校验成功后把程序数据写入flash,如果出错则串口通知上位机更新出错,结束更新,然后切换到APP程序。程序下载检验完成以后把flash里的数据写入SARM固化。
     2,这里把app程序放在sarm开始端,上电后直接进入app程序,避免IAP程序和APP程序的来回切换。在接收到更新指令后再从app程序切换到iap程序,更新完成后再切换到APP程序。
    在项目的过程中遇到的问题:在IAP程序和APP程序切换的时候一定要注意不能再中断里切换,开始时候再串口中断里做的切换,切换后串口无法使用,导致切换不回去。
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
90
金钱
90
注册时间
2017-12-5
在线时间
18 小时
发表于 2019-7-18 14:33:26 | 显示全部楼层
大神,可否分享下你的串口更新部分程序啊?
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-6-8 10:17

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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