数据处理方法和装置与流程

文档序号:26003381发布日期:2021-07-23 21:21阅读:85来源:国知局
数据处理方法和装置与流程

本申请涉及计算机技术领域,具体而言,涉及一种数据处理方法和装置。



背景技术:

目前,在对物联网终端进行操作系统移植时,需要考虑到物联网终端所具有的芯片架构、厂商、型号等因素的差异;此外,还需要考虑到物联网终端在初始化逻辑和中断逻辑上的差异。相关技术为了实现对物联网终端进行操作系统移植,需要开发人员在操作系统这一技术层面具有较高的专业水平,即使在开发人员已具有较高专业水平的前提下,也仍需要开发人员进行大量的软件开发,其工作量较大,由此使得对物联网终端进行操作系统移植的效率较低,因此相关技术中的操作系统移植方法存在无法快速实现将操作系统移植到物联网终端的问题。



技术实现要素:

本申请的实施例提供了一种数据处理方法和装置,可以解决相关技术中的操作系统移植方法存在无法实现将操作系统快速移植到物联网终端的问题。

本申请的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本申请的实践而习得。

根据本申请实施例的一个方面,提供了一种数据处理方法,包括:获取针对微控制单元进行硬件配置生成的硬件配置文件,以及获取待移植的操作系统对应的操作系统移植文件,所述硬件配置文件包括硬件配置源文件以及所述硬件配置源文件对应的硬件工程文件,所述操作系统移植文件包括操作系统源文件以及所述操作系统源文件对应的操作系统工程文件;基于所述操作系统源文件中的逻辑层源代码对所述硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件;合并所述操作系统工程文件和所述硬件工程文件,生成合并后的工程文件;基于所述合并后的工程文件对所述修改后的源文件进行编译处理,生成编译文件;基于所述编译文件烧写程序,并将烧写得到的程序导入至所述微控制单元的内存中。

根据本申请实施例的一个方面,提供了一种数据处理装置,包括:获取单元,用于获取针对微控制单元进行硬件配置生成的硬件配置文件,以及获取待移植的操作系统对应的操作系统移植文件,所述硬件配置文件包括硬件配置源文件以及所述硬件配置源文件对应的硬件工程文件,所述操作系统移植文件包括操作系统源文件以及所述操作系统源文件对应的操作系统工程文件;修改单元,用于基于所述操作系统源文件中的逻辑层源代码对所述硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件;合并单元,用于合并所述操作系统工程文件和所述硬件工程文件,生成合并后的工程文件;编译单元,用于基于所述合并后的工程文件对所述修改后的源文件进行编译处理,生成编译文件;烧写单元,用于基于所述编译文件烧写程序,并将烧写得到的程序导入至所述微控制单元的内存中。

在本申请的一些实施例中,基于前述方案,所述操作系统源文件包括第一类源文件和第二类源文件,所述第一类源文件为包含所述操作系统源文件中不执行修改处理的逻辑层源代码的源文件,所述第二类源文件为包含所述操作系统源文件中执行修改处理的逻辑层源代码的源文件,所述操作系统工程文件包括所述第一类源文件对应的第一类工程文件以及所述第二类源文件对应的第二类工程文件,所述获取单元被配置为:获取所述第一类源文件以及所述第一类工程文件,并将所述第一类源文件以及所述第一类工程文件拷贝至预定的第一目录中;获取所述第二类源文件以及所述第二类工程文件,并将所述第二类源文件、所述第二类工程文件、所述硬件配置源文件以及所述硬件工程文件拷贝至预定的第二目录中,所述第一目录以及所述第二目录是操作系统移植目录下的不同目录。

在本申请的一些实施例中,基于前述方案,所述硬件配置文件还包括所述微控制单元的型号信息,所述获取单元被配置为:基于所述微控制单元的型号信息,从预设的文件库中获取与所述型号信息具有对应关系的第二类源文件以及第二类工程文件。

在本申请的一些实施例中,基于前述方案,所述修改单元被配置为:基于所述操作系统源文件中实现中断功能的源代码,对所述硬件配置源文件中实现中断功能的源代码进行修改处理,以及基于所述操作系统源文件中实现操作系统初始化功能的源代码,对所述硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在本申请的一些实施例中,基于前述方案,所述修改单元被配置为:在所述硬件配置源文件中,确定实现可悬起异常中断功能的源代码以及实现系统时钟中断功能的源代码;在所述操作系统源文件中,确定实现多任务中断功能的源代码以及实现系统时钟中断功能的源代码;基于所述操作系统源文件中实现多任务中断功能的源代码,替换所述硬件配置源文件中用实现可悬起异常中断功能的源代码,以及基于所述操作系统源文件中实现系统时钟中断功能的源代码,替换所述硬件配置源文件中实现系统时钟中断功能的源代码。

在本申请的一些实施例中,基于前述方案,所述修改单元被配置为:在所述操作系统源文件中,确定实现在操作系统中进行数据调用的头文件引用源代码、实现操作系统调用微控制单元的应用程序接口时的接口函数源代码,以及实现操作系统初始化功能的入口函数源代码;在所述硬件配置源文件中,确定实现硬件初始化功能的源代码;基于所述头文件引用源代码、所述接口函数源代码以及所述入口函数源代码,对所述硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在本申请的一些实施例中,基于前述方案,所述硬件配置源文件中实现硬件初始化功能的源代码包括实现调用所述微控制单元的接口函数源代码和实现硬件初始化功能的入口函数源代码,所述修改单元被配置为:在所述硬件配置源文件中实现硬件初始化功能的源代码中插入所述头文件引用源代码;基于所述接口函数源代码,对所述硬件配置源文件中实现调用所述微控制单元的接口函数源代码进行封装处理,生成封装后的接口函数源代码;基于所述入口函数源代码,对所述硬件配置源文件中实现硬件初始化功能的入口函数源代码进行封装处理,生成封装后的入口函数源代码。

根据本申请实施例的一个方面,提供了一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上述实施例中所述的数据处理方法。

根据本申请实施例的一个方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多个处理器实现如上述实施例中所述的数据处理方法。

根据本申请实施例的一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各种可选实施例中提供的数据处理方法。

在本申请的一些实施例所提供的技术方案中,基于合并后的工程文件对修改后的源文件进行编译处理,生成编译文件,使得在进行操作系统移植时,无需开发人员在操作系统这一技术层面具有较高的专业水平,且无需开发人员进行大量的软件开发即可实现自动地将操作系统移植到物联网终端中,降低了进行操作系统移植的复杂度,提高了进行操作系统移植的效率。

应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。

附图说明

此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。

图2示出了根据本申请的一个实施例的数据处理方法的流程图。

图3示出了根据本申请的一个实施例的数据处理方法的步骤s210的具体流程图。

图4示出了根据本申请的一个实施例的基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理的具体流程图。

图5示出了根据本申请的一个实施例的基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理的具体流程图。

图6示出了根据本申请的一个实施例的步骤s530的具体流程图。

图7示出了根据本申请的一个实施例的数据处理装置的框图。

图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本申请将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。

此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施例中。在下面的描述中,提供许多具体细节从而给出对本申请的实施例的充分理解。然而,本领域技术人员将意识到,可以实践本申请的技术方案而没有特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知方法、装置、实现或者操作以避免模糊本申请的各方面。

附图中所示的方框图仅仅是功能实体,不一定必须与物理上独立的实体相对应。即,可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。

附图中所示的流程图仅是示例性说明,不是必须包括所有的内容和操作/步骤,也不是必须按所描述的顺序执行。例如,有的操作/步骤还可以分解,而有的操作/步骤可以合并或部分合并,因此实际执行的顺序有可能根据实际情况改变。

图1示出了可以应用本申请实施例的技术方案的示例性系统架构的示意图。

如图1所示,系统架构可以包括操作系统移植平台101、网络102、集成开发环境(ide,integrateddevelopmentenvironment)平台103和需要进行操作系统移植的终端设备104。网络102用以在操作系统移植平台101、ide平台103和终端设备104之间提供通信链路的介质。网络102可以包括各种连接类型,例如有线通信链路、无线通信链路等等。操作系统移植平台101作为开发人员进行操作系统移植的平台,终端设备104是指包含微控制单元的终端设备,如物联网终端设备或智能家居设备,ide平台103作为对微控制单元进行软件开发的集成开发环境。可以理解,操作系统移植平台101可以是多个服务器组成的服务器集群等。可选地,操作系统移植平台101可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云数据库、云存储、操作系统移植服务等基础云计算服务的云服务器。

应该理解,图1中的操作系统移植平台101、网络102、ide平台103和终端设备104的数目仅仅是示意性的。根据实现需要,可以具有任意数目的操作系统移植平台101、网络102、ide平台103和终端设备104,在此不作限定。

在对终端设备104进行操作系统移植时,由于终端设备104中的微控制单元所具有的芯片架构、厂商、型号等差异,以及物联网终端在初始化逻辑和中断逻辑上的差异,使得开发人员在对终端设备104进行操作系统移植时,需要在操作系统这一技术层面具有较高的专业水平,且针对以上差异,需要开发人员进行大量的软件开发,其工作量较大,由此使得对物联网终端进行操作系统移植的效率较低。

基于此,本实施例中的操作系统移植平台101通过获取针对微控制单元进行硬件配置生成的硬件配置文件,以及获取待移植的操作系统对应的操作系统移植文件,硬件配置文件包括硬件配置源文件以及硬件配置源文件对应的硬件工程文件,操作系统移植文件包括操作系统源文件以及操作系统源文件对应的操作系统工程文件;并基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件;且合并操作系统工程文件和硬件工程文件,生成合并后的工程文件;基于合并后的工程文件对修改后的源文件进行编译处理,生成编译文件;最后基于编译文件烧写程序,并将烧写得到的程序导入至微控制单元的内存中。通过基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件;且合并操作系统工程文件和硬件工程文件,生成合并后的工程文件;基于合并后的工程文件对修改后的源文件进行编译处理,生成编译文件,使得在进行操作系统移植时,无需开发人员在操作系统这一技术层面具有较高的专业水平,且无需开发人员进行大量的软件开发即可实现自动地将操作系统移植到物联网终端中,降低了进行移动移植的复杂度,提高了进行操作系统移植的效率。

本申请实施例所提供的方法还可以涉及区块链,即本申请实施例提供的方法中涉及到的数据可以基于区块链存储,例如,源文件数据可存储在区块链中。区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层。

需要说明的是,本申请实施例所提供的数据处理方法一般由操作系统移植平台101执行,相应地,数据处理装置一般设置于操作系统移植平台101中。

以下对本申请实施例的技术方案的实现细节进行详细阐述。

图2示出了根据本申请的一个实施例的数据处理方法的流程图,该数据处理方法可以由操作系统移植平台来执行,该操作系统移植平台可以是图1中所示的操作系统移植平台101。参照图2所示,该数据处理方法至少包括步骤s210至步骤s250,详细介绍如下:

在步骤s210中,获取针对微控制单元进行硬件配置生成的硬件配置文件,以及获取待移植的操作系统对应的操作系统移植文件,硬件配置文件包括硬件配置源文件以及硬件配置源文件对应的硬件工程文件,操作系统移植文件包括操作系统源文件以及操作系统源文件对应的操作系统工程文件。

在一个实施例中,硬件配置文件是指针对终端设备中的微控制单元进行硬件配置所生成的文件,操作系统移植文件包括硬件配置源文件和硬件配置源文件对应的硬件工程文件。

硬件配置源文件是指包含有微控制单元在实现相关硬件功能的逻辑层源代码的源文件,具体而言,包括用于实现硬件初始化功能的源代码的源文件以及用于实现中断功能的源代码的源文件。可以理解,硬件配置源文件还可以包括记录微控制单元中的硬件配置信息的用户配置文件,如微控制单元的内部时钟频率、rom大小、rom偏移地址、ram内存大小和ram偏移地址等硬件配置信息。

硬件工程文件是指示硬件配置源文件如何进行编译的工程文件,基于该硬件工程文件可以实现对硬件工程文件中的源代码进行编译处理,以生成进行程序烧录的二进制文件。

在一个实施例中,硬件配置文件具体可以由开发人员利用微控制单元厂商提供的硬件配置工具根据需要进行操作系统移植的微控制单元进行硬件配置所生成的。

在一个实施例中,操作系统移植文件是指包含有操作系统对应的所有逻辑层源代码和相关工程文件的一种文件信息,操作系统移植文件包括操作系统源文件以及操作系统源文件对应的操作系统工程文件。

操作系统源文件是包含操作系统对应的所有逻辑层源代码的源文件,具体而言,可以包括实现中断功能的源代码的源文件和实现操作系统初始化功能的源代码的源文件。

操作系统工程文件是指示对操作系统源文件如何进行编译的工程文件,基于该操作系统工程文件可以实现对操作系统源文件中的源代码进行编译处理,以生成进行程序烧录的二进制文件。

参考图3,图3示出了根据本申请的一个实施例的数据处理方法的步骤s210的具体流程图,步骤s210具体可以包括步骤s310至步骤s320,详细描述如下。

在步骤s310中,获取第一类源文件以及第一类工程文件,并将第一类源文件以及第一类工程文件拷贝至预定的第一目录中。

在步骤s320中,获取第二类源文件以及第二类工程文件,并将第二类源文件、第二类工程文件、硬件配置源文件以及硬件工程文件拷贝至预定的第二目录中,第一目录以及第二目录是操作系统移植目录下的不同目录。

在一个实施例中,操作系统源文件可以是预先编译好而存储于操作系统移植平台的源文件。操作系统源文件包括第一类源文件和第二类源文件,第一类源文件是指包含操作系统源文件中不执行修改处理的逻辑层源代码的源文件,第二类源文件是指包含操作系统源文件中执行修改处理的逻辑层源代码的源文件。操作系统工程文件包括第一类源文件对应的第一类工程文件以及第二类源文件对应的第二类工程文件,第一类工程文件是指示对第一类源文件如何进行编译的工程文件,第二类工程文件是指示对第二类源文件如何进行编译的工程文件。

在一个实施例中,为了方便进行系统移植,可以通过预先创建第一目录和第二目录,并将第一类源文件以及第一类工程文件拷贝至第一目录中,以及将第二类源文件、第二类工程文件、硬件配置源文件与硬件工程文件一起拷贝至第二目录中。通过将执行修改处理的逻辑层源代码和不执行修改处理的逻辑层源代码分别放置到不同的源文件,且将包含的执行修改处理的逻辑层源代码的第二类源文件与硬件配置源文件、硬件工程文件放置到同一个目录,有利于提高基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理的效率。

在一个实施例中,由于终端设备上的微控制单元存在芯片架构、厂商、型号等因素的差异,使得在将操作系统移植到微控制单元时,需要对操作系统中的逻辑层源代码进行修改。

为了提高进行系统移植的效率,可以针对不同型号的微控制单元在进行系统移植所具有的差异情况,分别开发对应的源文件,即针对不同型号的微控制单元,分别开发相应的第二源文件和第二类工程文件,并将所发开的第二源文件和第二类工程文件存储于文件库中。

具体的,在生成包含第二源文件以及第二类工程文件的文件库,可以将微控制单元的型号信息作为索引信息,并将其与相应的第二源文件、第二类工程文件之间进行关联,进而便于根据微控制单元的型号信息获取与该型号信息具有对应关系的第二类源文件、第二类工程文件。

在步骤s220中,基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件。

在一个实施例中,由于硬件配置源文件仅包括实现硬件初始化功能的源代码的源文件,使得终端设备只能实现硬件初始化功能。而在将操作系统移植到终端设备的微处理单元后,需要终端设备在初始化逻辑可以同时实现硬件初始化功能和操作系统初始化功能,因此需要基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理。

此外,由于硬件配置源文件所包含的实现中断功能的源代码仅适用于无操作系统的情况,因而在微处理单元支持操作系统的情况下,需要基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理。

在一个实施例中,基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理的步骤s220包括:基于操作系统源文件中实现中断功能的源代码,对硬件配置源文件中实现中断功能的源代码进行修改处理,以及基于操作系统源文件中实现操作系统初始化功能的源代码,对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在本实施例中,在基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理时,可以是通过操作系统源文件中实现中断功能的源代码对硬件配置源文件实现中断功能的源代码进行修改处理,进而使得终端设备能适应具有操作系统的情况。

通过操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理,使得终端设备可以同时实现硬件初始化功能和操作系统初始化功能。

参考图4,图4示出了根据本申请的一个实施例的基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理的具体流程图,具体可以包括步骤s410至步骤s430,详细描述如下。

在步骤s410中,在硬件配置源文件中,确定实现可悬起异常中断功能的源代码以及实现系统时钟中断功能的源代码。

在一个实施例中,为了实现基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理,在硬件配置源文件中,需要分别确定实现可悬起异常中断功能的源代码以及实现系统时钟中断功能的源代码。

具体而言,可以是根据源文件的文件名从硬件配置源文件中查找到包含实现可悬起异常中断功能的源代码的源文件,以及包含实现系统时钟中断功能的源代码的源文件,并进一步地从查找到的多个相应源文件中获取实现可悬起异常中断功能的源代码以及实现系统时钟中断功能的源代码。

在步骤s420中,在操作系统源文件中,确定实现多任务中断功能的源代码以及实现系统时钟中断功能的源代码。

在一个实施例中,为了实现基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理,在操作系统源文件中,需要分别确定实现多任务中断功能的源代码以及实现系统时钟中断功能的源代码。

具体而言,可以是根据源文件的文件名从操作系统源文件中查找到包含实现多任务中断功能的源代码的源文件以及包含实现系统时钟中断功能的源代码的源文件,并进一步地从查找到的源文件中获取实现多任务中断功能的源代码以及实现系统时钟中断功能的源代码。

在步骤s430中,基于操作系统源文件中实现多任务中断功能的源代码,替换硬件配置源文件中实现可悬起异常中断功能的源代码,以及基于操作系统源文件中实现系统时钟中断功能的源代码,替换硬件配置源文件中实现系统时钟中断功能的源代码。

在一个实施例中,在确定上述源代码后,将操作系统源文件中用于实现多任务中断功能的源代码替换硬件配置源文件中用于实现可悬起异常中断功能的源代码,并将操作系统源文件中用于实现系统时钟中断功能的源代码替换硬件配置源文件中用于实现系统时钟中断功能的源代码,从而使得终端设备所具有的中功能可以实现支持多任务的情况,进而使得终端设备所具有的中断功适用于有操作系统的情况。

在图4所示实施例的技术方案中,通过将操作系统源文件中实现中断功能的源代码对硬件配置源文件实现中断功能的源代码进行自动修改处理,实现了不需要开发人员进行参与,即可使得终端设备的中断功能能适应具有操作系统的情况,可以有效减少开发人员的工作量,提高对终端设备进行操作系统移植的效率。

参考图5,图5示出了根据本申请的一个实施例的基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理的具体流程图,具体可以包括步骤s510至步骤s530,详细描述如下。

在步骤s510中,在操作系统源文件中,确定实现在操作系统中进行数据调用的头文件引用源代码、实现操作系统调用微控制单元的应用程序接口时的接口函数源代码,以及实现操作系统初始化功能的入口函数源代码。

在一个实施例中,为了实现基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理,在操作系统源文件中,需要分别确定实现在操作系统中进行数据调用的头文件引用源代码、实现操作系统调用微控制单元的应用程序接口时的接口函数源代码以及实现操作系统初始化功能的入口函数源代码。

具体而言,可以是根据源文件的文件名从操作系统源文件中查找到包含头文件引用源代码的源文件、包含接口函数源代码的源文件以及包含入口函数源代码的源文件,并进一步地从查找到的多个相应源文件中获取头文件引用源代码、接口函数源代码以及入口函数源代码。

在步骤s520中,在硬件配置源文件中,确定实现硬件初始化功能的源代码。

在一个实施例中,为了实现基于操作系统源文件中实现操作系统初始化功能的源代码对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理,在硬件配置源文件中,需要分别确定实现硬件初始化功能的源代码。

具体而言,可以是根据源文件的文件名从操作系统源文件中查找到实现硬件初始化功能的源代码的源文件,并进一步地从查找到的多个相应源文件中获取实现硬件初始化功能的源代码。

在步骤s530中,基于头文件引用源代码、接口函数源代码以及入口函数源代码,对硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在一个实施例中,在确定上述源代码后,既可以执行修改处理,具体而言,在硬件配置文件中实现硬件初始化功能的源代码插入新的源代码、替换硬件配置文件中已有的源代码。

参考图6,图6示出了根据本申请的一个实施例的步骤s530的具体流程图,具体可以包括步骤s610至步骤s630,详细描述如下。

在步骤s610中,在硬件配置源文件中实现硬件初始化功能的源代码中插入头文件引用源代码。

在一个实施例中,通过在硬件配置源文件中用于实现硬件初始化功能的源代码中插入头文件引用源代码,实现了可以通过应用程序接口在操作系统中进行数据调用的功能。

在步骤s620中,基于接口函数源代码,对硬件配置源文件中实现调用微控制单元的接口函数源代码进行封装处理,生成封装后的接口函数源代码。

在一个实施例中,基于入口函数源代码对硬件配置源文件中用于实现硬件初始化功能的入函数源代码进行封装处理,生成封装后的接口函数源代码,使得终端设备可以实现根据新的接口函数去调用终端设备上的各种硬件接口,如微处理单元上的各个接口以及微处理单元所控制的各个外设硬件设备上的接口。

在步骤s630中,基于入口函数源代码,对硬件配置源文件中实现硬件初始化功能的入口函数源代码进行封装处理,生成封装后的入口函数源代码。

在一个实施例中,基于入口函数源代码对硬件配置源文件中用于实现硬件初始化功能的入口函数源代码进行封装处理,生成封装后的入口函数源代码,使得终端设备可以实现同时进行硬件初始化和操作系统初始化。

在图5和图6所示实施例的技术方案中,通过头文件引用源代码、接口函数源代码以及入口函数源代码对硬件配置源文件中用于实现硬件初始化功能的源代码进行修改处理,实现了不需要开发人员进行参与,即可使得终端设备能同时进行硬件初始化和操作系统初始化,可以有效减少开发人员的工作量,提高对终端设备进行操作系统移植的效率。

还请继续参考图2,在步骤s230中,合并操作系统工程文件和硬件工程文件,生成合并后的工程文件。

在的一个实施例中,在实现基于操作系统源文件中的逻辑层源代码对硬件配置源文件中的逻辑层源代码进行修改处理,并生成修改后的源文件后,可以将操作系统工程文件和硬件工程文件,生成合并后的工程文件。

在步骤s240中,基于合并后的工程文件对修改后的源文件进行编译处理,生成编译文件。

在一个实施例中,在得到合并后的工程文件后,即基于合并后的工程文件所指示对源代码如何进行编译方式,对修改后的源文件进行编译处理,生成编译文件。可以理解,所生成的编译文件即为可以进行烧录处理的二进制文件。

在步骤s250中,基于编译文件烧写程序,并将烧写得到的程序导入至微控制单元的内存中。

在本申请的一个实施例中,基于编译好的二进制文件烧写程序,并将烧写得到的程序导入至微控制单元的内存中,进而实现将操作系移植到终端设备的微处理单元中。

以上可以看出,基于合并后的工程文件对修改后的源文件进行编译处理,生成编译文件,使得在进行操作系统移植时,无需开发人员在操作系统这一技术层面具有较高的专业水平,且无需开发人员进行大量的软件开发即可实现自动地将操作系统移植到物联网终端中,降低了进行操作系统移植的复杂度,提高了进行操作系统移植的效率。

以下介绍本申请的装置实施例,可以用于执行本申请上述实施例中的数据处理方法。对于本申请装置实施例中未披露的细节,请参照本申请上述的数据处理方法的实施例。

图7示出了根据本申请的一个实施例的数据处理装置的框图。

参照图7所示,根据本申请的一个实施例的数据处理装置700,包括:获取单元710、修改单元720、合并单元730、编译单元740以及烧写单元750。其中,获取单元710,用于获取针对微控制单元进行硬件配置生成的硬件配置文件,以及获取待移植的操作系统对应的操作系统移植文件,所述硬件配置文件包括硬件配置源文件以及所述硬件配置源文件对应的硬件工程文件,所述操作系统移植文件包括操作系统源文件以及所述操作系统源文件对应的操作系统工程文件;修改单元720,用于基于所述操作系统源文件中的逻辑层源代码对所述硬件配置源文件中的逻辑层源代码进行修改处理,生成修改后的源文件;合并单元730,用于合并所述操作系统工程文件和所述硬件工程文件,生成合并后的工程文件;编译单元740,用于基于所述合并后的工程文件对所述修改后的源文件进行编译处理,生成编译文件;烧写单元750,用于基于所述编译文件烧写程序,并将烧写得到的程序导入至所述微控制单元的内存中。

在本申请的一些实施例中,基于前述方案,所述操作系统源文件包括第一类源文件和第二类源文件,所述第一类源文件为包含所述操作系统源文件中不执行修改处理的逻辑层源代码的源文件,所述第二类源文件为包含所述操作系统源文件中执行修改处理的逻辑层源代码的源文件,所述操作系统工程文件包括所述第一类源文件对应的第一类工程文件以及所述第二类源文件对应的第二类工程文件,所述获取单元710被配置为:获取所述第一类源文件以及所述第一类工程文件,并将所述第一类源文件以及所述第一类工程文件拷贝至预定的第一目录中;获取所述第二类源文件以及所述第二类工程文件,并将所述第二类源文件、所述第二类工程文件、所述硬件配置源文件以及所述硬件工程文件拷贝至预定的第二目录中,所述第一目录以及所述第二目录是操作系统移植目录下的不同目录。

在本申请的一些实施例中,基于前述方案,所述硬件配置文件还包括所述微控制单元的型号信息,所述获取单元710被配置为:基于所述微控制单元的型号信息,从预设的文件库中获取与所述型号信息具有对应关系的第二类源文件以及第二类工程文件。

在本申请的一些实施例中,基于前述方案,所述修改单元720被配置为:基于所述操作系统源文件中实现中断功能的源代码,对所述硬件配置源文件中实现中断功能的源代码进行修改处理,以及基于所述操作系统源文件中实现操作系统初始化功能的源代码,对所述硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在本申请的一些实施例中,基于前述方案,所述修改单元720被配置为:在所述硬件配置源文件中,确定实现可悬起异常中断功能的源代码以及实现系统时钟中断功能的源代码;在所述操作系统源文件中,确定实现多任务中断功能的源代码以及实现系统时钟中断功能的源代码;基于所述操作系统源文件中实现多任务中断功能的源代码,替换所述硬件配置源文件中用实现可悬起异常中断功能的源代码,以及基于所述操作系统源文件中实现系统时钟中断功能的源代码,替换所述硬件配置源文件中实现系统时钟中断功能的源代码。

在本申请的一些实施例中,基于前述方案,所述修改单元720被配置为:在所述操作系统源文件中,确定实现在操作系统中进行数据调用的头文件引用源代码、实现操作系统调用微控制单元的应用程序接口时的接口函数源代码,以及实现操作系统初始化功能的入口函数源代码;在所述硬件配置源文件中,确定实现硬件初始化功能的源代码;基于所述头文件引用源代码、所述接口函数源代码以及所述入口函数源代码,对所述硬件配置源文件中实现硬件初始化功能的源代码进行修改处理。

在本申请的一些实施例中,基于前述方案,所述硬件配置源文件中实现硬件初始化功能的源代码包括实现调用所述微控制单元的接口函数源代码和实现硬件初始化功能的入口函数源代码,所述修改单元被配置为:在所述硬件配置源文件中实现硬件初始化功能的源代码中插入所述头文件引用源代码;基于所述接口函数源代码,对所述硬件配置源文件中实现调用所述微控制单元的接口函数源代码进行封装处理,生成封装后的接口函数源代码;基于所述入口函数源代码,对所述硬件配置源文件中实现硬件初始化功能的入口函数源代码进行封装处理,生成封装后的入口函数源代码。

图8示出了适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

需要说明的是,图8示出的电子设备的计算机系统800仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。

如图8所示,计算机系统800包括中央处理单元(centralprocessingunit,cpu)801,其可以根据存储在只读存储器(read-onlymemory,rom)802中的程序或者从存储部分808加载到随机访问存储器(randomaccessmemory,ram)803中的程序而执行各种适当的动作和处理,例如执行上述实施例中所述的方法。在ram803中,还存储有系统操作所需的各种程序和数据。cpu801、rom802以及ram803通过总线804彼此相连。输入/输出(input/output,i/o)接口805也连接至总线804。

以下部件连接至i/o接口805:包括键盘、鼠标等的输入部分806;包括诸如阴极射线管(cathoderaytube,crt)、液晶显示器(liquidcrystaldisplay,lcd)等以及扬声器等的输出部分807;包括硬盘等的存储部分808;以及包括诸如lan(localareanetwork,局域网)卡、调制解调器等的网络接口卡的通信部分809。通信部分809经由诸如因特网的网络执行通信处理。驱动器810也根据需要连接至i/o接口805。可拆卸介质811,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器810上,以便于从其上读出的计算机程序根据需要被安装入存储部分808。

特别地,根据本申请的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本申请的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的计算机程序。在这样的实施例中,该计算机程序可以通过通信部分809从网络上被下载和安装,和/或从可拆卸介质811被安装。在该计算机程序被中央处理单元(cpu)801执行时,执行本申请的系统中限定的各种功能。

需要说明的是,本申请实施例所示的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(erasableprogrammablereadonlymemory,eprom)、闪存、光纤、便携式紧凑磁盘只读存储器(compactdiscread-onlymemory,cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的计算机程序。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的计算机程序可以用任何适当的介质传输,包括但不限于:无线、有线等等,或者上述的任意合适的组合。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。其中,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,上述模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图或流程图中的每个方框、以及框图或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现,所描述的单元也可以设置在处理器中。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定。

作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被一个该电子设备执行时,使得该电子设备实现上述实施例中所述的方法。

应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本申请的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。

通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本申请实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、触控终端、或者网络设备等)执行根据本申请实施方式的方法。

本领域技术人员在考虑说明书及实践这里公开的实施方式后,将容易想到本申请的其它实施方案。本申请旨在涵盖本申请的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本申请的一般性原理并包括本申请未公开的本技术领域中的公知常识或惯用技术手段。

应当理解的是,本申请并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请的范围仅由所附的权利要求来限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1