RK3568平台 OTA升级原理

一.前言

在迅速变化和发展的物联网市场,新的产品需求不断涌现,因此对于智能硬件设备的更新需求就变得空前高涨,设备不再像传统设备一样一经出售就不再变更。为了快速响应市场需求,一个技术变得极为重要,即OTA空中下载技术。
物联网平台支持通过OTA方式进行设备固件升级,是智能设备修复系统漏洞、实现系统升级的手段,通过固件升级用户提供更好的服务。OTA固件升级功能不仅能够更新固件,而且还能重新配置片上硬件资源。同时,设备固件可通过OTA固件升级流程获得更新的补丁和更多安全算法防范病毒攻击。


二.什么是OTA升级

通过OTA方式实现固件或软件的升级;
只要是通过无线通信方式实现升级的,都可以叫OTA升级,比如网络/蓝牙。
那什么是有线升级呢,也叫做本地升级,比如我们平时为电脑装系统,就是提前将系统下载到U盘上,再通过USB连接连接到电脑上进行电脑系统升级,也就是说通过UART,USB或者SPI通信接口来升级设备固件就叫做有线升级;
 

三.OTA升级流程

四.Linux OTA升级

Linux系统的组成:

主要由三大部分组成,包括uboot(引导启动程序)、kernel(内核)和rootfs(根文件系统)。

三者在flash中的分区如下:

应用程序存放于rootfs。

Linux系统的启动流程:

系统升级:

Linux系统由uboot\kernel\rootfs三大部分组成,对Linux系统进行升级,也就是对flash中这三个分区的数据进行更新替换。

由于uboot\kernel\rootfs在flash分区中是以二进制数据存储的,与MCU固件在flash中存的是二进制数据一样,包括uboot\kernel\rootfs的升级文件也是以二进制数方式直接写入到对应的Flash分区。其升级方式与MCU固件的升级原理基本是一致的。

一般可在uboot中下载升级包来升级uboot\kernel\rootfs ,与MCU在BootLoader程序中完成升级类似。

更新方式:

1.直接覆盖旧程序;

2.保留旧程序,执行新程序;

直接覆盖旧程序:

保留旧程序,执行新程序:

相关推荐

最近更新

  1. TCP协议是安全的吗?

    2023-12-15 04:38:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-15 04:38:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-15 04:38:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-15 04:38:04       18 阅读

热门阅读

  1. B - Team Gym - 102801B ( 网络流问题)

    2023-12-15 04:38:04       39 阅读
  2. 在浏览器中存储数组和对象(js的问题)

    2023-12-15 04:38:04       36 阅读
  3. centos7配置国内源

    2023-12-15 04:38:04       35 阅读
  4. Python基础List列表定义与函数

    2023-12-15 04:38:04       41 阅读
  5. 【Python】正则表达式

    2023-12-15 04:38:04       34 阅读
  6. 在MFC(Microsoft Foundation Classes)中 CreateThread函数

    2023-12-15 04:38:04       33 阅读
  7. CSS BFC详解

    2023-12-15 04:38:04       37 阅读
  8. C#教程(二):继承

    2023-12-15 04:38:04       34 阅读
  9. Kotlin 中的 `as` 关键字:类型转换的艺术

    2023-12-15 04:38:04       35 阅读
  10. linux下使用tc控制和模拟网络流量

    2023-12-15 04:38:04       30 阅读
  11. 扫雷/python中*解包作用

    2023-12-15 04:38:04       38 阅读
  12. Linux——MySQL备份与恢复

    2023-12-15 04:38:04       34 阅读