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

HSE_ABswap双分区功能(二) 本文仅整理了关于AB_swap相关的内容,不需要使用HSE的安全引导功能。 阅读详情

在这里插入图片描述


1. 摘要

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


2. 下位机程序设计

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

在这里插入图片描述


下面是升级逻辑:

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

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


3. 上位机程序设计

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

主要特性:

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

3.1 Ymodem文件传输协议

3.1.1 协议实现逻辑

第1阶段: 同步

从机给数据发送同步字符 C

第2阶段:发送第1帧数据,包含文件名和文件

【智多晶FPGA-042】基于串口与SPI Flash的双分区安全升级方案 本文详细介绍了基于智多晶FPGA的串口在线升级方案,通过Bootloader与APP用户代码区的双分区设计,结合SPI Flash物理隔离与CRC校验,实现了安全可靠的固件更新。该方案特别适用于工业设备、物联网终端等需要远程维护的场景,有效避免了升级过程中的设备变砖风险,并阐述了从通信协议设计到异常回滚的完整实现路径。 阅读详情

相关推荐

基于物联网的太阳能板远程监控系统设计与实现

在光伏发电和离网供电场景中,组件表面的热斑、隐裂、灰尘遮挡等问题往往先以电压跌落、电流异常、温度升高等电气参数变化呈现。物联网(IoT)技术为设备状态监测提供了全新的路径,通过实时采集电压、电流、功率与温度等关键特征量,配合MQTT等轻量级通信协议实现数据上云,能够帮助运维人员第一时间发现故障隐患。本文从传感器选型、ESP32主控接入、INA226高精度采样、主题设计到可视化和告警规则,完整梳理了一套可落地的太阳能板远程监控方案。该系统不仅适用于屋顶光伏业主自查,也可作为农业物联网、野外基站供电监测的综合实

weixin_30751947的博客 645

ESP32 芯片选型指南:从 5 款核心型号到 3 种模组方案的硬件决策树

本文详细解析了ESP32系列芯片的5款核心型号和3种模组方案,帮助开发者在物联网设备开发中做出精准的硬件选型决策。从双核Xtensa LX6的ESP32-D0WD到低功耗RISC-V架构的ESP32-C3,再到高集成度的ESP32-PICO-D4,全面对比了各型号的性能参数和适用场景。同时介绍了WROOM、WROVER和PICO三大模组系列的特性,为不同应用场景提供最优解决方案。

weixin_34341229的博客 412

SREC工具 在固件中增加CRC的工具

SREC工具 在固件中增加CRC的工具 Disable_Sequence_Warnings 这个是因为如果输入的Intel HEX文件的记录未按升序地址顺序排序,则此选项会禁止发出警告。由OH51,OHX51,OH251或OH166生成的HEX文件未按升序地址顺序排序。 address-length =2或3或4 指定Intel HEX输出文件中的地址字节数。默认情况下,srec_cat会生成扩展地址记录(类型04),地址范围最大为4GB。如果要避免生成扩展地址记录,请在指定输出文件之前指定 address-length = 2。这限制了最大值。地址空间为64K,可用于大多数8051应用程序。

CRC16 校验码生成工具代码

CRC16校验码的生成,低位在前高位在后的输出方式,尤其适合RTU通讯的朋友!直接用VC运行即可,希望能帮到你!

离线安装vue脚手架,内网安装@vue/cli

公司开发环境使用内网,无法用外网,搭建环境的时候,发现内网系统没有安装vue脚手架,我搜了很多文章,发现他们的方法对我都不适用,然后就自己摸索,最终皇天不负有心人,终于被我安装上了,一下是我内网离线安装vue/cli的方法,希望能帮助到有需要的小伙伴! 因为npm被集成在nodejs中,而安装nodejs只需要把nodejs安装包copy到内网电脑安装就行,比较简单,这里就不多做演示。 在外网电脑上,使用npm install -g xxxx命令下载好我们所需要的各个安装包,比如: npm insta

Liberty_yes的博客 1万+

制作Ubuntu22.04启动盘

现在越来越多程序代码都需要运行在linux环境下,运行这些代码的前提是安装一个稳定的linux操作系统。本文选择Ubuntu 22.04去制作系统启动盘。本文主要对ubuntu22.04的启动盘制作过程进行了详细的说明,希望能帮助到有需要的朋友。

lyx_ok的博客 1万+

新手网工别慌!手把手带你搞定华为OLT开局配置(从登录到业务下发全流程)

本文为新手网络工程师提供华为OLT设备开局配置的详细指南,涵盖从设备登录、基础配置到业务部署的全流程。通过实战案例和常见问题排查,帮助读者快速掌握华为OLT配置技巧,确保业务顺利开通。

weixin_33721344的博客 482

告别TwinCAT:手把手教你用IgH EtherCAT Master在LinuxCNC上搭建实时运动控制平台

本文详细介绍了如何利用IgH EtherCAT Master和LinuxCNC搭建开源实时运动控制平台,替代商业软件TwinCAT。通过分步指南,包括实时Linux环境配置、EtherCAT主站安装、LinuxCNC集成及多轴同步控制实现,帮助开发者构建高性能、低成本的工业自动化解决方案。

weixin_42641741的博客 401

Dify 进阶指南 | 5步打造智能JSON转换器(Excel数据预处理神器)

本文详细介绍了如何利用Dify平台的Chatflow功能,通过5个步骤构建一个智能JSON转换器,专门用于Excel数据预处理。该工具能够根据用户指令自动解析Excel表格,执行数据清洗、聚合计算,并精准输出定制化的JSON格式,极大提升前端开发、数据分析与测试工作的效率。

weixin_28520495的博客 575

uni-app项目中引入Vant UI组件库(完美避坑!!!)纯净版

uni-app项目中引入Vant UI组件库(纯净版--无uni-ui)

Wzmlzrr的博客 3万+

零基础学习CANoe Panel(5)——改变变量的值,控件图像也改变,这是怎么回事?

Panel 中控件的图像随着值变化,是怎么回事?

蚂蚁小兵 2146

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

上一篇: STM32F103C8T6低功耗模式详解:如何选择和应用Sleep、Stop、Standby模式?
下一篇: C++,设计模式,【抽象工厂模式】
智驾
博客等级 码龄11年 6671粉丝 574原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

打赏作者

智驾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值