CN107122213A - 程序的运行方法及装置 - Google Patents

程序的运行方法及装置 Download PDF

Info

Publication number
CN107122213A
CN107122213A CN201710294683.XA CN201710294683A CN107122213A CN 107122213 A CN107122213 A CN 107122213A CN 201710294683 A CN201710294683 A CN 201710294683A CN 107122213 A CN107122213 A CN 107122213A
Authority
CN
China
Prior art keywords
data
module
processing unit
upload program
processing
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.)
Granted
Application number
CN201710294683.XA
Other languages
English (en)
Other versions
CN107122213B (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.)
Beijing Madv Technology Co Ltd
Beijing Xiaomi Mobile Software Co Ltd
Original Assignee
Beijing Madv Technology Co Ltd
Beijing Xiaomi Mobile Software 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 Beijing Madv Technology Co Ltd, Beijing Xiaomi Mobile Software Co Ltd filed Critical Beijing Madv Technology Co Ltd
Priority to CN201710294683.XA priority Critical patent/CN107122213B/zh
Publication of CN107122213A publication Critical patent/CN107122213A/zh
Application granted granted Critical
Publication of CN107122213B publication Critical patent/CN107122213B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files

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

程序的运行方法及装置
技术领域
本公开涉及嵌入式开发技术领域,尤其涉及一种程序的运行方法及装置。
背景技术
相关技术中,嵌入式系统可以由嵌入式计算机系统和执行装置组成。其中,嵌入式计算机系统是整个嵌入式系统的核心,执行装置可以接收嵌入式计算机系统发出的控制指令,执行相关的操作或任务。目前,随着嵌入式系统的快速发展,性能优越的电子产品越来越多,而性能优越的电子产品对CPU(Central Processing Unit,中央处理器)的要求也越来越高。在实际应用过程中,当需要通过CPU执行某一任务或完成某一处理时,均是将数据加载功能和数据处理功能集成在同一个程序上执行。当CPU资源不足时,通常需要选择性能更高的CPU,而这会导致系统功耗增加,降低产品续航能力。
发明内容
为克服相关技术中存在的问题,本公开提供一种程序的运行方法及装置。
根据本公开实施例的第一方面,提供一种程序的运行方法,应用于第二处理装置,包括:
获取来自于第一处理装置的数据加载程序模块;
运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
获取来自于所述第一处理装置的处理程序模块;
运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
在一种可能的实现方式中,所述第一处理装置为第一中央处理器;
通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存,包括:
通过所述数据加载程序模块接收来自于所述第一处理装置的所述数据,并将所述数据发送至所述内存进行缓存。
在一种可能的实现方式中,所述第一处理装置为闪存;
通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存,包括:
通过所述数据加载程序模块主动从所述第一处理装置中获取所述数据,并将所述数据发送至所述内存进行缓存。
根据本公开实施例的第二方面,提供一种程序的运行方法,应用于第一处理装置,包括:
将数据加载程序模块加载至第二处理装置;
在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
根据本公开实施例的第三方面,提供一种程序的运行装置,应用于第二处理装置,包括:
第一获取模块,用于获取来自于第一处理装置的数据加载程序模块;
第一运行模块,用于运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
复位执行模块,用于在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
第二获取模块,用于获取来自于所述第一处理装置的处理程序模块;
第二运行模块,用于运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
在一种可能的实现方式中,所述第一处理装置为第一中央处理器;所述第一运行模块包括:
第一获取模块,用于通过所述数据加载程序模块接收来自于所述第一处理装置的所述数据,并将所述数据发送至所述内存进行缓存。
在一种可能的实现方式中,所述第一处理装置为闪存;所述第一运行模块包括:
第二获取模块,用于通过所述数据加载程序模块主动从所述第一处理装置中获取所述数据,并将所述数据发送至所述内存进行缓存。
根据本公开实施例的第四方面,提供一种程序的运行装置,应用于第一处理装置,包括:
第一加载模块,用于将数据加载程序模块加载至第二处理装置;
数据发送模块,用于在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
复位指示模块,用于在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
第二加载模块,用于将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
根据本公开实施例的第五方面,提供一种程序的运行装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取来自于第一处理装置的数据加载程序模块;
运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
获取来自于所述第一处理装置的处理程序模块;
运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
根据本公开实施例的第六方面,提供一种程序的运行装置,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
将数据加载程序模块加载至第二处理装置;
在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
本公开的实施例提供的技术方案可以包括以下有益效果:本公开的程序的运行方法及装置,获取并运行数据加载程序模块,并通过数据加载程序模块将来自于第一处理装置的数据存储至内存,在接收到来自于第一处理装置的终止运行数据加载程序模块指令或数据加载程序模块完成数据加载的情况下,停止运行数据加载程序模块,获取并运行处理程序模块执行相应处理,通过处理程序模块从内存获取数据,将数据应用在处理程序模块执行的处理中,由此能够将数据加载过程和数据处理过程进行分割,使得第二处理装置先运行数据加载程序模块,在获取处理程序模块需要处理的数据后,再运行处理程序模块对数据进行处理,从而提高第二处理装置的处理能力,避免出现第二处理装置资源不足的情况。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。
图1是根据一示例性实施例示出的一种程序的运行方法的流程图。
图2是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。
图3是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。
图4是根据一示例性实施例示出的一种程序的运行方法的流程图。
图5是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。
图6是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。
图7是根据一示例性实施例示出的一种程序的运行装置的框图。
图8是根据一示例性实施例示出的一种程序的运行装置的一示例性的框图。
图9是根据一示例性实施例示出的一种程序的运行装置的框图。
图10是根据一示例性实施例示出的一种用于程序的运行的装置800的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本公开相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本公开的一些方面相一致的装置和方法的例子。
图1是根据一示例性实施例示出的一种程序的运行方法的流程图。该程序的运行方法用于第二处理装置,第二处理装置可以为CPU、FPGA(Field-Programmable GateArray,即现场可编程门阵列)或DSP(Digital Signal Processing,数字信号处理)芯片等,在此不做限定。如图1所示,该程序的运行方法,包括以下步骤。
在步骤S101中,获取来自于第一处理装置的数据加载程序模块。
其中,第一处理装置可以为CPU、FPGA、DSP芯片或闪存(Flash Memory)等,在此不做限定。第一处理装置和第二处理装置的结构和功能可以相互独立。
在一种可能的实现方式中,若第一处理装置为CPU、FPGA或DSP芯片等,则第一处理装置可以向第二处理装置发送数据加载程序模块,第二处理装置接收来自于第一处理装置的数据加载程序模块。
在另一种可能的实现方式中,若第一处理装置为闪存等,则第二处理装置可以主动从第一处理装置获取数据加载程序模块。
在步骤S102中,运行数据加载程序模块,通过数据加载程序模块获取来自于第一处理装置的数据,并将数据存储至内存。
需要说明的是,本领域技术人员应当能够理解,通过程序模块能够实现的功能,可以将程序模块划分为数据加载程序模块和处理程序模块。其中,数据加载程序模块可以指能够实现数据加载功能的程序模块,例如Boot程序模块。处理程序模块可以指能够实现数据处理功能的程序模块,例如Process程序模块。本实施例的数据加载程序模块和处理程序模块均在第二处理装置中运行,但数据加载程序模块和处理程序模块不同时在第二处理装置中运行。
在一种可能的实现方式中,针对不同类型应用程序的运行,数据加载程序模块和处理程序模块可能存在不同。例如,第二处理装置在运行应用程序A的过程中,数据加载程序模块可以为Boot-A程序模块,处理程序模块可以为Process-A程序模块。第二处理装置在运行应用程序B的过程中,数据加载程序模块可以为Boot-B程序模块,处理程序模块可以为Process-B程序模块。
在另一种可能的实现方式中,针对不同类型应用程序的运行,数据加载程序模块可能相同而处理程序模块可能存在不同。例如,第二处理装置在运行应用程序A的过程中,数据加载程序模块可以为Boot程序模块,处理程序模块可以为Process-A程序模块。第二处理装置在运行应用程序B的过程中,数据加载程序模块可以为Boot程序模块,处理程序模块可以为Process-B程序模块。
在一种可能的实现方式中,第一处理装置为第一中央处理器。其中,第一中央处理器和第二处理装置的结构和功能可以相互独立。图2是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。如图2所示,通过数据加载程序模块获取来自于第一处理装置的数据,并将数据存储至内存,包括:
在步骤S201中,通过数据加载程序模块接收来自于第一处理装置的数据,并将数据发送至内存进行缓存。
其中,第一中央处理器可以向第二处理装置发送处理程序模块需要处理的数据。例如,第二处理装置在运行应用程序A的过程中,若需要处理数据a、数据b和数据c,则第二处理装置开始运行数据加载程序模块,等待接收第一中央处理器发送的数据a、数据b和数据c。在第二处理装置接收到数据a、数据b和数据c的情况下,通过数据加载程序模块将数据a、数据b和数据c存储至内存。内存可以存储数据a、数据b和数据c。
在一种可能的实现方式中,第一处理装置为闪存(Flash)。其中,闪存和第二处理装置的结构和功能可以相互独立。图3是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。如图3所示,通过数据加载程序模块获取来自于第一处理装置的数据,并将数据存储至内存,包括:
在步骤S301中,通过数据加载程序模块主动从第一处理装置中获取数据,并将数据发送至内存进行缓存。
其中,第二处理装置可以主动从闪存中获取处理程序模块需要处理的数据。例如,第二处理装置在运行应用程序A的过程中,若需要处理数据a、数据b和数据c,则第二处理装置开始运行数据加载程序模块,主动从闪存中获取数据a、数据b和数据c。在第二处理装置获取到数据a、数据b和数据c的情况下,通过数据加载程序模块将数据a、数据b和数据c存储至内存。
需要说明的是,尽管以第一中央处理器或闪存作为示例介绍了第一处理装置如上,但本领域技术人员应当能够理解,本公开应不限于此。本领域技术人员可以根据实际应用场景灵活设置本实施例的第一处理装置。其中,第一中央处理器或闪存可以是在嵌入式系统中专门设置的芯片,也可以是嵌入式系统中实现其他功能的芯片,在此不做限定。
在步骤S103中,在接收到来自于第一处理装置的终止运行数据加载程序模块指令或数据加载程序模块完成数据加载的情况下,停止运行数据加载程序模块。
其中,终止运行数据加载程序模块指令可以指用于指示第二处理装置停止运行数据加载程序模块的指令,例如复位指令或初始化指令等,在此不做限定。
在一种可能的实现方式中,若第一处理装置为CPU、FPGA或DSP芯片等,则第一处理装置可以向第二处理装置发送终止运行数据加载程序模块指令。第二处理装置在接收到来自于第一处理装置的终止运行数据加载程序模块指令的情况下,停止运行数据加载程序模块。
在一种可能的实现方式中,若第一处理装置为CPU、FPGA或DSP芯片等,则第二处理装置可以在数据加载程序模块完成数据加载的情况下,停止运行数据加载程序模块。
在一种可能的实现方式中,若第一处理装置为闪存等,则第二处理装置可以在数据加载程序模块完成数据加载的情况下,停止运行数据加载程序模块。
在步骤S104中,获取来自于第一处理装置的处理程序模块。
其中,数据加载程序模块、处理程序模块与数据为由同一程序模块分割而成。数据加载程序模块、处理程序模块与数据为共同实现一处理且独立存在的三个部分。
在一种可能的实现方式中,若第一处理装置为CPU、FPGA或DSP芯片等,则第一处理装置可以向第二处理装置发送处理程序模块,第二处理装置接收来自于第一处理装置的处理程序模块。
在另一种可能的实现方式中,若第一处理装置为闪存等,则第二处理装置可以主动从第一处理装置获取处理程序模块。
在步骤S105中,运行处理程序模块执行相应处理,通过处理程序模块从内存获取数据,将数据应用在处理程序模块执行的处理中。
作为本实施例的一个示例,第二处理装置在运行应用程序A的过程中,若需要处理数据a、数据b和数据c,则第二处理装置运行数据加载程序模块,并通过数据加载程序模块将来自于第一处理装置的数据a、数据b和数据c存储至内存。其中,内存可以用于暂时存放第二处理装置需要处理的数据。第二处理装置在接收到来自于第一处理装置的复位指令的情况下,停止运行数据加载程序模块。第二处理装置运行处理程序模块执行相应处理,从内存获取数据a、数据b和数据c,并将数据a、数据b和数据c应用于处理程序模块。
本实施例的程序的运行方法,在数据加载程序模块运行的情况下,处理程序模块不运行,而在处理程序模块运行的情况下,数据加载程序模块不运行。由此能够将数据加载过程和数据处理过程进行分割,使得第二处理装置先运行数据加载程序模块,在获取处理程序模块需要处理的数据后,再运行处理程序模块对通过数据加载程序模块获取的数据进行处理,从而提高第二处理装置的处理能力,避免出现第二处理装置资源不足的情况。
图4是根据一示例性实施例示出的一种程序的运行方法的流程图。该程序的运行方法用于第一处理装置,第一处理装置可以为CPU、FPGA或DSP芯片等,在此不做限定。如图4所示,该程序的运行方法,包括以下步骤。
在步骤S401中,将数据加载程序模块加载至第二处理装置。
在步骤S402中,在第二处理装置运行数据加载程序模块的情况下,向第二处理装置发送数据。
在步骤S403中,在发送完毕数据时,指示第二处理装置终止运行数据加载程序模块。
在步骤S404中,将处理程序模块加载至第二处理装置。
其中,本实施例的数据加载程序模块和处理程序模块均由第一处理装置加载至第二处理装置。数据加载程序模块、处理程序模块与数据为由同一程序模块分割而成。需要说明的是,本领域技术人员应当能够理解,由于数据加载程序模块和处理程序模块不同时运行,因而数据加载程序模块和处理程序模块也不同时加载至第二处理装置。
在一种可能的实现方式中,第一处理装置可以先将数据加载程序模块加载至第二处理装置,第二处理装置通过运行数据加载程序模块将处理程序模块需要处理的数据存储至内存。然后第一处理装置再将处理程序模块加载至第二处理装置,第二处理装置通过运行处理程序模块获取内存中需要处理的数据并进行处理。
本实施例的程序的运行方法,在嵌入式系统中将程序模块的数据加载功能和数据处理功能进行分割,并单独存储在第一处理装置中,逐一运行从程序模块分割出来的功能,解决第二处理装置处理能力不足的问题。
图5是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。该程序的运行方法用于嵌入式系统中。如图5所示,该程序的运行方法,包括以下步骤。
在步骤S501中,第一中央处理器将数据加载程序模块加载至第二中央处理器。
在步骤S502中,第二中央处理器获取并运行数据加载程序模块,通过数据加载程序模块获取来自于第一中央处理器的数据,并将数据存储至内存。
在步骤S503中,第一中央处理器在发送完毕数据时,指示第二中央处理器终止运行数据加载程序模块。
在步骤S504中,第二中央处理器在接收到终止运行数据加载程序模块指令的情况下,停止运行数据加载程序模块。
在步骤S505中,第一中央处理器将处理程序模块加载至第二中央处理器。
在步骤S506中,第二中央处理器获取并运行处理程序模块执行相应处理,通过处理程序模块从内存获取数据,将数据应用在处理程序模块执行的处理中。
图6是根据一示例性实施例示出的一种程序的运行方法的一示例性的流程图。如图6所示,嵌入式系统上电,CPU1启动,CPU2处于停止状态。CPU1将Boot程序模块加载到CPU2。在Boot程序模块加载成功后,CPU2开始运行Boot程序模块,并等待接收CPU1发送的数据,数据为Process程序模块需要处理的数据。CPU1向CPU2发送数据,CPU2将接收到的数据存储至内存中,数据等待Process程序模块处理。CPU1复位CPU2,使CPU2停止运行Boot程序模块。至此,从程序模块分割出来的数据加载功能运行结束。CPU1将Process程序模块加载到CPU2。在Process程序模块加载成功后,CPU2开始运行Process程序模块,即CPU2开始运行Process程序模块的核心算法,并将内存中存储的数据应用于核心算法。需要说明的是,CPU1在将Process程序模块加载到CPU2之后可以继续执行其它任务,在此不作限定。
图7是根据一示例性实施例示出的一种程序的运行装置的框图。参照图7,该装置包括第一获取模块11、第一运行模块12,复位执行模块13、第二获取模块14和第二运行模块15。
其中,该第一获取模块11被配置为获取来自于第一处理装置的数据加载程序模块;该第一运行模块12被配置为运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;该复位执行模块13被配置为在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;该第二获取模块14被配置为获取来自于所述第一处理装置的处理程序模块;该第二运行模块15被配置为运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
图8是根据一示例性实施例示出的一种程序的运行装置的一示例性的框图。参照图8:
在一种可能的实现方式中,所述第一处理装置为第一中央处理器,所述第一运行模块12包括第一获取模块121。该第一获取模块121被配置为通过所述数据加载程序模块接收来自于所述第一处理装置的所述数据,并将所述数据发送至所述内存进行缓存。
在一种可能的实现方式中,所述第一处理装置为闪存,所述第一运行模块12包括第二获取模块123。该第二获取模块123被配置为通过所述数据加载程序模块主动从所述第一处理装置中获取所述数据,并将所述数据发送至所述内存进行缓存。
图9是根据一示例性实施例示出的一种程序的运行装置的框图。参照图9,该装置包括第一加载模块21、数据发送模块22、复位指示模块23和第二加载模块24。
其中,该第一加载模块21被配置为将数据加载程序模块加载至第二处理装置;该数据发送模块22被配置为在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;该复位指示模块23被配置为在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;该第二加载模块24被配置为将处理程序模块加载至所述第二处理装置;其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
关于上述实施例中的装置,其中各个模块执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
本实施例的程序的运行装置,能够将数据加载过程和数据处理过程进行分割,使得第二处理装置先运行数据加载程序模块,在获取处理程序模块需要处理的数据后,再运行处理程序模块对通过数据加载程序模块获取的数据进行处理,从而提高第二处理装置的处理能力,避免出现第二处理装置资源不足的情况。
图10是根据一示例性实施例示出的一种用于程序的运行的装置800的框图。例如,装置800可以是移动电话,计算机,数字广播终端,消息收发设备,游戏控制台,平板设备,医疗设备,健身设备,个人数字助理等嵌入式系统中。
参照图10,装置800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)的接口812,传感器组件814,以及通信组件816。
处理组件802通常控制装置800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在装置800的操作。这些数据的示例包括用于在装置800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为装置800的各种组件提供电力。电源组件806可以包括电源管理系统,一个或多个电源,及其他与为装置800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述装置800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当装置800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜系统或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当装置800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和外围接口模块之间提供接口,上述外围接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为装置800提供各个方面的状态评估。例如,传感器组件814可以检测到装置800的打开/关闭状态,组件的相对定位,例如所述组件为装置800的显示器和小键盘,传感器组件814还可以检测装置800或装置800一个组件的位置改变,用户与装置800接触的存在或不存在,装置800方位或加速/减速和装置800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如CMOS或CCD图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于装置800和其他设备之间有线或无线方式的通信。装置800可以接入基于通信标准的无线网络,如WiFi,2G或3G,或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理系统的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,装置800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种包括指令的非临时性计算机可读存储介质,例如包括指令的存储器804,上述指令可由装置800的处理器820执行以完成上述方法。例如,所述非临时性计算机可读存储介质可以是ROM、随机存取存储器(RAM)、CD-ROM、磁带、软盘和光数据存储设备等。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其它实施方案。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由下面的权利要求指出。
应当理解的是,本公开并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本公开的范围仅由所附的权利要求来限制。

Claims (10)

1.一种程序的运行方法,其特征在于,应用于第二处理装置,包括:
获取来自于第一处理装置的数据加载程序模块;
运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
获取来自于所述第一处理装置的处理程序模块;
运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
2.根据权利要求1所述的程序的运行方法,其特征在于,所述第一处理装置为第一中央处理器;
通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存,包括:
通过所述数据加载程序模块接收来自于所述第一处理装置的所述数据,并将所述数据发送至所述内存进行缓存。
3.根据权利要求1所述的程序的运行方法,其特征在于,所述第一处理装置为闪存;
通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存,包括:
通过所述数据加载程序模块主动从所述第一处理装置中获取所述数据,并将所述数据发送至所述内存进行缓存。
4.一种程序的运行方法,其特征在于,应用于第一处理装置,包括:
将数据加载程序模块加载至第二处理装置;
在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
5.一种程序的运行装置,其特征在于,应用于第二处理装置,包括:
第一获取模块,用于获取来自于第一处理装置的数据加载程序模块;
第一运行模块,用于运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
复位执行模块,用于在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
第二获取模块,用于获取来自于所述第一处理装置的处理程序模块;
第二运行模块,用于运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
6.根据权利要求5所述的程序的运行装置,其特征在于,所述第一处理装置为第一中央处理器;所述第一运行模块包括:
第一获取模块,用于通过所述数据加载程序模块接收来自于所述第一处理装置的所述数据,并将所述数据发送至所述内存进行缓存。
7.根据权利要求5所述的程序的运行装置,其特征在于,所述第一处理装置为闪存;所述第一运行模块包括:
第二获取模块,用于通过所述数据加载程序模块主动从所述第一处理装置中获取所述数据,并将所述数据发送至所述内存进行缓存。
8.一种程序的运行装置,其特征在于,应用于第一处理装置,包括:
第一加载模块,用于将数据加载程序模块加载至第二处理装置;
数据发送模块,用于在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
复位指示模块,用于在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
第二加载模块,用于将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
9.一种程序的运行装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
获取来自于第一处理装置的数据加载程序模块;
运行所述数据加载程序模块,通过所述数据加载程序模块获取来自于所述第一处理装置的数据,并将所述数据存储至内存;
在接收到来自于所述第一处理装置的终止运行所述数据加载程序模块指令或所述数据加载程序模块完成数据加载的情况下,停止运行所述数据加载程序模块;
获取来自于所述第一处理装置的处理程序模块;
运行所述处理程序模块执行相应处理,通过所述处理程序模块从所述内存获取所述数据,将所述数据应用在所述处理程序模块执行的处理中;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
10.一种程序的运行装置,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为:
将数据加载程序模块加载至第二处理装置;
在所述第二处理装置运行所述数据加载程序模块的情况下,向所述第二处理装置发送数据;
在发送完毕所述数据时,指示所述第二处理装置终止运行所述数据加载程序模块;
将处理程序模块加载至所述第二处理装置;
其中,所述数据加载程序模块、所述处理程序模块与所述数据为共同实现一处理且独立存在的三个部分。
CN201710294683.XA 2017-04-28 2017-04-28 程序的运行方法及装置 Active CN107122213B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710294683.XA CN107122213B (zh) 2017-04-28 2017-04-28 程序的运行方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710294683.XA CN107122213B (zh) 2017-04-28 2017-04-28 程序的运行方法及装置

Publications (2)

Publication Number Publication Date
CN107122213A true CN107122213A (zh) 2017-09-01
CN107122213B CN107122213B (zh) 2020-08-07

Family

ID=59726141

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710294683.XA Active CN107122213B (zh) 2017-04-28 2017-04-28 程序的运行方法及装置

Country Status (1)

Country Link
CN (1) CN107122213B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008662A (zh) * 2019-04-11 2019-07-12 北京字节跳动网络技术有限公司 应用程序的运行方法、装置、电子设备及可读存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1808374A (zh) * 2005-01-21 2006-07-26 华为技术有限公司 一种现场可编程门阵列的加载方法
CN1914807A (zh) * 2004-02-10 2007-02-14 松下电器产业株式会社 编码解码装置
CN102495746A (zh) * 2011-11-29 2012-06-13 中国航空工业集团公司第六三一研究所 一种机载嵌入式计算机数据加载方法
CN104102486A (zh) * 2014-07-17 2014-10-15 福建升腾资讯有限公司 一种基于外部存储模块实现mcu程序空间扩容的方法
US20150163229A1 (en) * 2012-01-29 2015-06-11 Ty Lindteigen Data Security and Integrity by Remote Attestation
CN106339282A (zh) * 2016-08-26 2017-01-18 哈尔滨工业大学 一种用于空间复杂环境的三模冗余信息存储系统和程序烧写及程序启动加载方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1914807A (zh) * 2004-02-10 2007-02-14 松下电器产业株式会社 编码解码装置
CN1808374A (zh) * 2005-01-21 2006-07-26 华为技术有限公司 一种现场可编程门阵列的加载方法
CN102495746A (zh) * 2011-11-29 2012-06-13 中国航空工业集团公司第六三一研究所 一种机载嵌入式计算机数据加载方法
US20150163229A1 (en) * 2012-01-29 2015-06-11 Ty Lindteigen Data Security and Integrity by Remote Attestation
CN104102486A (zh) * 2014-07-17 2014-10-15 福建升腾资讯有限公司 一种基于外部存储模块实现mcu程序空间扩容的方法
CN106339282A (zh) * 2016-08-26 2017-01-18 哈尔滨工业大学 一种用于空间复杂环境的三模冗余信息存储系统和程序烧写及程序启动加载方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008662A (zh) * 2019-04-11 2019-07-12 北京字节跳动网络技术有限公司 应用程序的运行方法、装置、电子设备及可读存储介质
CN110008662B (zh) * 2019-04-11 2020-05-05 北京字节跳动网络技术有限公司 应用程序的运行方法、装置、电子设备及可读存储介质

Also Published As

Publication number Publication date
CN107122213B (zh) 2020-08-07

Similar Documents

Publication Publication Date Title
CN103944963B (zh) 数据同步方法、装置、设备及系统
CN107329742A (zh) 软件开发工具包调用方法及装置
CN105848190A (zh) Ota升级方法和装置
CN104484200A (zh) 对固件进行升级的方法及装置
CN104156236A (zh) 节省存储空间的方法和装置
CN104077208A (zh) 应用程序图标的显示方法及装置
CN103916468B (zh) 系统升级方法、终端、服务器及升级系统
CN104811776B (zh) 多媒体播放方法及装置
CN105511686A (zh) 来电处理方法、装置及终端电子设备
CN107370772A (zh) 账号登录方法、装置及计算机可读存储介质
CN107205084A (zh) 应用程序的网速处理方法、装置及终端
CN105808305A (zh) 静态资源的加载方法和装置
CN107241495A (zh) 终端设备的分屏处理方法和装置
CN106851695A (zh) 一种测试网速的方法、装置和系统
CN107330391A (zh) 产品信息提示方法及装置
CN104407924A (zh) 内存优化方法及装置
CN105094830A (zh) 一种执行目标功能的方法和装置
CN103970909A (zh) 显示浏览器标签的方法及装置
CN104714826A (zh) 应用主题的加载方法及装置
CN104407981B (zh) 内存管理方法和装置
CN105468417A (zh) 应用软件安装方法和装置
CN106534658A (zh) 控制摄像头拍照的方法、装置及移动终端
CN105607979A (zh) 联网控制方法及装置
CN104391742B (zh) 应用优化方法和装置
CN104038255A (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