0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

晶华微SD93F115B远程升级应用方案

杭州晶华微 来源:杭州晶华微 2025-11-11 14:31 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

SD93F115B远程升级应用方案

01概述

在传统嵌入式开发中,固件在设备出厂时即被固化,其生命周期的功能也随之被定格。这导致任何后续的功能迭代、优化都无法有效部署,极大地限制了产品市场的竞争力。远程对设备的固件进行更新可以持续为用户提供新功能和体验,降低运维成本和潜在风险。因此,远程升级功能是嵌入式设备中的核心基础功能。

02方案介绍

SD93F115B的Flash一共有120K,将这120K分为3个区域,Bootloader分12K,Flag分1K,APP分107K。Bootloader是固件更新是用到的程序,Flag用于存放固件更新状态的标志,APP是应用程序。

41c1b694-bbbd-11f0-8c8f-92fbcf53809c.jpg

内存分配框架

一般状态下,固件更新是由APP区域的代码发起的,当APP收到固件更新命令后就可以跳转至Bootloader区进行固件更新。如果固件更新时发生断电或其他错误,再重新上电后Bootloader也会检查当前固件以及标志位的状态,检查到错误也会执行固件更新功能。

Bootloader区的代码用于在收到固件命令或检查到当前固件错误时更新当前的固件。芯片上电后是否进行固件更新由Flag区域的标志位确定。

03方案功能说明

APP功能

APP区域主要用于编写应用程序,当程序运行在此区域时收到固件更新命令后,其主要功能为:

更新Flag区的标志位,保证后续跳转至Bootloader区后固件更新命令的顺序执行

在收到固件更新命令后跳转至Bootloader区,以启动更新流程

Flag功能

Flag区不需要存储代码,而是专门用于记录固件更新的状态(例如:更新中、更新成功和更新失败)以及固件的校验码等其他信息。

Bootloader功能

在芯片上电时,会先启动Bootloader,对Flag区域进行检查以确定当前固件是否需要升级,如果需要就跳到升级功能,等待接收新固件,否则就直接跳转到APP执行应用程序。

在整个固件更新过程中,Bootloader会动态更新Flag区的标志位,如果因为中途断电导致更新失败,再次上电时,Bootloader能通过Flag区的标志位识别到当前状态不是“更新成功”,从而再次执行固件更新功能,防止设备不能正常使用。

固件更新整体流程如下:

42201a0e-bbbd-11f0-8c8f-92fbcf53809c.jpg

远程升级流程图

启动文件

正常情况下芯片上电会先执行main函数,想要实现以上方案,需要修改启动文件。将固件更新函数的执行放在main函数之前。改写内容如下图。

42822d84-bbbd-11f0-8c8f-92fbcf53809c.png

启动文件 Startup_xxx.S

在SD93F115B的启动文件system_SD93F115B.c中添加CPUInit函数和SystemInit函数,并在system_sd93f115b.h中声明。以上函数需要设置在Bootloader区,以保证上电时芯片能够正确初始化。函数内容如下图。

42e305aa-bbbd-11f0-8c8f-92fbcf53809c.png

CPUInit函数

43423c3c-bbbd-11f0-8c8f-92fbcf53809c.png

SystemInit函数

04方案特点

不需要同时保存两个版本的固件,最大化利用芯片的Flash空间;

更新失败后可以重新更新,防止设备更新失败后无法使用;

可以根据需要选择固件更新的协议。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    5186

    文章

    20143

    浏览量

    328646
  • FlaSh
    +关注

    关注

    10

    文章

    1715

    浏览量

    154663
  • 代码
    +关注

    关注

    30

    文章

    4940

    浏览量

    73116
  • bootloader
    +关注

    关注

    2

    文章

    241

    浏览量

    47661
  • 远程升级
    +关注

    关注

    0

    文章

    23

    浏览量

    8457

原文标题:技术分享 | SD93F115B远程升级应用方案

文章出处:【微信号:杭州晶华微,微信公众号:杭州晶华微】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    带32位MCU和高精度ADC的SoC产品----SD93F系列开发指南(一)

    示例程序是以SD93F115-JBS芯片编写,包含了按键中断、RTC中断、SD ADC、SAR ADC、RTC、DAC、低压检测、LCD显示、休眠测试等多个基础功能综合的一个程序,配合按键中断进入不同的子程序进行演示。
    发表于 02-24 10:11 3200次阅读
    带32位MCU和高精度ADC的SoC产品----<b class='flag-5'>SD93F</b>系列开发指南(一)

    技术干货 | 基于SD8114蓝牙营养秤方案

    在于可以和手机APP互联,能实时记录各个时段的饮食摄入,支持追踪、保存和分析每日营养摄入量,通过直观的数据,帮助客户调整饮食计划,从而达到健康饮食的目的。   二、基于SD8114的蓝牙营养秤应用开发方案   本文将重点介绍基于
    的头像 发表于 06-09 17:24 5678次阅读
    技术干货 | 基于<b class='flag-5'>晶</b><b class='flag-5'>华</b><b class='flag-5'>微</b><b class='flag-5'>SD</b>8114蓝牙营养秤<b class='flag-5'>方案</b>

    SD3302F1多功能数显表的详细介绍

    文章介绍基于SD3302F1的高精度多功能数显表实现过程,方案优势和注意事项。
    的头像 发表于 09-22 14:25 2384次阅读
    <b class='flag-5'>晶</b><b class='flag-5'>华</b><b class='flag-5'>微</b><b class='flag-5'>SD3302F</b>1多功能数显表的详细介绍

    SD8114蓝牙营养秤的详细说明

    APP互联,能实时记录各个时段的饮食摄入,支持追踪、保存和分析每日营养摄入量,通过直观的数据,帮助客户调整饮食计划,从而达到健康饮食的目的。   二、基于SD8114的蓝牙营养秤应用开发方案 本文将重点介绍基于
    的头像 发表于 09-22 15:42 2182次阅读
    <b class='flag-5'>晶</b><b class='flag-5'>华</b><b class='flag-5'>微</b><b class='flag-5'>SD</b>8114蓝牙营养秤的详细说明

    带32位MCU和高精度ADC的SoC产品-SD93F系列开发指南(十)

    SD93F115 有四种工作模式,NORMAL 正常工作模式,以及 3 种低功耗模式:WAIT、 DOZE、STOP,本例将一一讲解WAIT、 DOZE、STOP模式。
    的头像 发表于 01-25 17:06 1708次阅读
    带32位MCU和高精度ADC的SoC产品-<b class='flag-5'>SD93F</b>系列开发指南(十)

    技术干货|基于SD9315设计的血压计方案

    基于SD9315设计的血压计方案,使用的压力传感器可以直接将0~300mmHg的袖带压力转换成跨度为31mV的电压信号,外加
    发表于 04-30 11:23 3571次阅读
    技术干货|基于<b class='flag-5'>SD</b>9315设计的血压计<b class='flag-5'>方案</b>

    士兰SD6800B 技术60瓦、1.5A 输出 提供样品方案

    电路,降低成本.SD6800B带有完整的保护功能,例如LED短路保护,LED开路保护,过温保护等等.LED方案上海丰无锡莱士杭州士兰芯飞凌调色温QQ 2892715427
    发表于 05-16 22:29

    SD5820A在误差±0.8℃数字温度计的应用

    设计  整个系统由数字温度传感器、单片机、显示、按键和电源这几个部分组成。电路原理图如下图2所示。  数字温度传感器  选用的数字温度传感器SD5820A 是杭州微电子有限公司研制的芯片。采用
    发表于 06-30 16:37

    如何去实现STM32F407+ESP8266+SD卡进行远程固件升级

    这次带来的内容是STM32F407+ESP8266+SD卡进行远程固件升级,相信各位小伙伴在第一次接触到远程固件更新的时候都会很懵逼。没错,我也是,但是在经过了我一段时间的研究之后,终
    发表于 01-24 08:25

    93AA46A/B/C, 93LC46A/B/C, 93C4

    93AA46A/B/C, 93LC46A/B/C, 93C46A/B/C
    发表于 08-11 12:55 22次下载

    亚机对机升级方案及步骤

    亚机对机升级方案及步骤
    发表于 01-14 16:54 1056次阅读
    <b class='flag-5'>华</b>亚机对机<b class='flag-5'>升级</b><b class='flag-5'>方案</b>及步骤

    DC115A-B DC115A-B评估板

    电子发烧友网为你提供ADI(ti)DC115A-B相关产品参数、数据手册,更有DC115A-B的引脚图、接线图、封装手册、中文资料、英文资料,DC115A-B真值表,DC115A-B
    发表于 08-13 10:00

    SD93F115八电极体脂秤方案的简介

    1  概述 目前市面上的体脂秤按电极数分类主要为四电极、八电极。八电极体脂秤如图1所示,能结合基于大数据日益优化的人体体征数据模型,更准确地测出不同身体部位的体脂。 图1 八电极体脂秤 2  八电极体脂秤的基本功能 1、体重测量:站上秤面,稳定后能准确显示体重数据; 2、脂肪率测量:光脚站上秤面,脚部与秤面电极保持良好接触,手部握住带电极的手柄,体脂秤便可测量出人体阻抗,通过算法分析得到体脂率; 3、电压检测:电池电量不
    发表于 08-30 10:13 2058次阅读
    <b class='flag-5'>晶</b><b class='flag-5'>华</b><b class='flag-5'>微</b><b class='flag-5'>SD93F115</b>八电极体脂秤<b class='flag-5'>方案</b>的简介

    推出基于SD82F466芯片的HCT(Hematocrit)血糖仪方案

    本文档描述了基于杭州微电子股份有限公司SD82F466芯片研发的HCT(Hematocrit)血糖仪方案。HCT是指压积红细胞在血液中所占容积的比值,它反映红细胞和血浆的比例。
    的头像 发表于 05-15 11:29 4118次阅读
    <b class='flag-5'>晶</b><b class='flag-5'>华</b><b class='flag-5'>微</b>推出基于<b class='flag-5'>SD82F</b>466芯片的HCT(Hematocrit)血糖仪<b class='flag-5'>方案</b>

    以科技创新赋能全民健康管理

    自主研发的SD82F354芯片集成20位高精度ADC和8位MCU,提供32kB,Flash空间用于存储用户程序,具有丰富的内部和外部接口,是专门为四电极/八电极脂肪秤开发的SoC
    的头像 发表于 03-12 17:22 1124次阅读