全志T113方案OTA

1、目前使用的flash为128M,比较小,使用AB升级方式感觉空间不够,所以使用recovery升级linux

2、添加recovery分区

全志提供的SDK本来是不支持打包recovery分区的,需要修改sys_partition.fex,size也需要修改,否则编译失败

+++ b/configs/evb1/linux-5.4/sys_partition.fex
@@ -71,6 +71,6 @@ size = 252[partition]name         = recovery
-    size         = 23184
-    ;downloadfile = "recovery.fex"
+    size         = 44032
+    downloadfile = "recovery.fex"user_type    = 0x8000

3、编译recovery分区

需要执行swupdate_make_recovery_img编译recovery.img

如果使用./build.sh recovery编译、打包、烧录固件后,OTA升级失败,执行完upgrade_recovery后reboot卡在uboot无法进入kernel

[00.695]line:703 init_clocks
[00.698]drv_disp_init
[00.703]handle_num : 6
request pwm success, pwm7:pwm7:0x2000c00.
[00.714]drv_disp_init finish
[00.812]Loading Environment from SUNXI_FLASH... OK
[00.833]boot_gui_init:start
[00.836]set disp.dev2_output_type fail. using defval=0

4、升级失败

[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     mbr
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     boot-resource
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     env
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     env-redund
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     boot
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     rootfs
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     private
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     recovery
[TRACE] : SWUPDATE running :  [scan_ubi_volumes] : mtd3:    Volume found :     UDISK
[TRACE] : SWUPDATE running :  [install_single_image] : Found installer for stream recovery raw
[ERROR] : SWUPDATE failed [0] ERROR core/cpio_utils.c : copy_write : 97 : cannot write 16384 bytes: Operation not permitted
[TRACE] : SWUPDATE running :  [install_single_image] : Installer for raw not successful !
Software updated failed

根本原因:升级包中文件的介质与当前板子的介质不对应,不能操作分区

可以在设备端确认当前介质,执行ll /dev/by-name确认(例:当前为emmc介质,为mmc*,如果为nand ubi介质为ubi* 或 nand*)

打包OTA包时需要根据存储介质添加参数,如

$ swupdate_pack_swu -ubi

5、OTA包不需要包含recovery

固件已经包含recovery系统了,后续不修改的话OTA包可以不用包含recovery分区

需要修改sw-description-ubi和sw-subimgs-ubi.cfg两个文件

sw-subimgs-ubi.cfg:不打包recovery分区

+++ b/t113s2-evb1/swupdate/sw-subimgs-ubi.cfg
@@ -1,6 +1,6 @@swota_file_list=(openwrt/target/t113s2/t113s2-evb1/swupdate/sw-description-ubi:sw-description
-${LICHEE_PLAT_OUT}/recovery.img:recovery
+#${LICHEE_PLAT_OUT}/recovery.img:recovery${LICHEE_PLAT_OUT}/uboot.img:uboot${LICHEE_PLAT_OUT}/boot0.img:boot0${LICHEE_PLAT_OUT}/boot.img:kernel

sw-description-ubi:升级时不检测recovery分区文件

+++ b/t113s2-evb1/swupdate/sw-description-ubi
@@ -9,11 +9,11 @@ software =upgrade_recovery = {/* upgrade recovery */images: (
-                {
+                /*{filename = "recovery";volume = "recovery"installed-directly = true;
-                },
+                },*/{filename = "uboot";type = "awuboot";

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/423799.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springcould -第一个Eureka应用 --- day02

标题 Eureka工作原理Spring Cloud框架下的服务发现Eureka包含两个组件,分别是:Eureka Server与Eureka Client。Eureka Server:Eureka Client: 搭建Eureka Server步骤:步骤1:创建项目,引入依赖步…

第307题|快速掌握 反常积分敛散性判定的方法|武忠祥老师每日一题

解题思路:先判断这个反常积分的敛散性,再讨论a的取值范围; 判断反常积分的敛散性,我们通常有三个方法: (1)根据定义,通常在原函数比较好求的情况下,可以根据定义 (2&am…

Web3的崛起与智能合约的角色

随着Web3的发展,去中心化网络逐渐取代了以往的集中控制互联网模式。这一转变不仅强调了用户的自治权和隐私保护,还引入了智能合约这一核心技术。智能合约基于区块链技术,能够自动执行合约条款,无需中介干预,从而确保了…

低代码-赋能新能源汽车产业加速前行

在“双碳”战略目标的引领下,全球新能源汽车产业正经历着前所未有的发展和变革,新能源汽车整车制造成为绿色低碳转型的重要领域。在政府的大力扶持下,新能源整车制造领域蓬勃发展,已成为全球汽车产业不可逆转的重要趋势。新能源汽…

数据结构修炼——顺序表和链表的OJ题练习

目录 一、顺序表相关OJ题1 移除元素题目解析 2 合并两个有序数组题目解析 二、链表相关OJ题1 移除链表元素题目解析 2 反转链表题目解析 3 链表的中间结点题目解析 4 合并两个有序链表题目解析 5 链表的回文结构题目解析 6 相交链表题目解析 7 环形链表的判断题目解析 8 环形链…

性能诊断的方法(五):架构和业务诊断

关于性能诊断的方法,我们可以按照“问题现象—直接原因—问题根源”这样一个思路去归纳。我们先从问题的现象去入手,包括时间的分析、资源的分析和异常信息的分析。接下来再去分析产生问题现象的直接原因是什么,这里我们归纳了自上而下的资源…

动态规划前---选----

前言&#xff1a;基本的算法思路还是先看数据范围&#xff0c;接着看能不能用动态规划来做&#xff0c;刚刚好这个题目可以套用前—选— 题目地址 #include<bits/stdc.h> using namespace std;#define int long long int n,m; const int N (int)305; int dp[N][N]; // 前…

Android V 广播注册和配置注意事项问题

现象 在Android V平台上&#xff0c;应用注册非Protected广播时&#xff0c;如果没有加导出flag会抛出异常导致进程crash。 E/AndroidRuntime: FATAL EXCEPTION: main java.lang.SecurityException: com.demo.myapplication: One of RECEIVER_EXPORTED or RECEIVER_NOT_EXPORT…

MySQL record 03 part

插入表数据&#xff1a; 一般情况下&#xff0c;向表中添加新的记录&#xff0c;应该包含此表的所有字段&#xff0c;也就是应该给表的所有字段添加值&#xff0c; 1.使用insert into语句&#xff0c;指定字段名&#xff08;可以是所有的字段&#xff0c;也可以是某几个字段&am…

scratch中秋节——孔明灯祈福

小虎鲸Scratch资源站-免费少儿编程Scratch作品源码,素材,教程分享网站! 中秋节是中国的传统佳节&#xff0c;象征着团圆与美好。在这个特别的节日里&#xff0c;除了赏月、吃月饼&#xff0c;放飞孔明灯也是一种独特的祈福方式。而如今&#xff0c;你可以在小虎鲸Scratch资源站…

【Redis】主从复制 - 源码

因为主从复制的过程很复杂, 同时核心逻辑主要集中在 replication.c 这个文件中, 避免篇幅过大, 所以将主从复制中涉及这个文件的代码集中到了另一篇文章。 在当前文章主要分析主从复制的大体代码逻辑, 如果需要了解整体的过程, 可以配合 Redis 主从复制 - relication 源码分析 …

粘塑性自洽模型(VPSC)在复合工艺中的应用

关键词&#xff1a;晶体塑性 VPSC织构模拟 复合工艺 本期将继续介绍粘塑性自洽模型(VPSC)在金属变形过程的应用。VPSC适用于各种金属材料(如铝合金、钢材、镁合金)&#xff0c;各种加载方式(如单向拉伸、单向压缩、剪切、平面应变、双向拉伸等)下的宏观力学性能和微观结构演化…

Git撤销push

继续Git系列&#xff0c;看下push的取消&#xff0c;基本到这里了。 先看文章&#xff1a; git push了怎么撤销-git-PHP中文网 第一种方法&#xff1a; 看起来是再提交一次&#xff0c;并没有撤销或者说删除上次错误提交的版本。只是不明白&#xff0c;为什么这里要强制推送…

Python+Pytest框架,“conftest.py文件编写如何获取token和获取日志“?

1、新增"conftest.py" import pytest import loggingfrom api_keyword.api_key import ApiKey from config import *# 获取token # 1. 正常的请求对应的接口并且提取数据 # 2. pytest.fixture()测试夹具&#xff08;测试前置、后置操作&#xff09;pytest.fixture(s…

【重学 MySQL】十八、逻辑运算符的使用

【重学 MySQL】十八、逻辑运算符的使用 AND运算符OR运算符NOT运算符异或运算符使用 XOR 关键字使用 BIT_XOR() 函数注意事项 注意事项 在MySQL中&#xff0c;逻辑运算符是构建复杂查询语句的重要工具&#xff0c;它们用于处理布尔类型的数据&#xff0c;进行逻辑判断和组合条件…

FastAPI 应用安全加固:HTTPSRedirectMiddleware 中间件全解析

在当今的网络环境中&#xff0c;数据安全变得越来越重要。HTTPS 作为一种安全协议&#xff0c;它通过加密传输数据来保护用户信息免受窃取和篡改。在 FastAPI 应用中&#xff0c;确保所有的 HTTP 请求都通过 HTTPS 进行是至关重要的。 中间件在 FastAPI 中用于处理请求前后的…

北京中实新材料公司:安全筑基,共绘新材料产业新篇章

北京中实新材料有限责任公司(以下简称“北京中实”),作为中关村科技发展(控股)股份有限公司旗下的重要成员,近年来在安全生产、技术创新及企业合作等方面取得了显著进展。近期,公司围绕安全生产月及新材料研发中心成立等核心活动,展开了一系列富有成效的工作,进一步推动了企业的…

IVF 视频文件格式

IVF IVF有两种定义&#xff0c;一种是 Intel创建&#xff0c;用于封装其Indeo编解码器。Indeo是一系列视频编解码器&#xff0c;由英特尔在1990年代开发&#xff0c;主要用于视频游戏和早期的互联网视频流&#xff1b;Indeo编解码器以其高压缩率和良好的视频质量而闻名&#x…

哈工大“计算机设计与实践”(cpu)处理器实验设计报告

哈工大“计算机设计与实践”&#xff08;cpu&#xff09;处理器实验设计报告 【哈工大“计算机设计与实践”&#xff08;cpu&#xff09;处理器实验设计报告】 在计算机科学领域&#xff0c;CPU&#xff08;中央处理器&#xff09;是计算机系统的核心部件&#xff0c;负责执行指…

解锁编程潜力,从掌握GitHub开始

目录&#xff1a; 一、搜索开源项目 1、什么是Git 2、Github常用词含义 3、一个完整的项目界面 4、使用Github搜索项目 1&#xff09;in关键词 2&#xff09;star或fork数量去查找 3&#xff09;awesome加强搜索 二、访问速度慢的解决 1、使用网易UU加速器 2、使用…