【软件开发流程控制文档】嵌入式应用软件在线升级功能软件概要设计

简介: 【软件开发流程控制文档】嵌入式应用软件在线升级功能软件概要设计

嵌入式应用软件在线升级功能软件概要设计 (Software Architecture Design, SAD)

一、系统架构概述

系统分为三个主要模块:分区管理、升级管理、启动管理。

可以插入框图

1.1 分区管理模块

  • 负责Flash分区的划分和管理。
  • 提供分区读写接口,并确保数据的完整性。

1.2 升级管理模块

  • 处理在线升级的逻辑,包括接收新代码、校验数据完整性并将其写入分区B。
  • 提供回滚机制,支持在升级失败时恢复到出厂代码。

1.3 启动管理模块

  • 负责设备启动时的代码选择逻辑。
  • 校验分区B中代码的完整性,决定是否使用升级代码。

二、数据流

可以插入框图

2.1 启动过程:

  • 系统启动 -> 启动管理模块选择分区 -> 校验代码 -> 选择执行分区A或分区B的代码。

2.2 升级过程:

  • 接收新代码 -> 升级管理模块校验并写入分区B -> 更新状态日志。

三、接口设计

3.1 分区管理接口

read_partition(partition_id, buffer, size): 读取分区数据。
write_partition(partition_id, buffer, size): 写入分区数据。
verify_partition(partition_id): 校验分区数据的完整性。

3.2 升级管理接口

download_update(data, size): 接收更新数据。
apply_update(): 应用更新,将数据写入分区B。
rollback_to_factory(): 回滚到出厂代码。

3.3 启动管理接口

select_partition(): 选择启动分区。
verify_and_start(partition_id): 校验并启动指定分区的代码。
相关文章
|
4月前
|
异构计算 Windows
嵌入式硬件电路常用设计软件有哪些
嵌入式硬件电路常用设计软件各有其特点和优缺点。在选择软件时,用户应根据自己的实际需求、预算以及学习曲线等因素进行综合考虑。
116 7
|
5月前
|
存储 内存技术
【软件开发流程控制文档】嵌入式应用软件在线升级功能软件需求规格书
【软件开发流程控制文档】嵌入式应用软件在线升级功能软件需求规格书
45 0
|
6月前
|
监控 测试技术 UED
升级和维护老旧LabVIEW程序
升级和维护老旧LabVIEW程序
62 0
|
6月前
|
监控 BI 数据处理
LabVIEW与欧陆温控表通讯的实现与应用:厂商软件与自主开发的优缺点
LabVIEW与欧陆温控表通讯的实现与应用:厂商软件与自主开发的优缺点
48 0
|
6月前
|
数据安全/隐私保护 Sentinel Windows
5款简洁干净,功能强悍,专注实用的软件
电脑上的各类软件有很多,除了那些常见的大众化软件,还有很多不为人知的小众软件,专注于实用功能,简洁干净、功能强悍。
57 0
|
存储 测试技术 持续交付
|
8月前
|
JSON 数据库 数据格式
推荐一款管理系统专用 低 代码工具,一天开发一个系统不是梦
Yao是一款Go语言驱动的低代码应用引擎,目前在Github上已有3.8k+Star!使用该框架,你可以通过JSON完成90%的接口和页面开发,用来开发管理系统正合适!Yao的名字源于汉字爻(yáo),是构成八卦的基本符号,看样子作者对八卦还是挺有研究的。
谈谈嵌入式应用软件人机界面开发的菜单框架编写
谈谈嵌入式应用软件人机界面开发的菜单框架编写
106 0
|
消息中间件 分布式计算 NoSQL
如何了解一个软件的设计?
刚入职,接手新项目,面对一个全新项目,怎么快速研究它? 很多人直接看源码,一头扎入代码,很快就迷失其中,最初那股子探索精神,也会逐渐被迷茫所替。有多少次你满怀激情打开一个开源项目,结果多半坚持不了就放弃。问题出在哪?迷茫是因为缺少对软件整体了解,如同不带地图指南针就闯入热带雨林,迷路只是早晚。阅读源码是必经一步,却不是第一步。应先从了解软件设计开始。
140 0
|
芯片 开发者
硬件工程师实用工具网站
目录 1、采购元器件 2、原理图库和PCB封装库 3、PCB打样、贴片和焊接 4、元器件手册在线查询 5、查找替代芯片 6、元器件3D封装 7、电路开源社区 8、电路仿真 9、电路图演示