CN102902556B - 一种嵌入式设备的多级引导加载方法 - Google Patents

一种嵌入式设备的多级引导加载方法 Download PDF

Info

Publication number
CN102902556B
CN102902556B CN201210326854.XA CN201210326854A CN102902556B CN 102902556 B CN102902556 B CN 102902556B CN 201210326854 A CN201210326854 A CN 201210326854A CN 102902556 B CN102902556 B CN 102902556B
Authority
CN
China
Prior art keywords
subregion
upgrading
test value
load method
flash
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201210326854.XA
Other languages
English (en)
Other versions
CN102902556A (zh
Inventor
刘宏钧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Gongjin Electronics Co Ltd
Original Assignee
Shenzhen Gongjin Electronics Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen Gongjin Electronics Co Ltd filed Critical Shenzhen Gongjin Electronics Co Ltd
Priority to CN201210326854.XA priority Critical patent/CN102902556B/zh
Publication of CN102902556A publication Critical patent/CN102902556A/zh
Application granted granted Critical
Publication of CN102902556B publication Critical patent/CN102902556B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Stored Programmes (AREA)

Abstract

本发明提供了一种嵌入式设备的多级引导加载方法,所述嵌入式设备的flash依次划分为bootloader2分区、image分区和data配置区,所述多级引导加载方法包括步骤:在存储区中添加bootloader1分区,该bootloader1分区具有升级bootloader2、引导bootloader2以及配置bootloader2的功能;设备上电后,先启动bootloader1;在指定时间内,循环检查是否有升级/配置bootloader2指令输入,若无,则bootloader1引导bootloader2启动,完成启动流程;若有,则bootloader1对bootloader2进行升级/配置,升级/配置之后跳转至bootloader2执行或者直接重启设备。本发明实施例中不仅支持image和bootloader的多样性,而且满足嵌入式升级时的安全性要求。

Description

一种嵌入式设备的多级引导加载方法
技术领域
本发明涉及嵌入式技术领域,尤其涉及一种嵌入式设备的多级引导加载方法。
背景技术
嵌入式设备具有两个显著的特点:一个是尽量降低成本,需要裁减掉多余的软硬件功能;一个是需要定制以满足多样化的需求,统一标准的方式难以满足所有的需求。
作为程序的主要部分image(程序镜像,通常包括kernel(内核)和rootfs(根文件***))也是多样化的,随着技术的发展image本身的形式在不断发展,且有双image,大小image等应用形式的出现,导致原有的bootloader(启动加载程序)已经不能满足新的要求,不能兼容,因此bootloader本身也需要进行升级。有时,有关的关键参数如MAC地址,产测配置嵌入到bootloader本身,在参数扩充或修改时也需要对bootloader进行升级。
嵌入式的bootloader通常是存储在flash上的,而传统的bootloader升级方法是:在升级bootloader时,需要把bootloader在flash上对应的block上的数据擦除掉,再从ram写入,这时可能因为断电和其他意外导致升级终止,而bootloader所在的block由于尚未写入数据或写入不完全导致损坏,上电重启就无法再从对应的flashblock读出bootloader代码而无法运行,从而使嵌入式设备陷入瘫痪,俗称变成了砖头。这种情况维修和升级的成本都会很高,或者是永久性的损坏。
因此必须找到一种方法来同时满足灵活性和安全性的要求。
发明内容
本发明的目的在于提供一种嵌入式设备的多级引导加载方法,采用两个bootloader级联来引导image,同时支持image和bootloader的多样性,又满足嵌入式升级时的安全性要求,在bootloader升级失败后仍然能够引导运行。
本发明的目的是通过以下技术方案实现的。
一种嵌入式设备的多级引导加载方法,所述嵌入式设备的flash依次划分为bootloader2分区、image分区和data配置区,所述多级引导加载方法包括步骤:
在存储区中添加bootloader1分区,该bootloader1分区具有升级bootloader2、引导bootloader2以及配置bootloader2的功能;
设备上电后,先启动bootloader1;
在指定时间内,循环检查是否有升级/配置bootloader2指令输入,若无,则bootloader1引导bootloader2启动,完成启动流程;若有,则bootloader1对bootloader2进行升级/配置,升级/配置之后跳转至bootloader2执行或者直接重启设备。
其中,所述bootloader1分区和bootloader2分区位于不同flash上;其中,bootloader1分区设于spinorflash(串行***接口或非门的闪存)上,bootloader2分区设于nandflash(与非门闪存)上。
其中,所述bootloader1分区和bootloader2分区位于同一flash上。
其中,所述bootloader1分区占用1个flash的1个block。
其中,所述bootloader1分区设置有写保护。
其中,bootloader1引导bootloader2启动的过程为:
bootloader1从约定的地址找到对应的block,再根据找到的地址读入bootloader2的信息,读取bootloader2的长度和预设校验值信息;
bootloader1读取出bootloader2的全部内容并计算其校验值,将该校验值和预设校验值比较判断得出该校验值是否正确。如果校验值正确则跳转到bootloader2可执行代码所对应的地址,或跳转到bootloader2加载到内存并解压后对应的地址执行,完成启动流程;如果不正确,则bootloader1转换至升级模式,对bootloader2进行升级,升级后跳转至bootloader2执行或者直接重启设备。
其中,所述bootloader1对bootloader2进行升级的方式包括三种:串口升级方式、tftp(tftp简单文件传输协议)协议升级方式、http(超级文本传输协议)或ftp(文件传输协议)协议升级方式。
与现有技术相比,本发明实施例具有以下有益效果。
本发明实施例中新增了一个bootloader1分区,具有引导、配置、升级原有的bootloader2分区的功能,在设备***启动时bootloader1分区与bootloader2分区级联来进行引导加载,这样在bootloader2在损坏或者升级失败时,bootloader1由于被写保护而不会被损坏,因而bootloader1可对bootloader2重新进行升级,不仅支持image和bootloader的多样性,而且满足嵌入式升级时的安全性要求。
附图说明
图1是现有的flash分布结构示意图。
图2是本发明实施例提供的flash分布结构示意图。
图3是本发明实施例提供的嵌入式设备的多级引导加载方法流程图。
图4是本发明实施例提供的升级方法流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
请参阅图1,现有的flash按顺序依次划分为一个bootloader分区、一个image分区(实际也可为多个image分区)和一个data配置区。其中bootloader分区用于存储bootloader程序本身和bootloader所需要的配置参数;image分区通常包括kernel和rootfs两部分;data配置区为可选,包括***运行需要的配置参数和运行的记录信息,有时可能包括在rootfs里。
与现有的flash分布结构不同,本实施例中在现有的bootloader分区之前添加一个新的bootloader分区,新的flash分布结构如图2所示,包括两个bootloader分区(分别称为bootloader1分区和bootloader2分区)、一个image分区(实际也可为多个image分区)和一个data配置区。下面将对bootloader1分区和bootloader2分区分别进行描述。
bootloder1分区:具有引导bootloader2、升级bootloader2以及配置bootloader2的有关参数的功能;其中的升级功能可以包含最基本的串口升级方式,也可以包含网口升级方式等更高级的方式,详见下文。该bootloder1不支持直接引导或升级image和修改data配置区。bootloder1的大小受到限制,通常为1个flash的1个block大小,有时可能包括一个以上,所占flash空间比bootloder2要小很多。
bootloader2分区:保持现有单个bootloader的有关特性基本不变,其作用就是做一些基本的硬件、运行环境的初始化,解压kenel部分的代码,并把cpu的控制权交给kenel,从而实现对引导操作***的kenrnel部分的引导,也包含升级自身和kernel,或bootloader1除外的整个flash的功能。
在实际应用中,bootloder1分区和bootloader2分区可以不在同一个flash上,比如:bootloader1分区设于spinorflash,而bootloader2分区设于nandflash上。
通常,bootloder1是写保护的,采用flash支持的写保护方式(可以是软件方式和硬件方式)。bootloader2没有权限或不能修改bootloader1的内容,该限制可以是通过代码中规定并在bootloader1设置写保护来实现。bootloader2如果修改flash的写保护方式必须保证bootloader1相关的block的写保护状态不改变。而bootloader2通常也不需要对bootloder1进行读取。
本实施例中,添加设置bootloader1分区的目的就是:在嵌入式设备上电后先跳转到bootloder1执行,完成对bootloader2的升级或者配置后引导bootloader2。bootloader1引导bootloader2时通过固定的起始地址来加载bootloader2,并在前面指定地址读取bootloader2的长度和校验值。该长度和校验值会根据实际情况变化而变化。如果采用nandflash,不论bootloader2是否处于文件***中,bootloader1如果遇到坏块进行跳过在前面若干个指定的block范围内查找,直到根据特征值找到bootloader2位置。
请参阅图3,本实施例中,基于上述具有两个级联的bootloader分区的flash分区结构,嵌入式设备的引导加载方法包括以下步骤。
301、设备上电后,从指定地址启动bootloader1,bootloader1开始执行有关的bootloader基本操作,如初始化内存、定时器,关中断,初始化串口、按键。
302、在指定的短时间内(如1秒钟),循环检查是否有升级指令输入(升级指令可通过指定按键输入或者串口按键输入;按键输入是指:板上有真实的按键,按下去会有电平变化报告给cpu,并有对应驱动处理;串口按键指:板上有串口,通过RS232转接pc机,pc机的键盘有输入时会把输入的字符或命令信息通过串口传到嵌入式板上),如果没有升级指令输入则进入步骤303,如果有升级指令输入则进入步骤304。
配置命令一般来自串口按键输入,本例是实现的通常举例说明,实际上如果有需求,可使用按键来完成特定的配置动作,如恢复默认配置的情况也可能存在。
303、bootloader1引导bootloader2,该引导过程具体如下。
从约定的地址(norflash情况)或根据指定的规则找到对应的block(如nandflash),再根据找到的地址读入bootloader2的信息,读取出长度和预设校验值信息,之后读取出全部的bootloader2内容并计算校验值,将该校验值与预设校验值比较判断该校验值是否正确(预设校验值在编译时生成,在烧录flash时已写入到flash上,校验值是根据不包括预设校验值的flash上的内容在启动时由cpu计算得出的,校验值和预设校验值相同则表明校验值正确)。如果校验值正确则跳转到bootloader2可执行代码所对应的地址(位于flash上),或跳转到bootloader2加载到内存后并解压(如果有需要)后对应的地址(位于内存ram上)执行,完成启动流程。如果不正确则跳转到步骤304执行。
304、bootloader1进入升级模式,在串口打印出命令提示,bootloader1升级功能必须支持下面三种升级方式之一,或全部支持,可以根据实际的体积和功能需要取舍,升级过程如图4所示。这些升级方式的获取文件所采用的协议方式和通常在正常有bootloader2所用的协议实现是一致的,对具体实现方式不具体描述。
升级方式①:采取串口升级,需要在串口输入命令,采用的协议为x-moden,y-modem,z-moderm系列协议,下载文件到内存,然后升级改写flash,升级完成后可以手动执行命令或跳转到bootloader2或自动重启设备。该方法实现简单,代码体积小,为推荐的方式和一般的方式。
升级方式②:使用tftp升级,需要在串口输入命令采用的协议为tftp协议,bootloader需要网络驱动和网络协议支持,较复杂,tftp下载到内存后升级改写flash,升级完成后可以手动执行命令或跳转到bootloader2(即跳转到步骤303执行)或自动重启设备(即跳转到步骤301执行)。
升级方式③:使用http或ftp协议支持,不需要直接在串口操作,需要网卡驱动和http服务,在浏览器中打开预定的http地址,选择升级文件下载后即会自动升级,跳转到bootloader2(即跳转到步骤303执行)或自动重启设备(即跳转到步骤301执行)。
不管采用何种升级方式,bootloader1在对bootloader2进行升级时不影响和改变bootloader1本身,且不直接升级image(kernel和rootfs)和data配置区,只支持升级bootloader2和bootloader2有关的参数。如果bootloader2存在写保护,则先去掉对应block的写保护,写完后对除bootloader2之外的写保护状态保持原有状态。
305、当使用bootloader2对自身和kernel和rootfs等其他部分进行升级时,如果发生断电等意外的情况时bootloader2会损坏而无法启动,更谈不上正确引导kernel。发生这种情况时,重新启动设备,返回步骤301执行。
在该步骤中,当重新上电bootloader1起来后由于会对bootloader2进行完整性校验,检验时会发现bootloader2损坏,会进入升级模式,并调用led灯位显示bootloader2损坏,提醒用户手动对bootloader2进行升级,bootloader2升级后再重启后启动bootloader2对kernel部分进行升级。这时即使bootloader2即使再次升级失败,由于bootloader1完好,下次依然同样可以启动bootloader1,再次进行升级。
在本实施例中,bootloader1可以不需要支持对自身的升级。这时候的情况可以把bootloader1视作嵌入到cpu内部的otpflash(一次性编程闪存),因此是不需要有升级功能的。如果确有需要,修改引导bootloader2有关的参数也可以实现对bootloader1的升级。一般地,这些参数是不需要更改的,就是默认值可以能够引导bootloader2,如果需要调整有关参数,则需要把参数单独占用一个block,该block的位置在bootloader1的block之后,在bootloader2的block之前。该block只由bootloader1来修改,不允许bootloader2来修改。能够通过修改参数的尽量通过修改参数来解决。对于修改参数仍不能解决的情况,需要对bootloader1自身所在的block进行升级,升级时需确保一定不会出现断电的情况,如果发生断电仍然会导致bootloader1自身损坏,升级前需要对该block去写保护,升级功能为减少复杂性,仅对bootloader1进行升级写完后再对该block加上写保护。该升级功能原则上禁止使用,使用可以进行限制,比如需要特权密码限制,进入该模式时需要同时按几个键,并需要多几个步骤,输入几次指令进行确认,以保证安全性。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (5)

1.一种嵌入式设备的多级引导加载方法,所述嵌入式设备的flash依次划分为bootloader2分区、image分区和data配置区,其特征在于,所述多级引导加载方法包括步骤:
在存储区中添加bootloader1分区,所述bootloader1分区设置有写保护,该bootloader1分区具有升级bootloader2、引导bootloader2以及配置bootloader2的功能;
设备上电后,先启动bootloader1;
在指定时间内,循环检查是否有升级/配置bootloader2指令输入,若无,则bootloader1引导bootloader2启动,完成启动流程;若有,则bootloader1对bootloader2进行升级/配置,升级/配置之后跳转至bootloader2执行或者直接重启设备;
bootloader1引导bootloader2启动的过程为:
bootloader1从约定的地址找到对应的block,再根据找到的地址读入bootloader2的信息,读取bootloader2的长度和预设校验值信息;
bootloader1读取出bootloader2的全部内容并计算其校验值,将该校验值和预设校验值比较判断得出该校验值是否正确;如果校验值正确则跳转到bootloader2可执行代码所对应的地址,或跳转到bootloader2加载到内存并解压后对应的地址执行,完成启动流程;如果不正确,则bootloader1转换至升级模式,对bootloader2进行升级,升级后跳转至bootloader2执行或者直接重启设备。
2.如权利要求1所述嵌入式设备的多级引导加载方法,其特征在于,所述bootloader1分区和bootloader2分区位于不同flash上;其中,bootloader1分区设于spinorflash上,bootloader2分区设于nandflash上。
3.如权利要求1所述嵌入式设备的多级引导加载方法,其特征在于,所述bootloader1分区和bootloader2分区位于同一flash上。
4.如权利要求1所述嵌入式设备的多级引导加载方法,其特征在于,所述bootloader1分区占用1个flash的1个block。
5.如权利要求1至4任一所述嵌入式设备的多级引导加载方法,其特征在于,该方法中,所述bootloader1对bootloader2进行升级的方式包括三种:串口升级方式、tftp协议升级方式、http或ftp协议升级方式。
CN201210326854.XA 2012-09-06 2012-09-06 一种嵌入式设备的多级引导加载方法 Active CN102902556B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210326854.XA CN102902556B (zh) 2012-09-06 2012-09-06 一种嵌入式设备的多级引导加载方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210326854.XA CN102902556B (zh) 2012-09-06 2012-09-06 一种嵌入式设备的多级引导加载方法

Publications (2)

Publication Number Publication Date
CN102902556A CN102902556A (zh) 2013-01-30
CN102902556B true CN102902556B (zh) 2016-06-01

Family

ID=47574802

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210326854.XA Active CN102902556B (zh) 2012-09-06 2012-09-06 一种嵌入式设备的多级引导加载方法

Country Status (1)

Country Link
CN (1) CN102902556B (zh)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750510B (zh) 2013-12-30 2019-04-02 深圳市中兴微电子技术有限公司 一种芯片启动方法及多核处理器芯片
CN104346280B (zh) * 2014-10-31 2019-06-21 上海斐讯数据通信技术有限公司 一种交换机重启配置检查的方法及***
CN104765697A (zh) * 2015-03-10 2015-07-08 安科智慧城市技术(中国)有限公司 一种嵌入式设备交互方法及***
CN105069375B (zh) * 2015-08-14 2018-01-09 上海柏楚电子科技有限公司 一种基于数据库的嵌入式***加密方法
CN107045611B (zh) * 2016-02-05 2022-01-25 中兴通讯股份有限公司 安全启动方法及装置
CN107220547B (zh) * 2016-03-21 2020-07-03 展讯通信(上海)有限公司 终端设备及其启动方法
CN106293531B (zh) * 2016-08-10 2019-09-06 深圳市蜂联科技有限公司 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法
CN106371863A (zh) * 2016-08-24 2017-02-01 武汉光迅科技股份有限公司 一种嵌入式多操作***的引导程序升级方法
CN106227572A (zh) * 2016-08-30 2016-12-14 深圳市蓝海华腾技术股份有限公司 一种变频器控制***程序升级方法
US10241803B2 (en) * 2016-10-03 2019-03-26 Schneider Electric It Corporation System and method for updating device software
CN108255526B (zh) * 2016-12-28 2020-07-31 深圳市中兴微电子技术有限公司 一种***启动及运行的方法、装置
CN107632862A (zh) * 2017-09-20 2018-01-26 江苏兆能电子有限公司 一种汽车电子控制单元ecu的多级启动加载方法
CN108399339B (zh) * 2018-02-12 2021-09-14 广东为辰信息科技有限公司 一种基于安全芯片的可信启动方法
CN111158712A (zh) * 2018-11-07 2020-05-15 中兴通讯股份有限公司 一种车载Tbox升级的方法、装置、设备以及存储介质
CN109814885A (zh) * 2019-01-11 2019-05-28 厦门亿联网络技术股份有限公司 一种基于xmodem的裸片烧录方法
CN110532014B (zh) * 2019-08-20 2023-06-30 海信(广东)空调有限公司 程序升级方法、装置、终端设备及计算机可读存储介质
CN111258604A (zh) * 2020-01-14 2020-06-09 深圳市有为信息技术发展有限公司 Bootloader升级***和方法
CN111338701A (zh) * 2020-02-25 2020-06-26 邦彦技术股份有限公司 一种网络设备启动方法和网络设备
CN112115017B (zh) * 2020-08-07 2022-07-12 航天科工空间工程发展有限公司 一种星载软件程序的逻辑代码监控方法和装置
CN112346746A (zh) * 2020-10-30 2021-02-09 中国船舶重工集团公司第七0七研究所 一种基于串口高可靠性的tms32c6748程序烧录方法
CN112596766A (zh) * 2020-12-24 2021-04-02 浙江合众新能源汽车有限公司 基于Bootloader的软件升级方法及装置
CN113254048B (zh) * 2021-06-21 2021-09-28 深之蓝(天津)水下智能科技有限公司 引导程序更新方法、装置、设备及计算机可读介质
CN114035853B (zh) * 2021-11-17 2023-07-07 珠海一微半导体股份有限公司 具备spi接口的mcu引导***及芯片

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000551A (zh) * 2007-01-05 2007-07-18 中兴通讯股份有限公司 嵌入式单板引导模块版本加载方法
CN101329632A (zh) * 2008-04-30 2008-12-24 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
CN100511148C (zh) * 2007-11-12 2009-07-08 中兴通讯股份有限公司 一种cpu***的启动方法及***
US7882345B1 (en) * 2007-09-19 2011-02-01 Symantec Corporation System, method, and apparatus for processor detection in a pre-boot execution environment
CN101980157A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 移动终端开机启动方法及移动终端
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式***bootrom的升级方法和装置
CN102508676A (zh) * 2011-09-28 2012-06-20 中兴通讯股份有限公司 嵌入式***启动方法及装置

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101000551A (zh) * 2007-01-05 2007-07-18 中兴通讯股份有限公司 嵌入式单板引导模块版本加载方法
US7882345B1 (en) * 2007-09-19 2011-02-01 Symantec Corporation System, method, and apparatus for processor detection in a pre-boot execution environment
CN100511148C (zh) * 2007-11-12 2009-07-08 中兴通讯股份有限公司 一种cpu***的启动方法及***
CN101329632A (zh) * 2008-04-30 2008-12-24 中兴通讯股份有限公司 一种使用boot启动cpu的方法与装置
CN101980157A (zh) * 2010-10-13 2011-02-23 中兴通讯股份有限公司 移动终端开机启动方法及移动终端
CN102033790A (zh) * 2010-12-15 2011-04-27 中兴通讯股份有限公司 一种嵌入式***bootrom的升级方法和装置
CN102508676A (zh) * 2011-09-28 2012-06-20 中兴通讯股份有限公司 嵌入式***启动方法及装置

Also Published As

Publication number Publication date
CN102902556A (zh) 2013-01-30

Similar Documents

Publication Publication Date Title
CN102902556B (zh) 一种嵌入式设备的多级引导加载方法
CN106707848B (zh) 一种控制***的控制程序组织结构和下载方法
US10846073B2 (en) Methods, apparatuses, terminals, servers, and systems for container generation
US20080184072A1 (en) Firmware ROM Patch Method
KR20160002685A (ko) 드라이버를 로딩하는 방법 및 내장형 장치
CN101763279A (zh) 一种BootLoader架构设计方法
CN105468529A (zh) 一种安卓应用ui控件精准遍历方法和装置
CN106980597B (zh) 片上***验证方法及验证***
CN103106092A (zh) 终端设备中***软件升级方法和装置
CN108182078B (zh) 一种优化的弹载设备不拆弹软件在线升级方法
KR100700578B1 (ko) 휴대폰의 펌웨어 업그레이드 방법
CN104156221A (zh) 芯片、修改芯片配置的方法及装置
TW201721412A (zh) 選擇及載入韌體卷區之技術
CN104699503A (zh) 一种替换安卓***中函数的执行逻辑的方法及装置
CN111880804A (zh) 应用程序代码的处理方法及装置
CN103853557A (zh) 一种用Uboot网络启动WinCE的方法
CN112130926A (zh) 应用程序运行的方法、装置、终端设备及存储介质
CN108874422B (zh) 一种冰箱电控板的软件在线升级方法、冰箱电控板和冰箱
JP2008198060A (ja) 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法
CN105573913A (zh) 一种onu***中的程序调试方法及***
CN110825409A (zh) 参数管理方法、电子设备及计算机存储介质
CN114327574A (zh) 一种差分升级方法、电子设备及存储介质
CN112214266A (zh) 欺骗调用链安卓脱壳方法、装置、存储介质及计算机设备
CN112596751B (zh) 应用程序安装包的编译方法、终端、服务器及存储介质
CN107562440A (zh) 一种eeprom版本更新方法及装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant