CN114721735B - 一种程序动态加载方法、装置及电子设备 - Google Patents
一种程序动态加载方法、装置及电子设备 Download PDFInfo
- Publication number
- CN114721735B CN114721735B CN202210213205.2A CN202210213205A CN114721735B CN 114721735 B CN114721735 B CN 114721735B CN 202210213205 A CN202210213205 A CN 202210213205A CN 114721735 B CN114721735 B CN 114721735B
- Authority
- CN
- China
- Prior art keywords
- application program
- address
- memory address
- shared memory
- program
- 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
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/445—Program loading or initiating
- G06F9/44521—Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
Abstract
本申请公开了一种程序动态加载方法、装置及电子设备,通过该方法在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行,判定当前是否需要加载第二应用程序,若是,则退出第一应用程序,并将第二应用程序加载至该共享内存地址运行,通过该方法,可以将应用程序共享同一段物理地址,在加快开机速度的同时节省了内存的使用。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种程序动态加载方法、装置及电子设备。
背景技术
当前,很多嵌入式实时操作系统基于成本考虑,以及系统架构限制,在代码执行时,数据访问将直接操作物理地址。执行程序在链接时就确定好所有代码,数据运行的物理地址。在嵌入式系统设备启动时,一般就是从系统加载模块运行,从非易失性存储器读取程序到物理内存,然后跳转到执行程序运行。
当执行程序较为庞大时,系统加载模块对程序加载解压的时间较长,导致程序加载解压时间过程。另外,执行程序较为庞大时,也导致执行程序在执行过程中占用的内存较大。
发明内容
本申请提供了一种程序动态加载方法、装置及电子设备,用以加快开机速度的同时节省了内存的使用。
第一方面,本申请提供了一种程序动态加载方法,所述方法包括:
在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
判定当前是否需要加载第二应用程序;
若是,则退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;
若否,则维持所述第一应用程序在所述共享内存地址运行。
通过本申请所提供的方法,在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行,判定当前是否需要加载第二应用程序,若是,则退出第一应用程序,并将第二应用程序加载至该共享内存地址运行。通过该方法可以将应用程序共享同一段物理地址,在加快开机速度的同时节省了内存的使用。
在一种可能的设计中,在将系统界面资源数据加载至指定内存地址运行之前,所述方法还包括:
获取源系统界面资源数据对应的段标识,通过链接脚本文件将所述段标识添加至指定运行地址;
通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件。
在一种可能的设计中,在将系统界面资源数据加载至指定内存地址运行之前,所述方法还包括:
将系统中的各个应用程序对应的对象文件以及库文件的代码段添加至共享内存地址。
在一种可能的设计中,所述方法还包括:
通过链接脚本文件对链接进行编译,得到系统堆运行地址;
通过所述系统堆地址,计算出所述系统界面资源数据对应的指定运行地址以及各个应用程序对应的所述共享内存地址。
第二方面,本申请提供了一种程序动态加载装置,所述装置包括:
加载模块,用于在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
处理模块,用于判定当前是否需要加载第二应用程序;若是,则退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;若否,则维持所述第一应用程序在所述共享内存地址运行。
在一种可能的设计中,所述处理模块,还用于获取源系统界面资源数据对应的段标识,通过链接脚本文件将所述段标识添加至指定运行地址;通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件。
在一种可能的设计中,所述处理模块,还用于将系统中的各个应用程序对应的对象文件以及库文件的代码段添加至共享内存地址。
在一种可能的设计中,所述处理模块,还用于通过链接脚本文件对链接进行编译,得到系统堆运行地址;通过所述系统堆地址,计算出所述系统界面资源数据对应的指定运行地址以及各个应用程序对应的所述共享内存地址。
第三方面,本申请提供了一种电子设备,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现上述的程序动态加载方法步骤。
第四方面,本申请提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述的程序动态加载方法步骤。
上述第二方面至第四方面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面或第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。
附图说明
图1为本申请提供的一种程序动态加载方法的流程图;
图2为本申请提供的一种嵌入式实时系统的结构示意图;
图3为本申请提供的运行地址加载方法流程图;
图4为本申请提供的内存布局示意图;
图5为本申请提供的一种程序动态加载装置的结构示意图;
图6为本申请提供的一种电子设备的结构示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。方法实施例中的具体操作方法也可以应用于装置实施例或系统实施例中。需要说明的是,在本申请的描述中“多个”理解为“至少两个”。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。A与B连接,可以表示:A与B直接连接和A与B通过C连接这两种情况。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
下面结合附图,对本申请实施例进行详细描述。
为了解决上述问题,本申请提供了一种程序动态加载方法,在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行,判定当前是否需要加载第二应用程序,若是,则退出第一应用程序,并将第二应用程序加载至该共享内存地址运行,通过该方法,可以将应用程序共享同一段物理地址,在加快开机速度的同时节省了内存的使用。
参照图1所示为本申请实施例中提供的一种程序动态加载方法,通过该方法可以将应用程序共享同一段物理地址,该方法具体如下:
步骤S1,在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
首先来讲,在本申请所提供的方法可以应用到如图2所示的一种嵌入式实时系统中,该嵌入式实时系统中包括了系统加载模块Bootloader,系统模块镜像system module,标识logo,系统界面元素资源UI resource以及应用程序APP1、APP2、APP3。
其中,该Bootloader用于上电初始化CPU以及内存,并将系统模块从非易失性闪存中转载到内存执行;系统模块镜像system module用于整个应用的初始化,执行正常周期运作;标识logo用于客户端的开机静态图片标识或者是动画;系统界面元素资源UI resource包括界面图片、控制、字符串等;APP1、APP2、APP3为各种不同的应用,包括但不限于媒体播放器,中间库等。
在上述系统架构的基础上,为了达到将执行程序切分为多个部分,并且实现分时分段加载,以及分段程序可以共享同一段物理内存的目的,首先需要对系统界面资源数据进行分段处理。
在本申请实施例中,获取源系统界面资源数据对应的段标识,然后通过链接脚本文件将段标识添加至执行运行地址,通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件。
具体来讲,首先创建UI resource镜像数据,在C源代码中对UI resource的数组加上段标识,使用链接脚本文件将段标识放置在到指定运行位置,链接时用GUN(英文:GNUCore Utilities,核心工具组)objcopy将段标识抽取为一个镜像文件。
在本申请实施例中,该链接脚本文件可以是:.flash__flash_code_start__:AT(__flash_code_start__){*(.flash)}>ram。将有__attribute__((section(".flash")))属性的UI resource界面元素资源数组自动放到__flash_code_start__的内存运行地址。
进一步,在本申请实施例中,在完成系统界面元素资源UI resource的创建之后,还需要完成应用和模块镜像的创建,因此使用链接脚本文件将各个应用程序和模块对应的对象文件和库文件的代码段添加到同一运行地址,也就是添加到共享内存地址。这些代码段必须有OVERLAY属性。这样GNU Linker(链接器)才能把各种不同的段放在同一内存地址运行。链接脚本文件示例如下:
上述脚本将应用程序APP1、应用程序APP2以及应用程序APP3的对象文件和库文件代码段放在同一内存运行地址:_shared_buff_,而加载地址_load_addr_可以等于运行地址_shared_buff_。
另外,这些段可以用GUN工具objcopy抽取出不同的镜像文件App1.img,App2.img,App3.img。
进一步,在本申请实施例中,为了达到更加优化的内存使用效果,需要将各个系统界面元素资源UI resource、各个应用程序和模组块的运行地址放在系统堆地址的后面,具体过程如下:
首先通过链接脚本文件对链接进行编译,得到系统对运行地址,然后通过系统堆地址,计算出系统界面资源对应的指定运行地址以及各个应用程序和模组块对应的共享内存地址,然后在将指定运行地址以及共享内存地址改写进链接脚本文件,再链接一次生成镜像文件。
参照图3所示,在图3中首先是通过链接生成链接脚本文件,然后通过链接脚本文件编译链接一次确定系统堆的运行地址,然后通过系统堆的运行地址计算出UI resource的运行地址,以及各个应用程序和模组块的共享内存地址,然后在将指定运行地址以及共享内存地址改写进链接脚本文件,再链接一次,生成系统镜像文件。
通过该方法可以将UI resource的运行地址,以及各个应用程序和模组块的共享内存地址添加到系统堆地址的后面,从而达到内存空间的高效利用,节省了更多内存使用空间。
进一步,在本申请实施例中除了需要对UI resource的运行地址,以及各个应用程序和模组块的共享内存地址进行处理之外,还需要划分各个功能模块的内存布局,具体来讲,如图4所示为内存布局示意图,在图4中内存分为几个不同部分,其中,system memory为固定的系统内存,用于音视频的解码等;UI resource memory为链接脚本文件制定的UIresource界面元素资源的指定运行地址__flash_code_start__;App share memory:就是应用程序和模组块的共享内存地址_shared_buff_。
在完成上述地址处理以及内存布局之后,系统上电,运行系统加载模块Bootloader,然后初始化易失性内存DDR,从非易失性存储器中解压,然后读取系统模块到DDR内存运行。
系统模块加载,显示logo,同时启动任务解压UI resource到指定内存地址__flash_code_start__,该指定内存地址对应UI resource memory。从而该UI resource能够使用对应的内存地址。
在完成UI resource的加载之后,系统将执行步骤S2。
步骤S2,判定是否需要加载第二应用程序;
在UI resource加载完成之后,系统首先是将第一应用程序加载到共享内存地址_shared_buff_运行,该共享内存地址对应App share memory,此时第一应用程序能够在共享内存地址对应的共享内存上运行。
然后,判定是否需要进入第二应用程序,若是,则执行步骤S3,若否,则执行步骤S4。
步骤S3,退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;
若是需要进入到第二应用程序,则首先退出第一应用程序,并释放第一应用程序所使用的共享内存地址,然后将第二应用程序加载到该共享内存地址运行。
进一步,若是需要进入到第三应用程序,则首先退出第二应用程序,并释放第二应用程序所使用的共享内存地址,然后将第三应用程序加载到该共享内存地址运行。后续的应用程序加载按照上述的方式循环执行。
通过该方法可以将不同的应用程序共享同一内存地址,不仅可以加快开机速度,并且也可以节省内存的占用空间。
步骤S4,维持第一应用程序在共享内存地址运行。
在不需要进入其他应用程序的情况下,则维持第一应用程序当前的状态。
通过本申请所提供的方法,在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行,判定当前是否需要加载第二应用程序,若是,则退出第一应用程序,并将第二应用程序加载至该共享内存地址运行,通过该方法,可以将应用程序共享同一段物理地址,在加快开机速度的同时节省了内存的使用。
基于同一发明构思,本申请实施例中还提供了一种程序动态加载装置,如图5所示为本申请提供的一种程序动态加载装置的结构示意图,该装置包括:
加载模块501,用于在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
处理模块502,用于判定当前是否需要加载第二应用程序;若是,则退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;若否,则维持所述第一应用程序在所述共享内存地址运行。
进一步,在一种可能的设计中,所述处理模块502,还用于获取源系统界面资源数据对应的段标识,通过链接脚本文件将所述段标识添加至指定运行地址;通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件。
在一种可能的设计中,所述处理模块502,还用于将系统中的各个应用程序对应的对象文件以及库文件的代码段添加至共享内存地址。
在一种可能的设计中,所述处理模块502,还用于通过链接脚本文件对链接进行编译,得到系统堆运行地址;通过所述系统堆地址,计算出所述系统界面资源数据对应的指定运行地址以及各个应用程序对应的所述共享内存地址。
基于同一发明构思,本申请实施例中还提供了一种电子设备,所述电子设备可以实现前述一种程序动态加载装置的功能,参考图6,所述电子设备包括:
至少一个处理器601,以及与至少一个处理器601连接的存储器602,本申请实施例中不限定处理器601与存储器602之间的具体连接介质,图6中是以处理器601和存储器602之间通过总线600连接为例。总线600在图6中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线600可以分为地址总线、数据总线、控制总线等,为便于表示,图6中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。或者,处理器601也可以称为控制器,对于名称不做限制。
在本申请实施例中,存储器602存储有可被至少一个处理器601执行的指令,至少一个处理器601通过执行存储器602存储的指令,可以执行前文论述的一种程序动态加载方法。处理器601可以实现图5所示的装置中各个模块的功能。
其中,处理器601是该装置的控制中心,可以利用各种接口和线路连接整个该控制设备的各个部分,通过运行或执行存储在存储器602内的指令以及调用存储在存储器602内的数据,该装置的各种功能和处理数据,从而对该装置进行整体监控。
在一种可能的设计中,处理器601可包括一个或多个处理单元,处理器601可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器601中。在一些实施例中,处理器601和存储器602可以在同一芯片上实现,在一些实施例中,它们也可以在独立的芯片上分别实现。
处理器601可以是通用处理器,例如中央处理器(CPU)、数字信号处理器、专用集成电路、现场可编程门阵列或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件,可以实现或者执行本申请实施例中公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者任何常规的处理器等。结合本申请实施例所公开的一种程序动态加载方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
存储器602作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。存储器602可以包括至少一种类型的存储介质,例如可以包括闪存、硬盘、多媒体卡、卡型存储器、随机访问存储器(Random AccessMemory,RAM)、静态随机访问存储器(Static RandomAccess Memory,SRAM)、可编程只读存储器(Programmable Read Only Memory,PROM)、只读存储器(Read Only Memory,ROM)、带电可擦除可编程只读存储器(Electrically Erasable Programmable Read-Only Memory,EEPROM)、磁性存储器、磁盘、光盘等等。存储器602是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。本申请实施例中的存储器602还可以是电路或者其它任意能够实现存储功能的装置,用于存储程序指令和/或数据。
通过对处理器601进行设计编程,可以将前述实施例中介绍的一种程序动态加载方法所对应的代码固化到芯片内,从而使芯片在运行时能够执行图1所示的实施例的程序动态加载方法的步骤。如何对处理器601进行设计编程为本领域技术人员所公知的技术,这里不再赘述。
基于同一发明构思,本申请实施例还提供一种存储介质,该存储介质存储有计算机指令,当该计算机指令在计算机上运行时,使得计算机执行前文论述一种程序动态加载方法。
在一些可能的实施方式中,本申请提供的一种程序动态加载方法的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当程序产品在装置上运行时,程序代码用于使该控制设备执行本说明书上述描述的根据本申请各种示例性实施方式的一种程序动态加载方法中的步骤。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (4)
1.一种程序动态加载方法,其特征在于,所述方法包括:
在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
判定当前是否需要加载第二应用程序;
若是,则退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;
若否,则维持所述第一应用程序在所述共享内存地址运行;
其中,在将系统界面资源数据加载至指定内存地址运行之前,所述方法还包括:获取源系统界面资源数据对应的段标识,通过链接脚本文件将所述段标识添加至指定运行地址;通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件;
通过所述链接脚本将系统中的各个应用程序对应的对象文件以及库文件的代码段添加至共享内存地址,所述对象文件以及库文件的代码段具有OVERLAY属性,再通过所述链接脚本抽取出不同的应用程序镜像文件;
通过所述链接脚本文件对链接进行编译,得到系统堆的运行地址,通过所述系统堆的运行地址,计算出所述系统界面资源数据对应的指定运行地址以及各个应用程序和模块对应的所述共享内存地址,然后再将所述指定运行地址以及所述共享内存地址改写进链接脚本文件,生成系统镜像文件。
2.一种程序动态加载装置,其特征在于,所述装置包括:
加载模块,用于在将系统界面元素资源数据加载至指定内存地址运行时,加载第一应用程序到共享内存地址运行;
处理模块,用于判定当前是否需要加载第二应用程序;若是,则退出所述第一应用程序,并将所述第二应用程序加载至所述共享内存地址运行;若否,则维持所述第一应用程序在所述共享内存地址运行;
其中,所述处理模块,还用于获取源系统界面资源数据对应的段标识,通过链接脚本文件将所述段标识添加至指定运行地址;通过指定工具将添加了段标识的源系统界面元素资源数据抽取为系统界面资源镜像文件;
通过所述链接脚本将系统中的各个应用程序对应的对象文件以及库文件的代码段添加至共享内存地址,所述对象文件以及库文件的代码段具有OVERLAY属性,再通过所述链接脚本抽取出不同的应用程序镜像文件;
通过所述链接脚本文件对链接进行编译,得到系统堆的运行地址,通过所述系统堆的运行地址,计算出所述系统界面资源数据对应的指定运行地址以及各个应用程序和模块对应的所述共享内存地址,然后再将所述指定运行地址以及所述共享内存地址改写进链接脚本文件,生成系统镜像文件。
3.一种电子设备,其特征在于,包括:
存储器,用于存放计算机程序;
处理器,用于执行所述存储器上所存放的计算机程序时,实现权利要求1所述的方法步骤。
4.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213205.2A CN114721735B (zh) | 2022-03-04 | 2022-03-04 | 一种程序动态加载方法、装置及电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210213205.2A CN114721735B (zh) | 2022-03-04 | 2022-03-04 | 一种程序动态加载方法、装置及电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114721735A CN114721735A (zh) | 2022-07-08 |
CN114721735B true CN114721735B (zh) | 2023-05-23 |
Family
ID=82236554
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210213205.2A Active CN114721735B (zh) | 2022-03-04 | 2022-03-04 | 一种程序动态加载方法、装置及电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114721735B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117453318B (zh) * | 2023-12-25 | 2024-03-15 | 上海励驰半导体有限公司 | 基于iommu的dsp固件使用方法、系统芯片及车机 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241516A (zh) * | 2018-02-09 | 2018-07-03 | 深圳科立讯通信有限公司 | 嵌入式系统程序加载方法、装置、计算机设备和存储介质 |
CN111124550A (zh) * | 2020-03-26 | 2020-05-08 | 北京翼辉信息技术有限公司 | 一种程序动态加载方法、装置及存储介质 |
CN113961259A (zh) * | 2021-11-01 | 2022-01-21 | 锐凌无线通讯科技(深圳)有限公司 | 启动引导程序加载方法、装置、系统、电子设备及介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101464807B (zh) * | 2009-01-08 | 2012-07-04 | 杭州华三通信技术有限公司 | 一种应用程序的加载方法及装置 |
CN101833464A (zh) * | 2010-04-16 | 2010-09-15 | 深圳市五巨科技有限公司 | 一种移动终端分段加载应用程序的方法及装置 |
CN110399167B (zh) * | 2019-06-28 | 2021-01-15 | 联想(北京)有限公司 | 固件启动方法及装置、设备、存储介质 |
CN111858004A (zh) * | 2020-07-21 | 2020-10-30 | 中国人民解放军国防科技大学 | 基于tee扩展的计算机安全世界实时应用动态加载方法及系统 |
CN112256457A (zh) * | 2020-11-06 | 2021-01-22 | 开普云信息科技股份有限公司 | 一种基于共享内存的数据载入加速方法、装置、电子设备及存储介质 |
CN113590149A (zh) * | 2021-06-29 | 2021-11-02 | 北京智芯微电子科技有限公司 | 程序分段加载运行的方法及装置 |
-
2022
- 2022-03-04 CN CN202210213205.2A patent/CN114721735B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108241516A (zh) * | 2018-02-09 | 2018-07-03 | 深圳科立讯通信有限公司 | 嵌入式系统程序加载方法、装置、计算机设备和存储介质 |
CN111124550A (zh) * | 2020-03-26 | 2020-05-08 | 北京翼辉信息技术有限公司 | 一种程序动态加载方法、装置及存储介质 |
CN113961259A (zh) * | 2021-11-01 | 2022-01-21 | 锐凌无线通讯科技(深圳)有限公司 | 启动引导程序加载方法、装置、系统、电子设备及介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114721735A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7181610B2 (en) | Method and system to encapsulate a driver written for an operating system (OS) runtime environment in an OS independent environment firmware extension | |
KR102084816B1 (ko) | Bpram을 사용한 소프트웨어 애플리케이션들의 레이아웃 및 실행 | |
KR101854975B1 (ko) | 패키지 파일에 대한 기능 확장 방법 및 시스템 | |
WO2015165232A1 (zh) | 一种加载驱动程序的方法及嵌入式设备 | |
US7269464B2 (en) | System, method and computer program product for providing an interface for instantiating additional programmable logic controller functionality | |
US20140149996A1 (en) | Runtime emulating static thread local storage of portable executable software code | |
CN109408122B (zh) | 一种设备启动方法、电子设备和计算机存储介质 | |
US20230084523A1 (en) | Data Processing Method and Device, and Storage Medium | |
CN112882694A (zh) | 一种程序编译方法、装置、电子设备及可读存储介质 | |
CN114721735B (zh) | 一种程序动态加载方法、装置及电子设备 | |
KR20090029798A (ko) | 멀티태스킹 가상 머신을 위한 힙 구성 | |
CN114398172A (zh) | 资源配置方法、装置、电子设备及计算机可读存储介质 | |
JP5401561B2 (ja) | クラスファイル内にネイティブコードを埋め込むことによる仮想メカニズム内でのプラットフォーム依存ルーチンの適用 | |
CN114588638A (zh) | 基于Lua语言进行游戏开发的方法及程序开发装置 | |
US11663020B2 (en) | Bootstrapping frameworks from a generated static initialization method for faster booting | |
EP3719645B1 (en) | Extension application mechanisms through intra-process operation systems | |
CN110321179B (zh) | 一种应用程序启动方法、系统、装置及计算机存储介质 | |
US10552135B1 (en) | Reducing a size of an application package | |
CN116010038A (zh) | Spring框架的Bean对象管理方法、装置、电子设备及存储介质 | |
CN112463244B (zh) | 一种cpu启动方法、装置、电子设备及计算机可读存储介质 | |
CN112131171B (zh) | 动态修改板载vga所在的pch pcie根端口的方法 | |
Kushsairy et al. | Embedded vision: Enhancing embedded platform for face detection system | |
US11086605B1 (en) | Processing portable extensions at build time | |
AU2022416127B2 (en) | Process parasitism-based branch prediction method and device for serverless computing | |
CN115495392B (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 |