一种基于串口的外置Flash双分区软件升级方案设计

在这里插入图片描述


1. 摘要

一种基于串口的外置Flash双分区软件升级方案,主要设计思路是通过串口将上位机加载的二进制文件,烧写进外置Flash的对应分区上,再次启动的时候,在bootloader中做跳转判断,决定运行哪个分区。注意,该方案的应用程序是完全存储在外置Flash上的,适合应用程序较大,片上Flash不够用的场景。


2. 下位机程序设计

系统上电后,先运行bootloader程序,读取升级标志,判断是否升级。
如果不升级则读取对应分区程序完整性标志,如果程序完整,则跳转运行对应分区应用程序。

在这里插入图片描述


下面是升级逻辑:

  • 接收文件信息,判断是否有效,如果无效直接退出升级
  • 文件信息有效,则先擦除要升级的分区
  • 接收文件,并写入对应分区
  • 判断写入的分区文件是否正确,如果正确,则将标志位置位,否则直接退出升级
    在这里插入图片描述

在应用程序中,也要判断是否升级。
如果要升级,则置位升级标志,并软件复位。
复位后,进入bootloader中,会判断升级标志。
在这里插入图片描述


3. 上位机程序设计

升级工具主要实现目标设备软件升级的触发和升级文件的传输,为了使用方便(兼容不同场景),升级工具支持手动交互和脚本交互两种使用方式。

主要特性:

  • 支持Windows系统64位PC,暂不支持其他操作系统;
  • 支持串口方式与目标设备通讯;
  • 支持ymodem协议传输文件;
  • 支持设备信息配置和文件路径配置;
  • 支持CRC16和checksum两种传输校验方式,且可配置;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

智驾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值