CN113641389B - 基于OpenCPU的软件升级方法、装置及设备 - Google Patents
基于OpenCPU的软件升级方法、装置及设备 Download PDFInfo
- Publication number
- CN113641389B CN113641389B CN202111013527.4A CN202111013527A CN113641389B CN 113641389 B CN113641389 B CN 113641389B CN 202111013527 A CN202111013527 A CN 202111013527A CN 113641389 B CN113641389 B CN 113641389B
- Authority
- CN
- China
- Prior art keywords
- file
- upgrade
- compiling
- opencpu
- upgrade file
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 230000006870 function Effects 0.000 claims abstract description 34
- 230000008569 process Effects 0.000 claims abstract description 15
- 238000004590 computer program Methods 0.000 claims description 17
- 238000012795 verification Methods 0.000 claims description 4
- 238000010586 diagram Methods 0.000 description 10
- 238000012545 processing Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 239000012634 fragment Substances 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 230000009191 jumping Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/37—Compiler construction; Parser generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及OpenCPU软件技术领域,其实施方式提供了一种基于OpenCPU的软件升级方法、装置及设备。其中基于OpenCPU的软件升级方法包括:获取包括升级程序源代码的源文件;将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;将所述中间文件加上运行所需函数库经链接生成升级文件;采用所述升级文件进行升级。本发明提供的实施方式能够提高升级效率和升级稳定性。
Description
技术领域
本发明涉及OpenCPU软件技术领域,具体地涉及一种基于OpenCPU的软件升级方法、一种基于OpenCPU的软件升级装置以及一种基于OpenCPU的软件升级设备。
背景技术
OpenCPU是一种嵌入式开发解决方案。而在(NB-iot/4g/5g等LTE)模组的应用上,不再需要外接mcu做主控,而是把模组当主控来使用,节省不少硬件成本,并且简化方案的设计。
在当前OpenCPU方案中,OS大多使用freeRTOS、LiteOS等,本身不支持模块动态加载。厂商以库的形式提供sdk,用户基于这些库,加上自己的应用代码,编译并打包成完整的镜像,再通过工具或者OTA方式,更新到模组。该升级方式的效率很低,而且容易出错。
另外在当前模组方案中,由于历史等原因,sdk还存在着使用非开源,非免费的编译链,给客户使用和体验都带来很大的困扰。
发明内容
本发明实施例的目的是提供一种基于OpenCPU的软件升级方法、装置及设备,以至少解决在当前OpenCPU方案中升级效率低、升级不稳定以及编译链被限制等问题。
为了实现上述目的,本发明第一方面提供一种基于OpenCPU的软件升级方法,所述方法包括:获取包括升级程序源代码的源文件;将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;将所述中间文件加上运行所需函数库经链接生成升级文件;采用所述升级文件进行升级。
优选的,所述编译采用GCC编译器,所述编译器的版本在7.2.1以上。
优选的,所述可重定位编译参数,包括:-r、-mlong-calls和-fno-common。
优选的,所述运行所需函数库包括:C标准函数库和GCC浮点运算库。
优选的,所述采用所述升级文件进行升级,包括:获取并载入所述升级文件;确定所述升级文件的文件标识和校验信息均为有效;解析所述升级文件中的符号;执行所述升级文件中的升级程序。
优选的,解析所述升级文件中的符号,包括:将所述升级文件中未定义的符号的地址,采用“OC_API”的符号地址进行代替。
优选的,所述方法还包括:确定所述升级文件为应用程序升级文件,将所述升级文件保存至文件系统,并设置标志位;所述标志位在升级终端重新启动并完成加载所述文件系统和所述升级文件之后被复位。
在本发明的第二方面,还提供了一种基于OpenCPU的软件升级装置,所述装置包括:获取模块,用于获取包括升级程序源代码的源文件,声明确定模块,用于将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;编译模块,用于将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;链接模块,用于将所述中间文件加上运行所需函数库经链接生成升级文件;以及升级执行模块,用于采用所述升级文件进行升级。
在本发明的第三方面,还提供了一种基于OpenCPU的软件升级设备,包括:处理器和存储器;所述存储器存储有可被所述处理器读取的计算机程序;其中,所述处理器执行所述计算机程序时,实现前述的基于OpenCPU的软件升级方法的步骤。
优选的,所述设备为物联网模组。
本发明第四方面提供了一种计算机可读存储介质,所述存储介质中存储有指令,当其在计算机上运行时,使得计算机执行前述的基于OpenCPU的软件升级方法。
本发明第五方面提供一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现前述的基于OpenCPU的软件升级方法。
上述技术方案具有以下有益效果:
本发明的内容或实施方式提供一种基于OpenCPU的软件升级方式,解决在当前OpenCPU方案中,升级效率低,不稳定,而且编译链被限制等问题。
本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:
图1示意性示出了本发明实施方式的基于OpenCPU的软件升级方法的流程示意图;
图2示意性示出了根据本发明实施方式的终端系统架构示意图;
图3示意性示出了根据本发明实施方式的基于OpenCPU的软件升级装置的结构示意图。
具体实施方式
以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。
图1示意性示出了本发明实施方式的基于OpenCPU的软件升级方法的流程示意图,如图1所示。本实施方式提供一种基于OpenCPU的软件升级方法。包括:
S01、获取包括升级程序源代码的源文件;
此处的源文件为包括升级程序源代码的文件,用计算机语言直接编写而成。此处的获取包括从编程软件直接获得或者从存储介质上读取。
S02、将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;如果在函数定义的地方带有关键字extern,表示该函数会提供给外部文件使用。将源文件中的系统函数均声明为extern类型,并将系统函数在链接步骤中进行链接,以实现源文件中系统函数的正常调用。
S03、将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;编译过程通过编译命令进行,编译命令涉及多个编译参数,也称为选项开关。本步骤选用一个或多个可重定位编译参数,使编译过后的中间文件受原编译链的影响减至最小。此处的中间文件包含有适合于其它目标文件链接来创建一个可执行的或者共享的目标文件的代码和数据,其常用形式为二进制可重定位文件。
S04、将所述中间文件加上运行所需函数库经链接生成升级文件;链接是将各种代码和数据片段收集并组合成为一个单一文件的过程,这个文件可被加载到内存并执行。本步骤在将中间文件进行链接时链接了标准C库和GCC的浮点库,通过此方式,使升级文件在其他平台上运行时,不会因为要调用其他编译链的库文件而导致错误。以此保证升级文件中包括了运行所需函数,降低升级文件执行后应用程序的运行错误。该升级文件根据操作系统的不同,可能为APK或EXE格式的文件。
S05、采用所述升级文件进行升级。采用升级文件替换被升级的原文件,并将升级文件进行加载和解析,进而启动该升级文件所对应的应用程序,以实现对该应用程序的升级。
通过以上实施方式,通过对源文件、编译过程和链接过程的针对性的改进,以生成升级文件。以此能够减少升级文件对底层和编译链的依赖,以此实现在OpenCPU的软件系统升级中的编译链被限制等问题。
在本发明提供的一些实施方式中,所述编译采用GCC编译器,所述编译器的版本在7.2.1以上。采用一定版本之后的GCC编译器,能够提升编译效率。
在本发明提供的一些实施方式中,所述可重定位编译参数,包括:-r、-mlong-calls和-fno-common。选用以上编译参数中的一个或多个,能够实现上述的重定位效果。
在本发明提供的一些实施方式中,所述运行所需函数库包括:C标准函数库和GCC浮点运算库。C标准函数库和GCC浮点运算库为OpenCPU的常用库,通过链接以上函数库和运算库,以保证升级程序的正常运行。
在本发明提供的一些实施方式中,所述采用所述升级文件进行升级,包括:获取并载入所述升级文件;确定所述升级文件的文件标识和校验信息均为有效;解析所述升级文件中的符号;执行所述升级文件中的升级程序。以及所述方法还包括:确定所述升级文件为应用程序升级文件,将所述升级文件保存至文件系统,并设置标志位;所述标志位在升级终端重新启动并完成加载所述文件系统和所述升级文件之后被复位。具体如下:
1,终端在开机启动时,检测升级服务器是否可用,若可用则发起http post,正文里携带有经过加密的本终端的IMEI号及软件版本号;
2,服务器根据终端的上述请求,查询IMEI对应的软件版本号,以确定该终端是否需要升级。如果该终端需要升级。则返回OK,同时在正文里携带经过加密的升级文件的路径,优选为URL。如果该终端不需要升级,直接返回OK,正文为空;
3,终端得到升级文件的路径,重新发起http get请求,开始接收升级文件;升级文件接收完成后,校验升级文件的文件头以及文件的CRC;
4,确认升级文件的类型,如果该升级文件为应用程序升级文件(APP升级),则将该升级文件保存到终端中的文件系统,设置标志位;然后将该终端重新启动;
5,终端开机启动后,检测到标志位被置位,分析并检查升级文件的各符号,如果没问题,则加载该升级文件,同时复位标志位;
6,删除旧文件;
7,上报升级成功消息。
图2示意性示出了根据本发明实施方式的终端系统架构示意图,如图2所示。整个终端系统架构可分为以下3个部分:
1,appcalition,用户自己的应用代码,为独立的镜像,存储在模组的文件系统里;
2,ALU,包含loader、log、upgrade、os等,用于在开机时加载application,解析符号,符号重定位等功能;
3,SDK,包含os、driver等。
此处通过结合附图2中终端系统架构,对上述步骤5中的终端开机启动后的工作流程描述如下,主要包括文件系统的加载。
1,终端开机启动后,启动ALU模块;
2,ALU模块通过http请求,获取服务器应用文件版本信息,判断是否需要升级应用,如果应用有更新,则把服务器的应用文件下载到本地文件系统。
3,ALU申请固定大小内存,从固定路径加载应用文件;
4,读取文件头,文件以0x414C55的字符开始,判断文件的头部是否合法,以及文件末尾的CRC校验;
5,如果应用不合法,则读取默认的应用文件;
6,解析文件的符号,将文件未定义的符号的地址,使用“OC_API”的符号地址代替;
7,找到“app_main”的地址,并跳到该地址,启动应用。
图3示意性示出了根据本发明实施方式的基于OpenCPU的软件升级装置的结构示意图。如图3所示,在本实施方式中,还提供了一种基于OpenCPU的软件升级装置,所述装置包括:获取模块,用于获取包括升级程序源代码的源文件,声明确定模块,用于将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;编译模块,用于将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;链接模块,用于将所述中间文件加上运行所需函数库经链接生成升级文件;以及升级执行模块,用于采用所述升级文件进行升级。
上述的基于OpenCPU的软件升级装置中的各个功能模块的具体限定可以参见上文中对于基于OpenCPU的软件升级方法的限定,在此不再赘述。上述装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在本发明提供的一些实施方式中,还提供了一种基于OpenCPU的软件升级设备,包括:处理器和存储器;所述存储器存储有可被所述处理器读取的计算机程序;其中,所述处理器执行所述计算机程序时,实现前述的基于OpenCPU的软件升级方法的步骤。此处的控制模块或处理器具有数值计算和逻辑运算的功能,其至少具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统等。处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来实现前述的方法。存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
在本发明提供的一些实施方式中,所述设备为物联网模组。随着物联网的发展,物联网模组采用OpenCPU的方式越来越普遍。通过在物联网模组里预置前述的基于OpenCPU的软件升级方法,成为该物联网模组的一个子功能,从而在使用该物联网模组的软件升级场景中,执行前述的基于OpenCPU的软件升级方法,以此实现提高升级效率和升级稳定性的技术效果。
在本发明提供的一种实施方式中,提供了一种机器可读存储介质,该机器可读存储介质上存储有指令,该指令在被处理器执行时使得处理器被配置成执行上述的基于OpenCPU的软件升级方法。
在本发明提供的一种实施方式中,提供了一种计算机程序产品,包括计算机程序,该计算机程序在被处理器执行时实现上述的基于OpenCPU的软件升级方法。
以上提供的实施方式,应用于基于OpenCPU的软件升级中。APP和SDK是两个独立的镜像.当前操作系统不支持可动态加载的功能。本发明在现有的操作系统下实现了APP的独立升级功能,提升了设备固件的更新效率。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (8)
1.一种基于OpenCPU的软件升级方法,其特征在于,所述方法包括:
获取包括升级程序源代码的源文件;
将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;
将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;
将所述中间文件加上运行所需函数库经链接生成升级文件;
采用所述升级文件进行升级,包括:获取并载入所述升级文件;确定所述升级文件的文件标识和校验信息均为有效;解析所述升级文件中的符号;执行所述升级文件中的升级程序;
所述方法还包括:确定所述升级文件为应用程序升级文件;将所述升级文件保存至文件系统,并设置标志位;所述标志位在升级终端重新启动并完成加载所述文件系统和所述升级文件之后被复位。
2.根据权利要求1所述的方法,其特征在于,所述编译采用GCC编译器,所述编译器的版本在7.2.1以上。
3.根据权利要求2所述的方法,其特征在于,所述可重定位编译参数包括:-r、-mlong-calls和-fno-common。
4.根据权利要求2所述的方法,其特征在于,所述运行所需函数库包括:C标准函数库和GCC浮点运算库。
5.根据权利要求1所述的方法,其特征在于,解析所述升级文件中的符号,包括:
将所述升级文件中未定义的符号的地址,采用“OC_API”的符号地址进行代替。
6.一种基于OpenCPU的软件升级装置,其特征在于,所述装置包括:
获取模块,用于获取包括升级程序源代码的源文件,
声明确定模块,用于将所述源文件中需调用的系统函数均声明为extern类型,得到新的源文件;
编译模块,用于将所述新的源文件经编译生成中间文件,所述编译的过程中采用若干可重定位编译参数;
链接模块,用于将所述中间文件加上运行所需函数库经链接生成升级文件;以及
升级执行模块,用于采用所述升级文件进行升级,包括:获取并载入所述升级文件;确定所述升级文件的文件标识和校验信息均为有效;解析所述升级文件中的符号;执行所述升级文件中的升级程序;
所述装置还包括:确定所述升级文件为应用程序升级文件;将所述升级文件保存至文件系统,并设置标志位;所述标志位在升级终端重新启动并完成加载所述文件系统和所述升级文件之后被复位。
7.一种基于OpenCPU的软件升级设备,其特征在于,包括:处理器和存储器;所述存储器存储有可被所述处理器读取的计算机程序;其中,所述处理器执行所述计算机程序时,实现权利要求1至5中任一项权利要求所述的基于OpenCPU的软件升级方法的步骤。
8.根据权利要求7所述的设备,其特征在于,所述设备为物联网模组。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013527.4A CN113641389B (zh) | 2021-08-31 | 2021-08-31 | 基于OpenCPU的软件升级方法、装置及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111013527.4A CN113641389B (zh) | 2021-08-31 | 2021-08-31 | 基于OpenCPU的软件升级方法、装置及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113641389A CN113641389A (zh) | 2021-11-12 |
CN113641389B true CN113641389B (zh) | 2024-02-09 |
Family
ID=78424580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111013527.4A Active CN113641389B (zh) | 2021-08-31 | 2021-08-31 | 基于OpenCPU的软件升级方法、装置及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113641389B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116136770B (zh) * | 2023-04-20 | 2023-06-23 | 烟台东方威思顿电气有限公司 | 基于模块的单片机程序升级方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826014A (zh) * | 2010-04-20 | 2010-09-08 | 北京邮电大学 | 一种软件工程源代码的分割方法 |
CN103425911A (zh) * | 2013-08-07 | 2013-12-04 | 北京深思数盾科技有限公司 | 一种增强软件保护易用性的方法 |
CN103440142A (zh) * | 2013-07-22 | 2013-12-11 | 珠海中慧微电子有限公司 | 基于gprs远程升级及动态加载方法 |
GB201612650D0 (en) * | 2016-07-21 | 2016-09-07 | Sony Interactive Entertainment Inc | Program compiler, linker and method |
CN106250116A (zh) * | 2016-07-21 | 2016-12-21 | 武汉精伦电气有限公司 | 一种软件通用框架代码生成方法及系统 |
CN107992307A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 一种函数编译方法及装置 |
CN108874438A (zh) * | 2018-06-25 | 2018-11-23 | 南京中感微电子有限公司 | 补丁生成方法、装置、电子设备及计算机程序产品 |
CN111596920A (zh) * | 2019-02-21 | 2020-08-28 | 迈普通信技术股份有限公司 | 文件编译方法、装置、编译设备及存储介质 |
CN111736846A (zh) * | 2020-06-15 | 2020-10-02 | 南京航空航天大学 | 一种面向动态分析的源代码插桩改进方法 |
CN111767116A (zh) * | 2020-06-03 | 2020-10-13 | 江苏中科重德智能科技有限公司 | 面向机械臂程序开发编程语言的虚拟机及对汇编文件的运行方法 |
CN112346722A (zh) * | 2020-11-11 | 2021-02-09 | 苏州大学 | 一种实现编译型嵌入式Python的方法 |
-
2021
- 2021-08-31 CN CN202111013527.4A patent/CN113641389B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101826014A (zh) * | 2010-04-20 | 2010-09-08 | 北京邮电大学 | 一种软件工程源代码的分割方法 |
CN103440142A (zh) * | 2013-07-22 | 2013-12-11 | 珠海中慧微电子有限公司 | 基于gprs远程升级及动态加载方法 |
CN103425911A (zh) * | 2013-08-07 | 2013-12-04 | 北京深思数盾科技有限公司 | 一种增强软件保护易用性的方法 |
GB201612650D0 (en) * | 2016-07-21 | 2016-09-07 | Sony Interactive Entertainment Inc | Program compiler, linker and method |
CN106250116A (zh) * | 2016-07-21 | 2016-12-21 | 武汉精伦电气有限公司 | 一种软件通用框架代码生成方法及系统 |
CN107992307A (zh) * | 2017-12-11 | 2018-05-04 | 北京奇虎科技有限公司 | 一种函数编译方法及装置 |
CN108874438A (zh) * | 2018-06-25 | 2018-11-23 | 南京中感微电子有限公司 | 补丁生成方法、装置、电子设备及计算机程序产品 |
CN111596920A (zh) * | 2019-02-21 | 2020-08-28 | 迈普通信技术股份有限公司 | 文件编译方法、装置、编译设备及存储介质 |
CN111767116A (zh) * | 2020-06-03 | 2020-10-13 | 江苏中科重德智能科技有限公司 | 面向机械臂程序开发编程语言的虚拟机及对汇编文件的运行方法 |
CN111736846A (zh) * | 2020-06-15 | 2020-10-02 | 南京航空航天大学 | 一种面向动态分析的源代码插桩改进方法 |
CN112346722A (zh) * | 2020-11-11 | 2021-02-09 | 苏州大学 | 一种实现编译型嵌入式Python的方法 |
Non-Patent Citations (2)
Title |
---|
FreeRTOS 动态软件模块;陈紫卿等;《计算机与现代化》(第06期);24-28 * |
嵌入式软件加载技术研究;夏玉春;《中国优秀博硕士学位论文全文数据库 (硕士) 信息科技辑》(第04期);I138-41 * |
Also Published As
Publication number | Publication date |
---|---|
CN113641389A (zh) | 2021-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10019256B2 (en) | Systems and methods for incremental software development | |
CN106796522B (zh) | 用于更新源代码文件的系统和方法 | |
US9454356B2 (en) | Method of and terminal for updating library file in system application | |
CN105446712B (zh) | 一种应用程序缺陷修补方法及装置 | |
CN105975311B (zh) | 一种应用启动方法及装置 | |
US8516505B2 (en) | Cross-platform compatibility framework for computer applications | |
CN107220074B (zh) | 对支撑层软件功能的访问、升级方法及装置 | |
CN112612502A (zh) | 补丁生成方法、装置、设备及存储介质 | |
CN113641389B (zh) | 基于OpenCPU的软件升级方法、装置及设备 | |
US20100058305A1 (en) | Automatic Generation of Language Bindings for Libraries Using Data from Compiler Generated Debug Information | |
CN110750280A (zh) | 一种基于Android平台的应用升级方法及系统、存储介质 | |
CN109815682B (zh) | 一种对权限进行追踪管理的方法、装置和计算机记录介质 | |
CN117707543A (zh) | 一种应用安装包制作和安装方法、计算设备及存储介质 | |
US10552135B1 (en) | Reducing a size of an application package | |
CN112230930A (zh) | 混合技术栈构建打包的方法和装置及机器可读存储介质 | |
CN111061486A (zh) | 一种安卓应用程序增量方法 | |
CN115994003A (zh) | 操作系统中共享对象的处理方法及处理装置 | |
WO2022194173A1 (zh) | 补丁方法及相关设备 | |
WO2019157891A1 (zh) | 应用安装方法、应用安装包的生成方法 | |
CN114860202A (zh) | 项目运行方法、装置、服务器及存储介质 | |
CN114490103A (zh) | 一种操作系统接口调用方法、装置以及电子设备 | |
CN106897588B (zh) | 一种标签函数的处理方法及装置 | |
CN113672238B (zh) | 基于实时操作系统模块化管理的运行方法、装置及设备 | |
CN111694730B (zh) | 一种消除错误引用控件资源的方法及装置 | |
KR20150080310A (ko) | 어플리케이션 업데이트 서버 및 방법 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20231225 Address after: 516000, No. 5 Huitai Road, Huinan High tech Industrial Park, Hui'ao Avenue, Huizhou City, Guangdong Province Applicant after: Unionman Technology Co.,Ltd. Applicant after: Guangdong Jiulian Kaihong Technology Development Co.,Ltd. Address before: 516007 No.5, huitai Road, Huinan hi tech Industrial Park, huiao Avenue, Huizhou City, Guangdong Province Applicant before: Unionman Technology Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |