应用后下载方法、装置、片上系统、终端及存储介质与流程

未命名 09-09 阅读:108 评论:0
1.本发明涉及片上系统
技术领域
:,尤其涉及一种应用后下载方法、装置、片上系统、终端及存储介质。
背景技术
::2.随着片上系统技术的不断发展,集成多个不同应用的片上系统越来越受到用户的青睐,其中,应用是为了满足特定功能所需的数据结构、数据元和程序模块,可以包含如金融行业的支付功能、电力行业的计量、事件记录功能、通信功能等应用程序,还可以包含能成为用户态的操作系统部分代码,如用户态驱动、用户态文件系统、用户态组件等。目前,可以在嵌入式操作系统发行后,通过应用后下载的方式进行片上系统中应用的下载、更新、安装和删除等操作。例如可以在片上系统中固定两个空间,其中一个空间作为应用的下载区,另外一个空间作为应用的使用代码区,并轮流切换下载区和使用区;或者,也可以将应用下载至片上系统的固定空间内。但是这些应用后下载方式比较单一,且容易造成存储空间的浪费,这都将不利于应用的灵活管理。技术实现要素:3.本发明旨在至少在一定程度上解决相关技术中的技术问题之一。为此,本发明的第一个目的在于提出一种应用后下载方法,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。4.本发明的第二个目的在于提出另一种应用后下载方法。5.本发明的第三个目的在于提出一种应用后下载装置。6.本发明的第四个目的在于提出另一种应用后下载装置。7.本发明的第五个目的在于提出一种片上系统。8.本发明的第六个目的在于提出一种终端。9.本发明的第七个目的在于提出一种应用后下载系统。10.本发明的第八个目的在于提出一种计算机可读存储介质。11.为达到上述目的,本发明第一方面实施例提出了一种应用后下载方法,应用于片上系统,方法包括:获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。12.根据本发明实施例的应用后下载方法,应用于片上系统,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。13.根据本发明的一个实施例,第一存储空间信息包括可加载文件在终端中的各存储段的存储空间信息,其中,基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息,包括:根据可加载文件在终端中的各存储段的存储空间信息,确定可加载文件在片上系统中对应的各存储段的存储空间信息;将可加载文件在片上系统中对应的各存储段的存储空间信息作为第二存储空间信息。14.根据本发明的一个实施例,可加载文件在终端中的存储段包括第一堆空间、第一栈空间、第一数据段和第一代码段,其中,根据可加载文件在终端中的各存储段的存储空间信息,确定可加载文件在片上系统中对应的各存储段的存储空间信息,包括:根据第一堆空间的大小、第一栈空间的大小、第一数据段的大小和起始地址以及第一代码段的大小和起始地址,确定可加载文件在片上系统中对应的第二堆空间的大小、第二栈空间的大小、第二数据段的大小和第二代码段的大小以及第二堆空间的起始地址、第二栈空间的起始地址、第二数据段的起始地址和第二代码段的起始地址。15.根据本发明的一个实施例,文件头信息还包括待下载应用的标识信息,方法还包括:将第二存储空间信息和标识信息存入片上系统的应用注册表中,以便根据应用注册表运行待下载应用。16.根据本发明的一个实施例,在基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,方法还包括:通过预设完整性校验算法,对可加载文件进行完整性校验。17.根据本发明的一个实施例,预设完整性校验算法包括以下至少一项:crc16算法、crc32算法、sha1算法、sha256算法、sm3算法、sm1-mac算法。18.根据本发明的一个实施例,可加载文件包括以下一项:bin文件、hex文件。19.根据本发明的一个实施例,文件头信息还包括可加载文件的文件类型信息,在基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,方法还包括:根据可加载文件的文件类型信息,对可加载文件的类型进行验证。20.根据本发明的一个实施例,第一运行资源信息包括启动代码段,根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息,包括:运行启动代码段,为可执行文件设置第二堆空间的指针、初始化第二数据段内容和重定位第二代码段,将第二堆空间的指针、初始化后的第二数据段内容和重定位后的地址信息作为第二运行资源信息。21.根据本发明的一个实施例,文件头信息还包括应用实例名称,应用实例名称为终端在后编译步骤中对应用实例配置得到的,在形成可执行文件之后,方法还包括:将可执行文件安装成应用实例,并将应用实例名称存入应用注册表中。22.为达到上述目的,本发明第二方面实施例提出了另一种应用后下载方法,应用于终端,方法包括:对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;向片上系统发送可加载文件和文件头信息,以便片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。23.根据本发明实施例的应用后下载方法,应用于终端,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。24.为达到上述目的,本发明第三方面实施例提出了一种应用后下载装置,应用于片上系统,应用后下载装置包括:获取模块,用于获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;第一分配模块,用于基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;下载模块,用于根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;第二分配模块,用于根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;运行模块,用于根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。25.上述应用后下载装置,应用于片上系统,通过获取模块,获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;通过第一分配模块,基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;通过下载模块,根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;通过第二分配模块,根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;通过运行模块,根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。26.为达到上述目的,本发明第四方面实施例提出了另一种应用后下载装置,应用于终端,应用后下载装置包括:编译模块,用于对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;后编译模块,用于对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;发送模块,用于向片上系统发送可加载文件和文件头信息,以便片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。27.上述应用后下载装置,应用于终端,通过编译模块,对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;通过后编译模块,对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;通过发送模块,向片上系统发送可加载文件和文件头信息,以便片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。28.为达到上述目的,本发明第五方面实施例提出一种片上系统,包括:第一存储器、第一处理器及存储在第一存储器上并可在第一处理器上运行的程序,第一处理器执行程序时,实现第一方面实施例的应用后下载方法。29.上述片上系统中,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。30.为达到上述目的,本发明第六方面实施例提出一种终端,包括:第二存储器、第二处理器及存储在第二存储器上并可在第二处理器上运行的程序,第二处理器执行程序时,实现第二方面实施例的应用后下载方法。31.上述终端中,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。32.为达到上述目的,本发明第七方面实施例提出一种应用后下载系统,包括第五方面实施例的片上系统和第六方面实施例的终端。33.上述应用后下载系统中,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。34.为达到上述目的,本发明第八方面实施例提出一种计算机可读存储介质,介质上存储有程序,程序能够被处理器执行以实现第一方面和第二方面实施例的应用后下载方法。35.上述计算机可读存储介质中,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。36.本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。附图说明37.图1为本发明实施例提供的一种应用后下载方法的流程示意图;图2为本发明实施例提供的一种应用后下载系统的结构示意图;图3为本发明实施例提供的一种待下载应用的编译和后编译方法的流程示意图;图4为本发明实施例提供的一种待下载应用的安装方法的流程示意图;图5为本发明实施例提供的一种待下载应用的执行方法的流程示意图;图6为本发明实施例提供的另一种待下载应用的编译和后编译方法的流程示意图;图7为本发明实施例提供的另一种待下载应用的安装方法的流程示意图;图8为本发明实施例提供的另一种待下载应用的执行方法的流程示意图;图9为本发明实施例提供的一种应用后下载装置的结构示意图;图10为本发明实施例提供的另一种应用后下载装置的结构示意图;图11为本发明实施例提供的一种片上系统的结构示意图;图12为本发明实施例提供的一种终端的结构示意图。具体实施方式38.下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,旨在用于解释本发明,而不能理解为对本发明的限制。39.首先,对于本发明中所涉及到的一些术语进行简单说明:eos(embeddedoperatingsystem,嵌入式操作系统):用于嵌入式系统的操作系统。嵌入式操作系统是一种用途广泛的系统软件,通常包括与硬件相关的底层驱动软件、系统内核、设备驱动接口、通信协议、图形界面、标准化浏览器等。嵌入式操作系统负责嵌入式系统的全部软、硬件资源的分配、任务调度,控制、协调并发活动。它必须体现其所在系统的特征,能够通过装卸某些模块来达到系统所要求的功能。40.cos(chipoperatingsystem,片上操作系统):运行在soc(systemonchip,片上系统)(如卡及身份识别安全设备的安全芯片上)的操作系统。将特定功能的嵌入式系统集成到一颗芯片上就成了片上系统soc,所以,片上系统是嵌入式系统的特例。片上操作系统cos通常指智能卡、usbkey(usb接口的硬件设备)、esam(embeddedsecureaccessmodule,嵌入式安全控制模块)、se(secureelement,安全元件)等产品形态的片上系统soc上的操作系统。41.应用:为了满足特定功能所需的数据结构、数据元和程序模块,包含如金融行业的支付功能、电力行业的计量、事件记录功能、通信功能等应用程序,还包含能成为用户态的操作系统部分代码,如用户态驱动、用户态文件系统、用户态组件等等。42.应用后下载:在嵌入式操作系统发行后,还能进行应用的下载、更新、安装和删除等操作的应用管理方式。43.下面参考附图描述本发明实施例提出的应用后下载方法、装置、片上系统、终端及存储介质。44.在本技术中,参考图1所示,图1为本发明实施例提供的一种应用后下载方法的流程示意图,本实施例提供的应用后下载方法可以包括以下步骤:s101,终端对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件。45.具体地,可以针对待下载应用所需要实现的功能开发待下载应用的源程序,并通过终端中的应用编译器对待下载应用的源程序进行编译得到待下载应用对应的可加载文件。具体实现时,应用编译器可以预先设置可加载文件的文件格式,并将待下载应用的源程序编译为该文件格式的可加载文件。46.具体地,上述可加载文件可以包括但不限于bin文件、hex文件或其它自定义类型的文件。现有技术中的可加载文件一般为elf(executableandlinkableformat,可执行与可链接格式)文件,针对同一段源程序,编译后的elf文件通常包括百k字节数量级的数据,而编译后的bin文件可能只包括几k字节数量级的数据。在本实施例中,通过后编译方法使用bin文件、hex文件或其它自定义类型的文件,仅提取有效信息到文件头中,既可以节省存储空间,也可以提高执行效率。47.s102,终端对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息。48.具体地,终端中的应用编译器可以通过后编译方式对可加载文件进行后编译,得到包括可加载文件在终端中的第一运行资源信息和第一存储空间信息的文件头信息。具体实现时,后编译方式可以为后编译工具、程序代码或者sdk(softwaredevelopmentkit,软件开发工具包)库包方式等。49.其中,第一运行资源信息可以表征可加载文件在终端中的具体运行信息。并且,由于终端内的存储器在存储待下载应用对应的可加载文件时,为可加载文件分配存储空间,因此第一存储空间信息可以表征可加载文件在终端存储器中的具体存储信息。50.s103,终端向片上系统发送可加载文件和文件头信息。51.具体地,片上系统中可以集成有嵌入式操作系统,该嵌入式操作系统可以包括但不限于实时操作系统、物联网操作系统、片上操作系统等操作系统。具体实现时,片上系统可以为包含使用安全芯片的智能卡、usbkey、se、使用主控芯片的智能模块等。52.具体地,终端可以通过网络等通信方式将可加载文件和文件头信息发送至片上系统。具体实现时,可以由终端直接将可加载文件和文件头信息发送至片上系统,也可以由终端通过其他设备(例如服务器)将可加载文件和文件头信息发送至片上系统。53.s104,片上系统获取可加载文件和文件头信息。54.s105,片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息。55.具体地,基于可加载文件在终端中的第一存储空间信息,可以在片上系统上为可加载文件动态分配片上系统的存储空间,并将动态分配结果信息作为第二存储空间信息。例如,片上系统的存储空间可以为flash(闪存)、eeprom(electricallyerasableprogrammableread-onlymemory,带电可擦可编程只读存储器)等空间或文件系统等其它数据组织方式。56.s106,根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件。57.具体地,可以根据上述动态分配结果信息,将可加载文件下载至片上系统中,形成可执行文件。58.可选的,可以将包含可执行模块的可执行文件安装成应用实例。也可以将下载至片上系统中的可执行文件和应用实例进行删除。59.s107,根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息。60.具体地,可以根据可加载文件在终端中的具体运行信息,为可执行文件动态分配片上系统的运行资源,得到可执行文件在片上系统中的第二运行资源信息。61.s108,根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。62.具体地,在接收到运行该应用的触发指令后,可以根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件,以启动业务应用,进行应用执行。63.本发明实施例提供的应用后下载方法,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。64.在一些实施例中,片上系统可以下载完整的可加载文件进行应用升级,以实现全量升级;片上系统也可以通过下载本地该应用的目标文件和终端上的源文件的差分包进行应用升级,以实现差分升级。65.在一些实施例中,上述第一存储空间信息可以包括可加载文件在终端中的各存储段的存储空间信息,其中,上述基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息,可以包括:根据可加载文件在终端中的各存储段的存储空间信息,确定可加载文件在片上系统中对应的各存储段的存储空间信息;将可加载文件在片上系统中对应的各存储段的存储空间信息作为第二存储空间信息。66.具体地,由于终端内的存储器在存储待下载应用对应的可加载文件时,为可加载文件分配存储空间,并且终端内的存储器所分配的存储空间可以包括多个不同的存储段,因此可以将可加载文件以存储段的形式在终端存储器中进行存储。其中,第一存储空间信息可以包括可加载文件在终端中的各存储段的存储空间信息。67.具体地,根据可加载文件在终端中的各存储段的存储空间信息,可以确定可加载文件在片上系统中对应的各存储段的存储空间信息。即,将可加载文件以存储段的形式在终端内的存储器中进行存储,也可以将可加载文件以存储段的形式在片上系统中进行存储。并且,可以将可加载文件在片上系统中对应的各存储段的存储空间信息作为第二存储空间信息,其中,第二存储空间信息可以表征可加载文件在片上系统中的具体存储空间信息。68.例如,可加载文件以存储段a1、存储段b1……存储段n1的形式存储在终端存储器中。可以根据存储段a1的存储空间信息,确定可加载文件存储段a1对应的这部分内容被存入片上系统中的存储段a2的存储空间信息;可以根据存储段b1的存储空间信息,确定可加载文件存储段b1对应的这部分内容被存入片上系统中的存储段b2的存储空间信息……可以根据存储段n1的存储空间信息,确定可加载文件存储段n1对应的这部分内容被存入片上系统中的存储段n2的存储空间信息。69.在本发明实施例中,第一存储空间信息包括可加载文件在终端中的各存储段的存储空间信息,根据可加载文件在终端中的各存储段的存储空间信息,确定可加载文件在片上系统中对应的各存储段的存储空间信息;将可加载文件在片上系统中对应的各存储段的存储空间信息作为第二存储空间信息。由此,可以根据预先获取到的可加载文件在终端中各存储段的存储空间信息,为可加载文件动态分配片上系统上的对应于各存储段的存储空间,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。70.在一些实施例中,可加载文件在终端中的存储段可以包括第一堆空间、第一栈空间、第一数据段和第一代码段,其中,上述根据可加载文件在终端中的各存储段的存储空间信息,确定可加载文件在片上系统中对应的各存储段的存储空间信息,可以包括:根据第一堆空间的大小、第一栈空间的大小、第一数据段的大小和起始地址以及第一代码段的大小和起始地址,确定可加载文件在片上系统中对应的第二堆空间的大小、第二栈空间的大小、第二数据段的大小和第二代码段的大小以及第二堆空间的起始地址、第二栈空间的起始地址、第二数据段的起始地址和第二代码段的起始地址。71.具体地,可加载文件在终端中的存储段可以包括第一堆空间、第一栈空间、第一数据段和第一代码段,其中,第一堆空间可以存放动态分配的数据等,第一栈空间可以存放局部变量、函数参数、返回地址等函数调用相关的数据,第一数据段可以存放程序中已初始化的全局变量,第一代码段可以存放程序执行代码等。72.具体地,可以根据可加载文件在终端中的第一堆空间的大小,确定可加载文件在片上系统中对应的第二堆空间的大小,可以根据可加载文件在终端中的第一栈空间的大小,确定可加载文件在片上系统中对应的第二栈空间的大小;并分别为第二堆空间和第二栈空间分配起始地址。还可以根据可加载文件在终端中的第一数据段的大小和起始地址,确定可加载文件在片上系统中对应的第二数据段的大小和起始地址;可以根据可加载文件在终端中的第一代码段的大小和起始地址,确定可加载文件在片上系统中对应的第二代码段的大小和起始地址。73.在本发明实施例中,可加载文件在终端中的存储段包括第一堆空间、第一栈空间、第一数据段和第一代码段,根据第一堆空间的大小、第一栈空间的大小、第一数据段的大小和起始地址以及第一代码段的大小和起始地址,确定可加载文件在片上系统中对应的第二堆空间的大小、第二栈空间的大小、第二数据段的大小和第二代码段的大小以及第二堆空间的起始地址、第二栈空间的起始地址、第二数据段的起始地址和第二代码段的起始地址。由此,可以根据预先获取到的可加载文件在终端中的第一堆空间、第一栈空间、第一数据段和第一代码段的大小,为可加载文件分别动态分配片上系统上的同等大小的第二堆空间、第二栈空间、第二数据段和第二代码段,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。74.在一些实施例中,上述文件头信息还可以包括待下载应用的标识信息,上述应用后下载方法还可以包括:将第二存储空间信息和标识信息存入片上系统的应用注册表中,以便根据应用注册表运行待下载应用。75.具体地,由于片上系统中可以安装多个可以实现不同功能的应用,片上系统中的应用注册表中可以存储每个应用的应用信息,因此终端可以为该待下载应用配置标识信息(例如应用名称)并将标识信息添加至文件头信息中,以便片上系统可以将待下载应用的第二存储空间信息和标识信息一同存入片上系统的应用注册表中,使得片上系统可以通过查找应用注册表,运行待下载应用。76.具体地,也可以根据不同操作系统的需求,根据待下载应用的应用名称,为该待下载应用配置应用安装包id(identity,身份标识号码)、应用id等标识信息,并将这些配置的标识信息一同存入应用注册表中。77.具体地,当应用注册表中存储有多个应用的应用信息时,若同时获取到多个应用的运行指令,则可以通过查找应用注册表,并根据各应用的应用信息,同时运行多个应用,从而提高了运行效率。78.具体地,为了防止对正在运行的可加载文件的影响,或错误地下载可加载文件,嵌入式操作系统可以使用备份、条件执行和回滚保护的机制。79.在本发明实施例中,文件头信息还包括待下载应用的标识信息,通过将第二存储空间信息和标识信息存入片上系统的应用注册表中,以便根据应用注册表运行待下载应用。由此,可以通过查找应用注册表运行待下载应用,从而提高了运行效率。80.在一些实施例中,在上述基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,上述应用后下载方法还可以包括:通过预设完整性校验算法,对可加载文件进行完整性校验。81.具体地,终端可以通过预设完整性校验算法,为编译得到的可加载文件增加第一完整性校验字段;片上系统在接收到可加载文件后,可以通过对应的预设完整性校验算法,计算第二完整性校验字段,通过比较第一完整性校验字段和第二完整性校验字段,以完成对可加载文件的完整性校验。在检验通过后,可以基于第一存储空间信息为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息。82.具体地,上述预设完整性校验算法可以包括crc(cyclicalredundancycheck,循环冗余码校验)16算法、crc32算法、sha(securityhashalgorithm,安全哈希算法)1算法、sha256算法、sm3算法(一种密码杂凑算法)、sm1-mac算法(一种分组密码算法)等。83.在本发明实施例中,通过预设完整性校验算法,对可加载文件进行完整性校验。由此,可以保证可加载文件的完整性,从而提高了可加载文件的安全性。84.在一些实施例中,上述文件头信息还可以包括可加载文件的文件类型信息,在上述基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,上述应用后下载方法还可以包括:根据可加载文件的文件类型信息,对可加载文件的类型进行验证。85.具体地,当上述文件头信息中包括可加载文件的文件类型信息时,片上系统可以根据当前所下载的可加载文件的文件类型信息,对可加载文件的类型进行验证,从而确保当前所下载的可加载文件的文件类型正确。86.具体地,上述文件头信息还可以包括魔数。当上述文件头信息中包括魔数时,片上系统还可以对魔数进行验证,从而确保当前所下载的可加载文件中的数据正确。87.在本发明实施例中,文件头信息还包括可加载文件的文件类型信息,根据可加载文件的文件类型信息,对可加载文件的类型进行验证。由此,可以确保可加载文件的文件类型正确,从而提高了用户的使用体验感。88.在一些实施例中,第一运行资源信息包括启动代码段,此时,上述根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息,可以包括:运行启动代码段,为可执行文件设置第二堆空间的指针、初始化第二数据段内容和重定位第二代码段,将第二堆空间的指针、初始化后的第二数据段内容和重定位后的地址信息作为第二运行资源信息。89.具体地,可以根据注册表中该应用的代码段地址信息运行代码,首先运行启动代码段,为该应用设置第二堆空间的指针、初始化第二数据段内容、重定位第二代码段等,使得可以根据第二堆空间的指针、初始化后的第二数据段内容和重定位后的地址信息等,在片上系统中运行可执行文件。90.在本发明实施例中,第一运行资源信息包括启动代码段,通过运行启动代码段,为可执行文件设置第二堆空间的指针、初始化第二数据段内容和重定位第二代码段,将第二堆空间的指针、初始化后的第二数据段内容和重定位后的地址信息作为第二运行资源信息。由此,可以根据第二堆空间的指针、初始化后的第二数据段内容和重定位后的地址信息等,在片上系统中运行可执行文件,从而启动业务应用,进行应用执行。91.在一些实施例中,在形成可执行文件之后,上述文件头信息还可以包括应用实例名称,应用实例名称为终端在后编译步骤中对应用实例配置得到的,在形成可执行文件之后,上述应用后下载方法还可以包括:将可执行文件安装成应用实例,并将应用实例名称存入应用注册表中。92.具体地,终端可以在后编译过程中为应用实例配置应用实例名称,并将配置得到的应用实例名称添加至文件头信息里,待片上系统获取到终端发送的该文件头信息后,可以将包含多个可执行模块的可执行文件安装成不同的应用实例,并将应用实例名称存入应用注册表中,以便根据应用注册表运行对应的应用实例。93.在本发明实施例中,文件头信息还包括应用实例名称,应用实例名称为终端在后编译步骤中对应用实例配置得到的,通过将可执行文件安装成应用实例,并将应用实例名称存入应用注册表中。由此,可以根据应用注册表运行对应的应用实例,从而提高了运行效率。94.图2为本发明实施例提供的一种应用后下载系统的结构示意图,参考图2所示,本实施例提供的应用后下载系统1可以包括片上系统10和终端20。其中,片上系统10可以包括应用安装器110和应用执行器120,终端20可以包括应用编译器210。95.具体地,可以通过图2所示的应用编译器210,实现下述图3和图6所示的待下载应用的编译和后编译方法;也可以通过图2所示的应用安装器110,实现下述图4和图7所示的待下载应用的安装方法;还可以通过图2所示的应用执行器120,实现下述图5和图8所示的待下载应用的执行方法。96.例如,上述应用编译器210可以实现的功能如下图3所示,应用编译器210可以用于:获取待下载应用的源程序文件;对源程序文件进行通用编译,得到可加载文件;对可加载文件进行后编译,得到文件头信息,其中,文件头信息可以包括启动代码段信息和应用信息。由此,通过上述应用编译器210可以得到可加载文件和文件头信息。97.又如,上述应用安装器110可以实现的功能如下图4所示,应用安装器110可以用于:获取待下载应用对应的可加载文件和文件头信息;对文件头信息进行分析;基于文件头信息,为待下载应用动态分配片上系统的存储空间(假设片上系统的存储空间内提前存储多个应用的可执行文件,例如应用1的可执行文件、应用2的可执行文件……应用6的可执行文件,此时,为待下载应用(可以为待下载应用配置应用id为应用7)分配片上系统的存储空间),将待下载应用(应用7)的可执行文件存储在片上系统的存储空间中,得到待下载应用(应用7)的应用信息;将待下载应用(应用7)的应用信息反写入片上系统的应用注册表中;得到包括7个应用的应用信息的应用注册表。其中,待下载应用(应用7)的应用信息可以包括:应用安装包id、应用id、应用名称、第二代码段起始地址、第二代码段大小、第二数据段起始地址、第二数据段大小、栈空间起始地址、栈空间大小等信息。98.还如,上述应用执行器120可以实现的功能如下图5所示,应用执行器120可以用于:接收应用m(m小于等于n)的执行控制指令;查找应用注册表(包括n个应用的应用信息),得到应用m的应用信息;根据应用m的应用信息,在存储空间中查找应用m的可执行文件所对应的数据(例如指令执行单元、栈空间和堆空间),执行应用m。99.为了对应用编译器210可以实现的功能进行详细说明,图6为本发明实施例提供的另一种待下载应用的编译和后编译方法的流程示意图,如图6所示,本实施例提供的待下载应用的编译和后编译方法的执行主体为上述应用编译器210,本实施例提供的待下载应用的编译和后编译方法可以包括以下步骤:s601,获取待下载应用的源程序文件。100.s602,对源程序文件进行编译,得到待下载应用对应的可加载文件。101.s603,对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息。102.具体地,文件头信息可以包括应用安装器和执行器所需要的信息。具体实现时,可根据不同片上操作系统的需求,加载一段头文件启动代码段,代码段被执行时可完成待下载应用的初始化过程,包括设置堆栈指针、初始化数据段内容、重定位代码段(第一运行资源信息)等;并配置不同的应用信息,如魔数、应用名称、应用使用的内存大小、应用的第一堆空间起始地址、第一栈空间起始地址、第一堆空间大小、第一栈空间大小、第一数据段起始地址(第一存储空间信息)等信息。103.具体地,应用编译器可以通过crc16、crc32、sha1、sha256、sm3、sm1-mac等算法,对可加载文件增加完整性校验字段。104.s604,向片上系统发送可加载文件和文件头信息。105.在本发明实施例中,终端中的应用编译器可以预先获取到可加载文件在终端中的第一运行资源信息和第一存储空间信息。106.为了对应用安装器110可以实现的功能进行详细说明,图7为本发明实施例提供的另一种待下载应用的安装方法的流程示意图,如图7所示,本实施例提供的待下载应用的安装方法的执行主体为上述应用安装器110,本实施例提供的待下载应用的安装方法可以包括以下步骤:s701,获取可加载文件和文件头信息。107.s702,对可加载文件进行完整性校验。108.s703,对文件头信息进行校验。109.例如,可以对魔数、文件类型的正确性进行校验,以确保当前获取到的可加载文件的文件类型及数据正确。110.s704,基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息。111.例如,第二存储空间信息可以包括:应用的第二代码段起始地址、第二代码段大小、第二数据段起始地址、第二数据段大小、第二栈空间起始地址、第二栈空间大小等信息。112.s705,根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件。113.s706,为该应用配置标识信息,并将第二存储空间信息和标识信息存入片上系统的应用注册表中。114.例如,对该应用配置的标识信息可以包括:应用安装包id、应用id、应用名称等信息。115.具体地,应用安装器可以将包含可执行模块的可执行文件安装成应用实例,也可以删除嵌入式操作系统中的可执行文件和应用实例。116.在本发明实施例中,片上系统中的应用安装器可以根据预先获取到的可加载文件在终端中的第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间,并按照动态分配结果将可加载文件下载至片上系统中,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。117.为了对应用执行器120可以实现的功能进行详细说明,图8为本发明实施例提供的一种待下载应用的执行方法的流程示意图,如图8所示,本实施例提供的待下载应用的执行方法的执行主体为应用执行器120,本实施例提供的待下载应用的执行方法可以包括以下步骤:s801,接收应用执行控制指令,其中,应用执行控制指令包括待执行应用的标识信息。118.s802,创建该应用的轻量级进程,并分配该进程所包含数据结构的存储空间。119.其中,数据结构中可以包含该进程所对应的mpu_info(如果有mpu(microprocessorunit,微处理器)保护的话,对进程进行mpu保护时所要设置的参数)、进程对应的代码段入口地址及长度、数据段入口地址及长度、进程id、进程当前运行的线程等。120.具体的,每个应用可以对应一个轻量级进程,每个轻量级进程可以包含多个线程。121.s803,根据待执行应用的标识信息,在应用注册表中查找待执行应用的应用信息。122.例如,应用信息可以包括指令执行单元、第二栈空间信息、第二堆空间信息、第二代码段信息、第二数据段信息等。123.s804,根据应用信息,执行该应用。124.具体地,根据应用信息,可以读取该可执行文件的第二代码段、第二数据段信息;根据第二代码段入口地址及长度设置第二代码段并进行初始化;根据地址及长度动态分配第二数据段并进行初始化(如有mpu保护的话,将相应的信息更新到mpu_info中);根据第二栈空间信息开辟应用主线程栈空间,启动业务应用,以执行该应用。125.在本发明实施例中,可以通过片上系统中的应用执行器联接并执行下载安装到嵌入式操作系统上的应用。126.图9为本发明实施例提供的一种应用后下载装置的结构示意图。如图9所示,该应用后下载装置90应用于片上系统,该应用后下载装置90可以包括:获取模块910、第一分配模块920、下载模块930、第二分配模块940和运行模块950。127.获取模块910,可以用于获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;第一分配模块920,可以用于基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;下载模块930,可以用于根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;第二分配模块940,可以用于根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;运行模块950,可以用于根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。128.本发明实施例提供的应用后下载装置,应用于片上系统,通过获取模块,获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;通过第一分配模块,基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;通过下载模块,根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;通过第二分配模块,根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;通过运行模块,根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。129.图10为本发明实施例提供的另一种应用后下载装置的结构示意图。如图10所示,该应用后下载装置100应用于终端,该应用后下载装置100可以包括:编译模块1010、后编译模块1020和发送模块1030。130.编译模块1010,可以用于对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;后编译模块1020,可以用于对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;发送模块1030,可以用于向片上系统发送可加载文件和文件头信息,以便片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。131.本发明实施例提供的应用后下载装置,应用于终端,通过编译模块,对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;通过后编译模块,对可加载文件进行后编译,得到文件头信息,其中,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;通过发送模块,向片上系统发送可加载文件和文件头信息,以便片上系统基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。132.另外,相应于上述实施例所提供的应用后下载方法,本发明实施例还提供了一种片上系统,如图11所示,该片上系统10可以包括:第一存储器1110、第一处理器1120及存储在第一存储器1110上并可在第一处理器1120上运行的程序,第一处理器1120执行程序时,实现本发明实施例提供的以片上系统为执行主体的应用后下载方法的所有步骤。133.在上述片上系统中,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。134.另外,相应于上述实施例所提供的应用后下载方法,本发明实施例还提供了一种终端,如图12所示,该终端20可以包括:第二存储器1210、第二处理器1220及存储在第二存储器1210上并可在第二处理器1220上运行的程序,第二处理器1220执行程序时,实现本发明实施例提供的以终端为执行主体的应用后下载方法的所有步骤。135.在上述终端中,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。136.另外,相应于上述实施例所提供的应用后下载方法,本发明实施例还提供了一种计算机可读存储介质,其上存储有程序,该程序被处理器执行时实现本发明实施例的应用后下载方法的所有步骤。137.在上述计算机可读存储介质中,通过获取待下载应用对应的可加载文件和可加载文件对应的文件头信息,其中,可加载文件为终端对待下载应用的源程序进行编译得到的,文件头信息为终端对可加载文件进行后编译得到的,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;基于第一存储空间信息,为可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中,形成可执行文件;根据第一运行资源信息,为可执行文件动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。由此,可以在片上系统的嵌入式操作系统发行后,根据预先获取到的可加载文件在终端中的第一运行资源信息和第一存储空间信息,为可加载文件动态分配片上系统上的对应于第一存储空间信息的存储空间以及对应于第一运行资源信息的运行资源,并按照动态分配结果将可加载文件下载至片上系统中形成可执行文件,并执行该可执行文件,这样既可以节省片上系统的存储空间,又可以针对不同的应用进行不同的管理,从而实现了灵活的应用管理,进而提高了用户的使用体验感。138.需要说明的是,在流程图中表示或在此以其他方式描述的逻辑和/或步骤,例如,可以被认为是用于实现逻辑功能的可执行指令的定序列表,可以具体实现在任何计算机可读介质中,以供指令执行系统、装置或设备(如基于计算机的系统、包括处理器的系统或其他可以从指令执行系统、装置或设备取指令并执行指令的系统)使用,或结合这些指令执行系统、装置或设备而使用。就本说明书而言,“计算机可读介质”可以是任何可以包含、存储、通信、传播或传输程序以供指令执行系统、装置或设备或结合这些指令执行系统、装置或设备而使用的装置。计算机可读介质的更具体的示例(非穷尽性列表)包括以下:具有一个或多个布线的电连接部(电子装置),便携式计算机盘盒(磁装置),随机存取存储器(ram),只读存储器(rom),可擦除可编辑只读存储器(eprom或闪速存储器),光纤装置,以及便携式光盘只读存储器(cdrom)。另外,计算机可读介质甚至可以是可在其上打印所述程序的纸或其他合适的介质,因为可以例如通过对纸或其他介质进行光学扫描,接着进行编辑、解译或必要时以其他合适方式进行处理来以电子方式获得所述程序,然后将其存储在计算机存储器中。139.应当理解,本发明的各部分可以用硬件、软件、固件或它们的组合来实现。在上述实施方式中,多个步骤或方法可以用存储在存储器中且由合适的指令执行系统执行的软件或固件来实现。例如,如果用硬件来实现,和在另一实施方式中一样,可用本领域公知的下列技术中的任一项或他们的组合来实现:具有用于对数据信号实现逻辑功能的逻辑门电路的离散逻辑电路,具有合适的组合逻辑门电路的专用集成电路,可编程门阵列(pga),现场可编程门阵列(fpga)等。140.在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。141.此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。142.在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。143.尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。当前第1页12当前第1页12
技术特征:
1.一种应用后下载方法,其特征在于,应用于片上系统,所述方法包括:获取待下载应用对应的可加载文件和所述可加载文件对应的文件头信息,其中,所述可加载文件为终端对所述待下载应用的源程序进行编译得到的,所述文件头信息为所述终端对所述可加载文件进行后编译得到的,所述文件头信息包括所述可加载文件在所述终端中的第一运行资源信息和第一存储空间信息;基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据所述第二存储空间信息,将所述可加载文件下载至所述片上系统中,形成可执行文件;根据所述第一运行资源信息,为所述可执行文件动态分配所述片上系统的运行资源,得到第二运行资源信息;根据所述第二存储空间信息及所述第二运行资源信息,在所述片上系统中运行所述可执行文件。2.根据权利要求1所述的应用后下载方法,其特征在于,所述第一存储空间信息包括所述可加载文件在所述终端中的各存储段的存储空间信息,其中,所述基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息,包括:根据所述可加载文件在所述终端中的各存储段的存储空间信息,确定所述可加载文件在所述片上系统中对应的各存储段的存储空间信息;将所述可加载文件在所述片上系统中对应的各存储段的存储空间信息作为第二存储空间信息。3.根据权利要求2所述的应用后下载方法,其特征在于,所述可加载文件在所述终端中的存储段包括第一堆空间、第一栈空间、第一数据段和第一代码段,其中,根据所述可加载文件在所述终端中的各存储段的存储空间信息,确定所述可加载文件在所述片上系统中对应的各存储段的存储空间信息,包括:根据所述第一堆空间的大小、所述第一栈空间的大小、所述第一数据段的大小和起始地址以及所述第一代码段的大小和起始地址,确定所述可加载文件在所述片上系统中对应的第二堆空间的大小、第二栈空间的大小、第二数据段的大小和第二代码段的大小以及所述第二堆空间的起始地址、所述第二栈空间的起始地址、所述第二数据段的起始地址和所述第二代码段的起始地址。4.根据权利要求1-3任一项所述的应用后下载方法,其特征在于,所述文件头信息还包括所述待下载应用的标识信息,所述方法还包括:将所述第二存储空间信息和所述标识信息存入所述片上系统的应用注册表中,以便根据所述应用注册表运行所述待下载应用。5.根据权利要求1-3任一项所述的应用后下载方法,其特征在于,在所述基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,所述方法还包括:通过预设完整性校验算法,对所述可加载文件进行完整性校验。6.根据权利要求5所述的应用后下载方法,其特征在于,所述预设完整性校验算法包括
以下至少一项:crc16算法、crc32算法、sha1算法、sha256算法、sm3算法、sm1-mac算法。7.根据权利要求1-3任一项所述的应用后下载方法,其特征在于,所述可加载文件包括以下一项:bin文件、hex文件。8.根据权利要求1-3任一项所述的应用后下载方法,其特征在于,所述文件头信息还包括所述可加载文件的文件类型信息,在所述基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息之前,所述方法还包括:根据所述可加载文件的文件类型信息,对所述可加载文件的类型进行验证。9.根据权利要求3所述的应用后下载方法,其特征在于,所述第一运行资源信息包括启动代码段,所述根据所述第一运行资源信息,为所述可执行文件动态分配所述片上系统的运行资源,得到第二运行资源信息,包括:运行所述启动代码段,为所述可执行文件设置所述第二堆空间的指针、初始化所述第二数据段内容和重定位所述第二代码段,将所述第二堆空间的指针、初始化后的所述第二数据段内容和重定位后的地址信息作为所述第二运行资源信息。10.根据权利要求4所述的应用后下载方法,其特征在于,所述文件头信息还包括应用实例名称,所述应用实例名称为所述终端在后编译步骤中对应用实例配置得到的,在所述形成可执行文件之后,所述方法还包括:将所述可执行文件安装成应用实例,并将所述应用实例名称存入所述应用注册表中。11.一种应用后下载方法,其特征在于,应用于终端,所述方法包括:对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;对所述可加载文件进行后编译,得到文件头信息,其中,所述文件头信息包括所述可加载文件在所述终端中的第一运行资源信息和第一存储空间信息;向片上系统发送所述可加载文件和所述文件头信息,以便所述片上系统基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据所述第二存储空间信息,将所述可加载文件下载至所述片上系统中,形成可执行文件;根据所述第一运行资源信息,为所述可执行文件动态分配所述片上系统的运行资源,得到第二运行资源信息;根据所述第二存储空间信息及所述第二运行资源信息,在所述片上系统中运行所述可执行文件。12.一种应用后下载装置,其特征在于,应用于片上系统,所述应用后下载装置包括:获取模块,用于获取待下载应用对应的可加载文件和所述可加载文件对应的文件头信息,其中,所述可加载文件为终端对所述待下载应用的源程序进行编译得到的,所述文件头信息为所述终端对所述可加载文件进行后编译得到的,所述文件头信息包括所述可加载文件在所述终端中的第一运行资源信息和第一存储空间信息;第一分配模块,用于基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;下载模块,用于根据所述第二存储空间信息,将所述可加载文件下载至所述片上系统中,形成可执行文件;第二分配模块,用于根据所述第一运行资源信息,为所述可执行文件动态分配所述片上系统的运行资源,得到第二运行资源信息;
运行模块,用于根据所述第二存储空间信息及所述第二运行资源信息,在所述片上系统中运行所述可执行文件。13.根据权利要求12所述的应用后下载装置,其特征在于,所述第一存储空间信息包括所述可加载文件在所述终端中的各存储段的存储空间信息,其中,所述第一分配模块,具体用于根据所述可加载文件在所述终端中的各存储段的存储空间信息,确定所述可加载文件在所述片上系统中对应的各存储段的存储空间信息;将所述可加载文件在所述片上系统中对应的各存储段的存储空间信息作为第二存储空间信息。14.根据权利要求13所述的应用后下载装置,其特征在于,所述可加载文件在所述终端中的存储段包括第一堆空间、第一栈空间、第一数据段和第一代码段,其中,所述第一分配模块,具体用于根据所述第一堆空间的大小、所述第一栈空间的大小、所述第一数据段的大小和起始地址以及所述第一代码段的大小和起始地址,确定所述可加载文件在所述片上系统中对应的第二堆空间的大小、第二栈空间的大小、第二数据段的大小和第二代码段的大小以及所述第二堆空间的起始地址、所述第二栈空间的起始地址、所述第二数据段的起始地址和所述第二代码段的起始地址。15.根据权利要求12-14任一项所述的应用后下载装置,其特征在于,所述文件头信息还包括所述待下载应用的标识信息,所述装置还包括:存储模块,用于将所述第二存储空间信息和所述标识信息存入所述片上系统的应用注册表中,以便根据所述应用注册表运行所述待下载应用。16.根据权利要求12-14任一项所述的应用后下载装置,其特征在于,所述装置还包括:第一校验模块,用于通过预设完整性校验算法,对所述可加载文件进行完整性校验。17.根据权利要求16所述的应用后下载装置,其特征在于,所述预设完整性校验算法包括以下至少一项:crc16算法、crc32算法、sha1算法、sha256算法、sm3算法、sm1-mac算法。18.根据权利要求12-14任一项所述的应用后下载装置,其特征在于,所述可加载文件包括以下一项:bin文件、hex文件。19.根据权利要求12-14任一项所述的应用后下载装置,其特征在于,所述文件头信息还包括所述可加载文件的文件类型信息,所述装置还包括:第二校验模块,用于根据所述可加载文件的文件类型信息,对所述可加载文件的类型进行验证。20.根据权利要求14所述的应用后下载装置,其特征在于,所述第一运行资源信息包括启动代码段,所述第二分配模块,具体用于运行所述启动代码段,为所述可执行文件设置所述第二堆空间的指针、初始化所述第二数据段内容和重定位所述第二代码段,将所述第二堆空间的指针、初始化后的所述第二数据段内容和重定位后的地址信息作为所述第二运行资源信息。21.根据权利要求15所述的应用后下载装置,其特征在于,所述文件头信息还包括应用实例名称,所述应用实例名称为所述终端在后编译步骤中对应用实例配置得到的,所述存储模块,还用于将所述可执行文件安装成应用实例,并将所述应用实例名称存入所述应用注册表中。22.一种应用后下载装置,其特征在于,应用于终端,所述应用后下载装置包括:编译模块,用于对待下载应用的源程序进行编译,得到待下载应用对应的可加载文件;
后编译模块,用于对所述可加载文件进行后编译,得到文件头信息,其中,所述文件头信息包括所述可加载文件在所述终端中的第一运行资源信息和第一存储空间信息;发送模块,用于向片上系统发送所述可加载文件和所述文件头信息,以便所述片上系统基于所述第一存储空间信息,为所述可加载文件动态分配片上系统的存储空间,得到第二存储空间信息;根据所述第二存储空间信息,将所述可加载文件下载至所述片上系统中,形成可执行文件;根据所述第一运行资源信息,为所述可执行文件动态分配所述片上系统的运行资源,得到第二运行资源信息;根据所述第二存储空间信息及所述第二运行资源信息,在所述片上系统中运行所述可执行文件。23.一种片上系统,其特征在于,包括:第一存储器、第一处理器及存储在所述第一存储器上并可在所述第一处理器上运行的程序,所述第一处理器执行所述程序时,实现根据权利要求1-10任一项所述的应用后下载方法。24.一种终端,其特征在于,包括:第二存储器、第二处理器及存储在所述第二存储器上并可在所述第二处理器上运行的程序,所述第二处理器执行所述程序时,实现根据权利要求11所述的应用后下载方法。25.一种应用后下载系统,其特征在于,包括根据权利要求23所述的片上系统和根据权利要求24所述的终端。26.一种计算机可读存储介质,其特征在于,其上存储有程序,该程序被处理器执行时实现根据权利要求1-11任一项所述的应用后下载方法。

技术总结
本发明公开了一种应用后下载方法、装置、片上系统、终端及存储介质,方法包括:终端编译待下载应用的源程序得到可加载文件,并对可加载文件进行后编译得到文件头信息,文件头信息包括可加载文件在终端中的第一运行资源信息和第一存储空间信息;片上系统基于第一存储空间信息动态分配片上系统的存储空间,得到第二存储空间信息;根据第二存储空间信息,将可加载文件下载至片上系统中形成可执行文件;根据第一运行资源信息动态分配片上系统的运行资源,得到第二运行资源信息;根据第二存储空间信息及第二运行资源信息,在片上系统中运行可执行文件。这样既可以节省片上系统的存储空间,又可以实现灵活的应用管理,从而提高了用户的使用体验感。户的使用体验感。户的使用体验感。


技术研发人员:许晶 王东山 樊琳 杜君 王鑫
受保护的技术使用者:国家电网有限公司
技术研发日:2023.07.27
技术公布日:2023/9/7
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐