CN111142923B - 一种补丁管理方法及系统 - Google Patents

一种补丁管理方法及系统 Download PDF

Info

Publication number
CN111142923B
CN111142923B CN201911366421.5A CN201911366421A CN111142923B CN 111142923 B CN111142923 B CN 111142923B CN 201911366421 A CN201911366421 A CN 201911366421A CN 111142923 B CN111142923 B CN 111142923B
Authority
CN
China
Prior art keywords
patch
code
list
codes
entry function
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
CN201911366421.5A
Other languages
English (en)
Other versions
CN111142923A (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.)
Zgmicro Corp
Original Assignee
Zgmicro Corp
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 Zgmicro Corp filed Critical Zgmicro Corp
Priority to CN201911366421.5A priority Critical patent/CN111142923B/zh
Publication of CN111142923A publication Critical patent/CN111142923A/zh
Application granted granted Critical
Publication of CN111142923B publication Critical patent/CN111142923B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • G06F8/658Incremental updates; Differential updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种补丁管理方法及系统,所述方法包括获取功能需求;基于获取到的功能需求形成补丁需求设计文档,并将所述补丁需求设计文档上传至补丁管理模块;基于所述补丁需求设计文档完成测试补丁代码和补丁代码的编写;当成功基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块,供所述补丁管理模块基于所述补丁代码生成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理。本发明使用少量的时间成本,成倍提高了产品端对应产品迭代更新效率。

Description

一种补丁管理方法及系统
技术领域
本发明属于软件管理技术领域,具体涉及一种补丁管理方法及系统。
背景技术
小规模的嵌入式解决方案,通常以ARM Cortex M系列处理器为主。这一类产品,为了做到成本的极致,更加偏向以ROM作为代码的存储代码介质,从而避免使用成本高30%左右的片上闪存。
ROM版本的芯片产品在生产过程中必须烧录代码,后续使用过程中则无法继续更新代码;而以片上闪存版本为主的芯片产品则可以多次擦写代码的内容。
在以ROM作为代码存储器的系统方案中,由于ROM不可改写的天然特性,一旦代码中有BUG,哪怕是个很小的错误,都会给整个系统带来不可挽回的后果,甚至无法使用。
为了避免因要重新定制ROM而流片所导致的巨额物料成本,以及流片所带来的时间成本。补丁(PATCH)模块利用ARM Cortex-M系列处理器的FPB(Flash PATCH andBreakpoint)单元所提供的代码重映射功能和Thumb-2指令集中灵活多样的分支指令,实现了所谓的为ROM打补丁的功能。
对基于C语言开发的软件产品,在ROM上是采用BINARY方式进行存储的,BINARY文件是ARMCC或GCC编译生成的,其是ARM官方定义的一种文档格式;一个补丁由一个或多个BIN文件构成,而一个生成BIN文件源码是由一个或多个C文件组成;通常C源码可能由多人进行维护。
嵌入式软件开发过程中,软件代码通常要进行统一管理,现代码管理工具有Concurrent Version System、Apache Subversion、GitLab等等,那么在补丁文件的开发过程中,也同样需要使用代码管理工具进行统一管理。
而一般情况下由现场技术支持工程师(FAE)或者质量管理(QA)负责人会提供系统根据系统缺陷或需求、给研发工程师派发研发任务,而研发工程师会根据任务,从代码服务管理器下载当前版ROM芯片tape-out时Freeze的代码到本地,修改对应代码并生成补丁文件,补丁文件待验证通过后,则会将修改完的代码提交到Freeze Errata代码服务管理器。
然而研发任务下发的时间不同以及验证的时间不同,则会新旧逻辑生成的BIN文件则会存在逻辑上的覆盖,则会导致缺陷的二次产生。
因此,需要一种补丁管理系统来解决补丁间相互逻辑覆盖引起二次或者多次缺陷,从而减少造成补丁执行异常,导致增加二次缺陷的可能性的问题产生。
如图1所示,函数A1,在第M个时间点、第N个时间点、第X个时间点都对函数A1进行了函数Code的修改,其所修改的区域是一样的,第M个时间点和第N个时间点的修改是小改动,第X个时间点是大改动。值得注意的是,M、N两个时间点的修改是不耦合的,而第X个时间的修改是耦合或者不耦合M、N修改Code,加入仅是耦合M、N修改,则进行补丁合并即可,这个比较简单;如不耦合M、N处修改,其合并的可能性就不存在,必须允许这个冲突存在。
如图1所示,一般ROM版芯片存储区域有三个ROM、RAM、FLASH,ROM前面有介绍,RAM是易丢失性(下电丢失),FLASH中能存储一些必要的配置信息;其三者存储空间大小顺序为ROM>FLASH>RAM(小规模的ROM版芯片ROM物理存储空间不会超过1MB、FLASH不会超过512KB、RAM不会超过200KB,都是非常小的尺寸,这里不是说,本方案不适合大尺寸ROM的芯片,反之亦然)。
在上电后,程序BootLoader把patch从FLASH中搬运到RAM指定区域。当ROM中程序执行到某个缺陷区域时(根据执行的入口地址或者一定的规则),则直接跳转到RAM的Patch区域进行执行,当执行完成后,则直接跳转到ROM区域(Patch的返回地址)。
如图2所示,为传统的ROM补丁生成、验证、提交过程;经由任务下发,到研发工程师到指定服务器取ROM芯片对应的tape out时的freeze源码,C源码通过编译器进行编译,编译器可选用ARM公司的Keil工具链中的ARMCC或者开源的GCC,最后得到补丁BIN文件。提交到测试平台耦合到芯片平台中进行验证。验证通过后补丁BIN文件以及补丁源码文件由研发提交对应的代码管理器。所有步骤流程都是分离的,可管理性差、无追溯性。
发明内容
针对上述问题,本发明提出一种补丁管理方法及系统,能够使用少量的时间成本,成倍提高产品端对应产品迭代更新效率。
为了实现上述技术目的,达到上述技术效果,本发明通过以下技术方案实现:
第一方面,本发明提供了一种补丁管理方法,包括:
获取功能需求;
基于获取到的功能需求形成补丁需求设计文档,并将所述补丁需求设计文档上传至补丁管理模块;
基于所述补丁需求设计文档完成测试补丁代码和补丁代码的编写;
当成功基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块,供所述补丁管理模块基于补丁代码生成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理。
可选地,所述补丁需求设计文档中包括设计逻辑、预期目标和验证案例。
可选地,所述方法还包括:当基于所述测试补丁代码无法完成对补丁代码测试,则修改所述补丁代码。
可选地,所述基于所述补丁需求设计文档完成测试补丁代码的编写为:
基于所述需求设计文档中的验证案例,以及与所述补丁相关的所有函数定义或全部类型定义,编写出测试补丁代码。
可选地,所述基于所述补丁需求设计文档完成补丁代码的编写为:
基于所述需求设计文档中的设计逻辑,以及与所述补丁相关的所有函数定义或全部类型定义,编写出测试补丁代码。
第二方面,本发明提供了一种补丁管理方法,包括:
获取补丁代码,并形成补丁列表;所述补丁代码按照补丁功能进行区分并存储,每个补丁功能含有N个补丁代码文件或者M个公共资源文件,N>0,M≥0;
基于所述补丁列表,进行管理权限设计;
基于所述补丁列表进行功能补丁选择;
对与补丁列表中被选中的功能补丁对应的补丁代码进行编译和链接输出补丁文件合集;
对所述补丁文件合集进行补丁验证,完成补丁管理。
可选地,所述公共资源文件用于供N个补丁代码文件共同调用。
可选地,所述对补丁列表中被选中的补丁代码,进行编译和链接输出补丁文件合集,具体为:
对补丁列表中被选中的补丁代码,调用ARMCC或GCC编译进行编译、链接输出补丁文件合集。
可选地,所述补丁列表的形成方法包括:
获取补丁代码文件;
顺次加载各补丁对应的补丁代码文件,同时加载与各补丁相对应的补丁手册,所述补丁手册中包含了各补丁的相关信息;
读取补丁手册中的设定信息,若发现某些信息未填写或填写不符合要求,则突出显示当前补丁,且不将当前补丁的手册信息更新至补丁列表中,否则,将当前补丁的手册信息更新至补丁列表中,最终形成补丁列表。
可选地,所述基于所述补丁列表进行补丁选择包括以下步骤:
选中某一补丁,将所述补丁的入口函数名与之前已经被选中补丁的入口函数名进行比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁;
和/或将所述补丁的入口函数地址与之前已经被选中补丁的入口函数地址进行比较,当比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁。
第三方面,本发明提供了一种补丁管理系统,包括:
需求管理模块,用于生成功能需求;
研发管理模块,用于基于获取到的功能需求形成补丁需求设计文档,并上传至补丁管理模块,基于所述补丁需求设计文档生成测试补丁代码和补丁代码;当基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块;
补丁管理模块,用于基于接收到的补丁代码形成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理;
验证模块,用于将所述补丁文件合集耦合到ROM芯片进行验证。
可选地,所述验证模块还用于根据验证反馈的结果,形成测试报告并上传远程监控平台,由远程监控平台来进行结果的推送反馈。
与现有技术相比,本发明具有如下有益效果中的一个或多个:
本发明能够快捷的获取补丁生成的各个阶段的信息(包括需求分析、补丁测试代码、补丁代码、补丁生成、补丁测试结果等),还能就补丁自测结果快速的定位补丁源码文件问题并快速的修正。
本发明改变以往补丁管理的方式,能够完美的完成从需求到补丁输出一站式管理,从管理汇编源码和C源码到仅管理C源码的升级。
本发明原则上能适配所有支持补丁功能的ARM系列的处理器。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
图1为现有技术补丁管理方法的示意图之一;
图2为现有技术补丁管理方法的示意图之二;
图3为本发明一种实施例的补丁管理方法流程示意图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明的保护范围。
下面结合附图对本发明的应用原理作详细的描述。
实施例1
本发明实施例中提供了一种补丁管理方法,包括以下步骤:
(1)获取功能需求;所述的功能需求是由管理人员登录需求管理模块,将汇总得到的缺陷及新功能需求提交至需求管理模块中,并制定研发组或制定某个研发人员去处理;
(2)基于获取到的功能需求形成补丁需求设计文档,并将所述补丁需求设计文档上传至补丁管理模块;
(3)基于所述补丁需求设计文档完成测试补丁代码和补丁代码的编写;
(4)当成功基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块,供所述补丁管理模块管理补丁代码文件以及补丁列表,并对选中的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理。
在实际应用过程中,本发明实施例中的补丁管理方法被置入研发管理模块中;
在本发明实施例的一种具体实施方式中,所述补丁需求设计文档中包括设计逻辑、预期目标和验证案例。
在本发明实施例的一种具体实施方式中,所述方法还包括:当基于所述测试补丁代码无法完成对补丁代码测试,则修改所述补丁代码。
在本发明实施例的一种具体实施方式中,所述基于所述补丁需求设计文档完成测试补丁代码的编写为:
基于所述需求设计文档中的验证案例,以及与所述补丁相关的所有函数定义或全部类型定义,编写出测试补丁代码。
作为本发明的进一步改进,所述基于所述补丁需求设计文档完成补丁代码的编写为:
基于所述需求设计文档中的设计逻辑,以及与所述补丁相关的所有函数定义或全部类型定义,编写出测试补丁代码。
在具体实施时,所述方法具体包括以下步骤:
研发工程师进入研发管理模块接受任务,并在研发管理模块中新建以产品为中心的工程管理文件,再获取补丁匹配的ROM芯片的预制文件,所述预制文件包含所有函数的定义以及全部类型定义,所有函数定义或全部类型定义都是freeze的code代码中的,在进行补丁代码编辑时,需借用这些类型定义或接口进行Code修改的或功能设计的,当然code的修改以及设计都得参考原文档编辑;
在进行code的修改之初,必须在任务栏后完成需求设计文档(《补丁需求设计文档》)的编写,其必须包含设计逻辑、预期目标、验证CASE设计等;在编写需求设计文档完成之后,与平台推送给负责人审核,是否就逻辑而言达到预期目的;这样即可以保证补丁既有追溯性、稳定性,也可满足其它研发工程师可查阅性。在审核逻辑设计没有问题并完成后,即可开始补丁代码编写了,另外至于《补丁概要》,这个在补丁生成时会为每个功能补丁自动生成,由系统完成;
研发人员根据所述需求设计文档中的验证case,编写测试补丁代码,这样在耦合平台进行测试时,对输出的结果就能很方便的解析补丁是否符合设计目标或预期;
在编写完测试补丁代码后,研发人员进行真正的补丁代码编写(按照功能需求设计进行代码的填写),在逻辑编写完成、编译链接都没有问题后,利用所述测试补丁代码对其进行逻辑自测,最好也耦合到平台进行验证;
当通过逻辑自测后,将补丁代码和需求设计文档同时提交补丁管理模块,供所述补丁管理模块管理补丁代码文件以及补丁列表,并对选中的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理。
实施例2
本发明实施例中提供了一种补丁管理方法,包括以下步骤:
获取补丁代码文件,并形成补丁列表;所述补丁代码按照补丁功能进行区分并存储,每个补丁功能含有N个补丁代码文件或者M个公共资源文件;所述公共资源文件用于供N个补丁代码文件共同调用,N>0,M≥0;
基于所述补丁列表,进行管理权限设计;
基于所述补丁列表进行补丁选择;
对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集;
对所述补丁文件合集进行补丁验证,完成补丁管理。
在本发明实施例的一种具体实施方式中,所述对补丁列表中被选中的补丁代码,进行编译和链接输出补丁文件合集,具体为:
对补丁列表中被选中的补丁代码,调用ARMCC或GCC编译进行编译、链接输出补丁文件合集,即补丁bin文件。
所述基于所述补丁列表,进行管理权限设计,包括以下步骤:
研发工程师以及QV验证工程师在上只能进行选择补丁文件,值得注意的是,二者在权限上也是不一样的,验证工程是没有权限查看研发工程编写的code的,其只能查阅以及编辑文档(QV/QA能上报测试结果)。
在实际使用过程中,本发明实施例中的方法在补丁管理模块中进行。
在本发明实施例的一种具体实施方式中,所述补丁列表的形成方法包括:
获取补丁代码文件;
顺次加载各补丁对应的补丁代码文件,同时加载与各补丁相对应的补丁手册,所述补丁手册中包含了各补丁的相关信息;
读取补丁手册中的设定信息,若发现某些信息未填写或填写不符合要求,则突出显示当前补丁,且不将当前补丁的手册信息更新至补丁列表中,否则,将当前补丁的手册信息更新至补丁列表中,最终形成补丁列表。
在本发明实施例的一种具体实施方式中,所述基于所述补丁列表进行补丁选择包括以下步骤:
选中某一补丁,将所述补丁的入口函数名与之前已经被选中补丁的入口函数名进行比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入;
和/或将所述补丁的入口函数地址与之前已经被选中补丁的入口函数地址进行比较,当比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入。
实施例3
基于与实施例1和实施例2相同的发明构思,本发明实施例中提供了一种补丁管理系统,包括:
需求管理模块,用于生成功能需求;
研发管理模块,用于基于获取到的功能需求形成补丁需求设计文档,并上传至补丁管理模块,基于所述补丁需求设计文档生成测试补丁代码和补丁代码;当基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块;
补丁管理模块,用于基于接收到的补丁代码,形成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理;
验证模块,用于将所述补丁文件合集耦合到ROM芯片进行验证。
在本发明实施例的一种具体实施方式中,所述验证模块还用于根据验证反馈的结果,形成测试报告并上传远程监控平台,由远程监控平台来进行结果的推送反馈。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (11)

1.一种补丁管理方法,其特征在于,包括:
获取功能需求;
基于获取到的功能需求形成补丁需求设计文档,并将所述补丁需求设计文档上传至补丁管理模块;
基于所述补丁需求设计文档完成测试补丁代码和补丁代码的编写;
当成功基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块,供所述补丁管理模块基于补丁代码生成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理;
将所述补丁文件合集耦合到ROM芯片进行验证;
所述基于所述补丁列表进行补丁选择包括以下步骤:
选中某一补丁,将所述补丁的入口函数名与之前已经被选中补丁的入口函数名进行比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁;和/或将所述补丁的入口函数地址与之前已经被选中补丁的入口函数地址进行比较,当比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁。
2.根据权利要求1所述的一种补丁管理方法,其特征在于:所述补丁需求设计文档中包括设计逻辑、预期目标和验证案例。
3.根据权利要求2所述的一种补丁管理方法,其特征在于:所述方法还包括:当基于所述测试补丁代码无法完成对补丁代码测试,则修改所述补丁代码。
4.根据权利要求2所述的一种补丁管理方法,其特征在于:所述基于所述补丁需求设计文档完成测试补丁代码的编写为:
基于所述需求设计文档中的验证案例,以及与所述补丁相关的所有函数定义或全部类型定义,编写出测试补丁代码。
5.根据权利要求1所述的一种补丁管理方法,其特征在于:所述基于所述补丁需求设计文档完成补丁代码的编写为:
基于所述需求设计文档中的设计逻辑,以及与所述补丁相关的所有函数定义或全部类型定义,编写出补丁代码。
6.一种补丁管理方法,其特征在于,包括:
获取补丁代码,并形成补丁列表;所述补丁代码按照补丁功能进行区分并存储,每个补丁功能含有N个补丁代码文件或者M个公共资源文件,N>0,M≥0;
基于所述补丁列表,进行管理权限设计;
基于所述补丁列表进行补丁选择;
对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集;
对所述补丁文件合集进行补丁验证,完成补丁管理;
将所述补丁文件合集耦合到ROM芯片进行验证;
所述基于所述补丁列表进行补丁选择包括以下步骤:
选中某一补丁,将所述补丁的入口函数名与之前已经被选中补丁的入口函数名进行比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁;和/或将所述补丁的入口函数地址与之前已经被选中补丁的入口函数地址进行比较,当比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁。
7.根据权利要求6所述的一种补丁管理方法,其特征在于:所述公共资源文件用于供N个补丁代码文件共同调用。
8.根据权利要求6所述的一种补丁管理方法,其特征在于:所述对补丁列表中被选中的补丁代码,进行编译和链接输出补丁文件合集,具体为:
对补丁列表中被选中的补丁代码,调用ARMCC或GCC编译进行编译、链接输出补丁文件合集。
9.根据权利要求6所述的一种补丁管理方法,其特征在于:所述补丁列表的形成方法包括:
获取补丁代码文件;
顺次加载各补丁对应的补丁代码文件,同时加载与各补丁相对应的补丁手册,所述补丁手册中包含了各补丁的相关信息;
读取补丁手册中的设定信息,若发现某些信息未填写或填写不符合要求,则突出显示当前补丁,且不将当前补丁的手册信息更新至补丁列表中,否则,将当前补丁的手册信息更新至补丁列表中,最终形成补丁列表。
10.一种补丁管理系统,其特征在于,包括:
需求管理模块,用于生成功能需求;
研发管理模块,用于基于获取到的功能需求形成补丁需求设计文档,并上传至补丁管理模块,基于所述补丁需求设计文档生成测试补丁代码和补丁代码;当基于所述测试补丁代码完成对补丁代码测试后,将所述补丁代码上传至补丁管理模块;
补丁管理模块,用于基于接收到的补丁代码形成补丁列表,基于所述补丁列表进行补丁选择,并对与补丁列表中被选中的补丁对应的补丁代码进行编译和链接输出补丁文件合集,最后对所述补丁文件合集进行补丁验证,完成补丁管理;
验证模块,用于将所述补丁文件合集耦合到ROM芯片进行验证;
所述基于所述补丁列表进行补丁选择包括以下步骤:
选中某一补丁,将所述补丁的入口函数名与之前已经被选中补丁的入口函数名进行比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁;和/或将所述补丁的入口函数地址与之前已经被选中补丁的入口函数地址进行比较,当比较,若二者相同,则表示该补丁与之前选中的补丁冲突,放弃选入,否则选入该补丁。
11.根据权利要求10所述的一种补丁管理系统,其特征在于:所述验证模块还用于根据验证反馈的结果,形成测试报告并上传远程监控平台,由远程监控平台来进行结果的推送反馈。
CN201911366421.5A 2019-12-26 2019-12-26 一种补丁管理方法及系统 Active CN111142923B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911366421.5A CN111142923B (zh) 2019-12-26 2019-12-26 一种补丁管理方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911366421.5A CN111142923B (zh) 2019-12-26 2019-12-26 一种补丁管理方法及系统

Publications (2)

Publication Number Publication Date
CN111142923A CN111142923A (zh) 2020-05-12
CN111142923B true CN111142923B (zh) 2023-12-05

Family

ID=70520391

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911366421.5A Active CN111142923B (zh) 2019-12-26 2019-12-26 一种补丁管理方法及系统

Country Status (1)

Country Link
CN (1) CN111142923B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111930413B (zh) * 2020-05-22 2023-07-21 无锡中感微电子股份有限公司 一种补丁自动生成方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198060A (ja) * 2007-02-15 2008-08-28 Seiko Epson Corp 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法
CN101963911A (zh) * 2010-09-29 2011-02-02 用友软件股份有限公司 补丁生成方法和装置
CN108920171A (zh) * 2018-05-15 2018-11-30 联想(北京)有限公司 固件更新方法及装置、电子设备
CN110597545A (zh) * 2019-09-04 2019-12-20 北京方研矩行科技有限公司 一种基于ota组件的热补丁智能升级方法及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008198060A (ja) * 2007-02-15 2008-08-28 Seiko Epson Corp 情報処理装置、パッチコード実装システム、電子機器及びパッチコードの実装方法
CN101963911A (zh) * 2010-09-29 2011-02-02 用友软件股份有限公司 补丁生成方法和装置
CN108920171A (zh) * 2018-05-15 2018-11-30 联想(北京)有限公司 固件更新方法及装置、电子设备
CN110597545A (zh) * 2019-09-04 2019-12-20 北京方研矩行科技有限公司 一种基于ota组件的热补丁智能升级方法及系统

Also Published As

Publication number Publication date
CN111142923A (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
EP3769223B1 (en) Unified test automation system
US10572249B2 (en) Software kit release management
CN108874438B (zh) 补丁生成方法、装置、电子设备及计算机存储介质
Spradling SPEC CPU2006 benchmark tools
US20170372247A1 (en) Methods, systems, and articles of manufacture for implementing software application development and releases
EP3265916B1 (en) A method for identifying a cause for a failure of a test
CN107315689A (zh) 基于Git代码文件检索粒度的自动化回归测试方法
US20130290075A1 (en) Localization quality assurance of localized software
CN101046763A (zh) 基于脚本的自动化测试系统的实现方法
CN109189479A (zh) 一种用于处理器指令集的并行自动化验证方法
US20070234328A1 (en) File handling for test environments
CN112131116A (zh) 一种嵌入式软件自动化回归测试方法
Geiger et al. On the evolution of BPMN 2.0 support and implementation
CN111142923B (zh) 一种补丁管理方法及系统
CN113918162A (zh) 一种基于集中式管理模式下的前端代码自动化校验方法
CN115185821A (zh) 程序测试中版本标注方法、系统、设备及存储介质
CN113254054B (zh) 一种智能合约一站式开发系统及方法
CN109451003B (zh) 一种广告机自动解决系统问题缺陷的方法
CN115904933A (zh) 代码仓库管理方法、装置、电子设备及存储介质
CN117111907A (zh) 一种软件开发系统
Rosenfield Boeira Continuous Integration
CN115309626A (zh) 测试方法、组件更新方法以及处理系统
CN117785270A (zh) 版本交付信息的检验方法、装置、处理器及电子设备
CN114721682A (zh) 一种通信电源可升级文件管理方法、装置及存储介质
CN113741948A (zh) 一种代码分支管理方法、装置、设备及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant