一种实现硬件平台与软件平台通讯的方法以及装置制造方法

文档序号:6488688阅读:208来源:国知局
一种实现硬件平台与软件平台通讯的方法以及装置制造方法
【专利摘要】本发明公开了一种实现硬件平台与软件平台通讯的方法以及装置,其中,该方法包括:基于第一操作系统的软件平台将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,第一操作系统用于为基于第二操作系统开发的应用程序的调试平台提供模拟的硬件平台,然后将函数库中符合设定条件的函数确定为软件平台调用应用程序的接口函数,并根据应用程序支持的通信模式,确定软件平台与所述硬件平台的模拟通讯接口。采用本技术方案建立的调试平台,能够提供模拟的硬件平台,避免了实际的硬件平台对调试应用程序的影响,从而提高了调试应用程序的效率。
【专利说明】一种实现硬件平台与软件平台通讯的方法以及装置
【技术领域】
[0001]本发明涉及通信领域中嵌入式技术,具体地,涉及一种实现硬件平台与软件平台通讯的方法以及装置。
【背景技术】
[0002]随着嵌入式系统在智能电网中的广泛应用,支持嵌入式系统开发、调试的各种操作系统也被广泛应用在智能电网中,例如嵌入式操作系统Linux。
[0003]在嵌入式系统的应用开发中,主要涉及构建开发平台和调试平台的各种软件以及设备。现有技术中,基于操作系统提供的开发平台完成应用程序的开发后,需要对开发的应用程序进行调试,以检验开发的应用程序是否可以再实际应用中正常运行,以及在正常运行中是否存在影响功能实现或运行效率的问题,使技术人员可以根据调试结果对应用程序进行完善。
[0004]目前,针对嵌入式系统开发的应用程序进行调试时,需要将开发的应用程序通过指定通讯接口下载到相应的硬件板卡(硬件平台)中,利用装载在相应的操纵系统中的调试软件(软件平台),控制硬件板卡运行,硬件板卡将通过指定通讯接口将运行中产生的数据或最终运行结果反馈至调试软件,由调试软件通过设定方式显示给技术人员。该由调试软件和硬件板卡构成的调试平台,一方面,要求技术人员掌握硬件板卡的相关操作技术,以能够控制硬件板卡运行应用程序;一方面,要求基于指定操作系统的调试软件与硬件板卡的通讯接口正常,以保证运行中的硬件板卡与调试软件的信息交互。
[0005]实际应用中,用于开发应用程序的开发平台会影响对调试平台的选择。例如,利用基于Linux系统的开发平台开发的应用程序,其调试平台中的调试软件需要是在Linux系统中运行的调试软件,相应的,硬件板卡也需要支持该Linux系统支持的通讯方式,如此,才能保证对应用程序的正常调试。基于上述情况,技术人员需要在熟悉Linux的相关技术后,才能够进行应用程序的调试,以保证对调试的正确操作和调试结果的准确判断,可见,该调试应用程序的方式过于依赖于技术人员的操作,调试效率低,并且需要硬件板卡的正常运行,才能够进行调试,否则将影响应用程序的调试,甚至不能够对应用程序进行调试,进一步降低了对应用程序的调试效率。
[0006]综上所述,现有技术中基于调试平台对应用程序进行调试时,会降低对应用程序的调试效率。

【发明内容】

[0007]为了解决现有技术中应用程序的调试效率低的问题,本发明的一个方面提出一种实现硬件平台与软件平台通讯的方法以及装置。
[0008]本发明的一个方面,提出了一种实现硬件平台与软件平台通讯的方法,包括:
[0009]基于第一操作系统的软件平台将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,所述第一操作系统用于为基于所述第二操作系统开发的应用程序的调试平台提供模拟的硬件平台;
[0010]将所述函数库中符合设定条件的函数确定为所述软件平台调用所述应用程序的接口函数;并
[0011]根据所述应用程序支持的通信模式,确定对所述应用程序进行调试时用于所述软件平台与所述硬件平台通信的模拟通讯接口。
[0012]本发明的另一方面,还提供了一种实现硬件平台与软件平台通讯的装置,包括:
[0013]函数库保存单元,用于在具有软件平台的第一操作系统中将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,所述第一操作系统用于为基于所述第二操作系统开发的应用程序的调试平台提供模拟的硬件平台;
[0014]接口函数确定单元,将所述函数库保存单元保存的函数库中符合设定条件的函数确定为所述软件平台调用所述应用程序的接口函数;并
[0015]模拟通讯接口确定单元,用于在所述接口函数确定单元确定所述接口函数后,根据所述应用程序支持的通信模式,确定对所述应用程序进行调试时用于所述软件平台与所述硬件平台通信的模拟通讯接口。
[0016]根据本发明实施例提供的方案,基于第一操作系统的调试平台可以用于模拟调试基于第二操作系统开发的应用程序的硬件平台,并提供软件平台,具体地,基于第一操作系统的软件平台可以将第二操作系统支持的函数库保存至指定的存储地址对应的存储空间,并将函数库中的指定函数确定为基于第一操作系统的调试平台调用应用程序的接口函数,以便基于第一操作系统的调试平台可以通过调用所述接口函数对应用程序进行调试,并建立软件平台与硬件平台的模拟通讯接口,实现硬件平台与软件平台在应用程序调试过程中的通讯,避免了实际的硬件平台对应用程序调试造成的影响,从而可以达到提高对应用程序调试的效率的目的。
【专利附图】

【附图说明】
[0017]附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:
[0018]图1为根据本发明【具体实施方式】例一提供的实现硬件平台与软件平台通讯的方法流程图;
[0019]图2为本发明实施例一提供的确定接口函数的流程示意图;
[0020]图3为本发明实施例一提供的模拟的硬件平台的流程示意图;
[0021]图4为本发明实施例二提供的实现硬件平台与软件平台通讯的流程示意图;
[0022]图5为根据本发明具体实施例三提供实施方式的实现硬件平台与软件平台通讯的装置的结构示意图。
【具体实施方式】
[0023]基于现有技术中调试应用软件效率低的问题,本申请提供了一种实现硬件平台与软件平台通讯的方法以及装置。下面结合附图,对本发明的【具体实施方式】进行详细描述,但应当理解本发明的保护范围并不受【具体实施方式】的限制。
[0024]实施例一[0025]本发明实施例一提供了一种实现硬件平台与软件平台通讯的方法,基于该方法建立的调试平台,对应用程序进行调试时,能够提高对应用程序调试的效率。
[0026]具体地,图1示出了本实施例提供的实现硬件平台与软件平台通讯的流程示意图,如图1所示,实现硬件平台与软件平台通讯的过程,主要包括以下步骤:
[0027]步骤101、基于第一操作系统的软件平台将第二操作系统支持的函数库保存至指定存储地址对应的存储空间。
[0028]该步骤101中,第一操作系统以及第二操作系统可以根据实际的应用环境进行选择,例如,根据建立调试平台的需要,第一操作系统可以为能够提供模拟操作界面的系统,例如Windows系统,实际应用中还可以选择其他操作系统作为第一操作系统以提供调试平台,具体地,可以根据实际需求选择,此处不再赘述;对于第二操作系统,需要根据开发的应用程序所适用的环境进行选择,例如,为了降低开发成本,提高应用程序的开发效率,可以选择源码开放的unix系统,进一步,为了开发应用在嵌入式系统中的应用程序,可以选择常用的Linux系统。实际应用中,第二操作系统也可以根据实际情况进行选择。针对第二操作系统本方案优选Linux系统,针对第一操作系统,本方案优选能够为基于Linux系统开发的应用程序的调试平台提供模拟的硬件平台的Windows系统,实际应用中,可以在Windows系统建立微软基础类库(Microsoft Fundation Classes Library,MFC)工程作为调试平台的软件平台,该MFC工程能够建立模拟的硬件平台。
[0029]步骤102、将第二操作系统支持的函数库中符合设定条件的函数确定为软件平台调用应用程序的接口函数。
[0030]该步骤102中,接口函数可以根据第二操作系统的函数库中的函数的特征确定,具体地,可以将函数库中用于编译应用程序时必须用到且仅出现一次的函数作为接口函数,例如,在C语言数据库中,可以将Main函数作为接口函数,如此,第一操作系统在通过该接口函数调用到应用程序后,可以通过在基于第一操作系统的软件平台上运行应用程序实现对该应用程序的调试。
[0031]步骤103、根据应用程序支持的通信模式,确定对应用程序进行调试时用于软件平台与硬件平台通信的模拟通讯接口。
[0032]该步骤103中,基于应用程序支持的通信模式,软件平台可以利用第一操作系统以及第二操作系统共同具有的通讯接口,确定软件平台与硬件平台的模拟通讯接口。例如,若第一操作系统和第二操作系统支持的通讯接口为串行通行,且串行通信的通信模式相同,则可以直接很据应用程序支持的通信模式确定软件平台与硬件平台的模拟通讯接口 ;若第一操作系统和第二操作系统具有的通讯接口有区别,可以分别在第一操作系统和第二操作系统具有的通讯接口中选择能够实现应用程序支持的通讯模式的通讯接口,并可以根据两个通讯接口的接口类型,进行相应的处理。
[0033]至此,实现硬件平台与软件平台通讯的流程结束。
[0034]在图1对应的流程中,第一操作系统能够为基于第二操作系统开发的应用程序的调试平台提供模拟的硬件平台,并且,基于第一操作系统的软件平台可以将第二操作系统支持的函数库保存在本地指定存储地址对应的存储空间中,将函数库中符合设定条件的函数确定为软件平台调用应用程序的接口函数,从而可以通过该接口函数实现对基于第二操作系统开发的应用程序的调用,继而可以通过运行调用的应用程序实现对应用程序的调试,进一步,可以根据应用程序支持的通信模式,确定软件平台与模拟的硬件平台的模拟通讯接口,实现硬件平台与软件平台在应用程序调试过程中的通讯,从而避免了实际的硬件平台对应用程序调试造成的影响,提高了调试应用程序的效率。
[0035]在图1对应的流程包括的步骤101之后,即基于第一操作系统的软件平台将第二操作系统支持的函数库保存至指定存储地址对应的存储空间之后,可以保存函数库包含的各函数分别与各函数在存储空间中的存储地址的对应关系,即建立在指定存储地址对应的存储空间中获取各函数的路径信息,从而可以根据路径信息获取到需要的函数。实际应用中,软件平台可以利用该路径信息调用到接口函数,并在运行应用程序的过程中,继续调用运行应用程序涉及的函数。
[0036]具体地,软件平台在将函数库存储到指定存储地址对应的存储空间后,可以将该存储地址作为存储在相应存储空间中的函数的存储地址的起始地址,将各函数的存储地址与存储空间对应的存储地址的差值作为各函数的地址信息。如此,软件平台可以在保存函数库后,获取存储空间对应的存储地址以及各函数的地址信息,并建立各函数与各自地址信息的对应关系,从而在运行应用程序时,可以在获取存储空间对应的存储地址后,在需要获取的函数在存储空间的存储地址对应的位置上获取该函数。
[0037]实际应用中,在图1对应的流程包括的步骤102中,即将函数库中符合设定条件的函数确定为软件平台调用应用程序的接口函数中,可以利用函数库包含的各函数分别与各函数在存储空间中的存储地址的对应关系,获取确定出的接口函数的存储地址,并建立获取的地址与存储地址查询函数的对应关系,以便在调用应用程序时,直接查询到接口函数的存储地址,并在查询到的存储地址中获取该接口函数,具体地,如图2所示,确定接口函数的过程,主要包括以下步骤:
[0038]步骤201、确定函数库中用于编译应用程序时必须用到且仅出现一次的函数。
[0039]步骤202、将确定出的函数确定为应用程序的接口函数。
[0040]步骤203、根据函数库包含的各函数分别与各函数在存储空间中的存储地址的对应关系,获取接口函数对应的存储地址。
[0041]步骤204、建立获取的存储地址与存储地址查询函数的对应关系。
[0042]该步骤204中,存储地址查询函数用于查询需要获取的函数对应的存储地址。
[0043]至此,确定接口函数的流程结束。
[0044]在图1对应的流程中,第一操作系统可以为基于第二操作系统开发的应用程序的调试平台提供模拟的硬件平台,具体地,本方案提供了一种第一操作系统提供模拟的硬件平台的优选实施方案。如图3所示,该提供模拟的硬件平台的过程如下:
[0045]步骤301、软件平台根据需要模拟的硬件平台包括的用于显示调试应用程序的调试结果的屏幕的配置,调用编辑控件构建模拟屏幕。
[0046]该步骤301中,软件平台可以提供模拟的屏幕显示调试应用程序的调试结果。实际应用中,嵌入式系统一般采用点阵液晶显示屏,作为应用程序调试过程中人机交互界面,在模拟该点阵液晶显示屏时,可以调用MFC中的编辑(CEdit)控件,定义点阵液晶显示屏的点阵阵列;利用编辑控件的成员函数GetDC ()获取用于实现绘图功能的CDC函数的地址(即⑶C句柄),继而在获取的地址对应的存储空间中采用⑶C函数的成员函数SetPixel实现对显示屏的单像素。[0047]步骤302、调用按钮控件构建需要模拟的硬件平台包括的按键。
[0048]该步骤302中,可以利用按钮控件设置需要模拟的硬件平台包括的按键,并根据需要模拟的硬件平台包括的按键的标识以及功能设置按键信息。
[0049]步骤303、保存构建的按键与需要模拟的硬件平台包括的按键对应的按键函数接口的对应关系。
[0050]该步骤303中,为了实现按键的功能,会保存构建的按键与需要模拟的硬件平台包括的按键对应的按键函数接口的对应关系。实际应用中,可以将构建的按键的按键信息传送至与相应的按键函数接口,实现对应关系的建立。
[0051 ] 至此,提供模拟的硬件平台的流程结束。
[0052]实际应用中,在图3对应的流程包括的步骤301中,在建立模拟屏幕后,还可以采用缓存驱动(例如Framebuffer驱动),在第一操作系统的内存中设置出存储实际的屏幕显示的信息的内存模块,将模拟屏幕与实际屏幕的显示内存的路径信息都设置为预先设置的内存模块的存储地址,使该内存模块提供的信息能够在模拟屏幕和实际的屏幕中显示。
[0053]在此不再对相同或相似内容进行重复描述。
[0054]实施例二
[0055]该实施例二提供了一种实现实施例一提供的实现硬件平台与软件平台通讯的方法的应用场景。具体地,该实施例二中,第一操作系统为Windows系统,第二操作系统为Linux系统,如图3所示,实现硬件平台与软件平台通讯的过程,主要包括以下步骤:
[0056]步骤401、Windows系统中的MFC工程引入CYGWIN,实现保存Linux系统支持的库函数的操作。
[0057]该步骤401中,MFC工程为支持应用程序调试的软件平台,该软件平台能够根据实际调试环境的需要,建立模拟的硬件平台。引入CYGWIN后,MFC工程可以将Linux支持的函数库保存在本地。具体地,MFC利用LoadLibrary将Linux支持的函数库保存至指定的存储空间,实际应用中,可以通过建立函数库对应的动态链接库与指定的存储空间对应的存储地址的对应关系,实现对Linux支持的函数库中函数的调用。
[0058]步骤402、对CYGWIN进行初始化,建立函数库中各函数与各函数在指定的存储空间中的存储地址的对应关系。
[0059]该步骤402中,可以在获取指定的存储空间的地址(即模块句柄)后,对CYGWIN进行初始化,如此将存储空间对应的存储地址作为起始地址,将在该存储空间保存的函数对应的存储地址与起始地址的差值,作为函数的存储地址。如此,函数的存储地址实际为实际存储地址相对确定出的起始地址的差值。实际应用中,在对应用程序调试时,可以利用GetProcAddress查询库函数的存储地址,然后根据需要查询的函数对应的存储地址,在函数库的存储地址对应的存储空间中获取需要查询的函数。
[0060]步骤403、初始化完成后,建立Windows系统与Linux系统之间的接口函数。
[0061]该步骤403中,可以将Main函数作为Linux系统接入Windows系统的接口函数,如此,Windows可以通过该Main函数实现对基于Linux编辑的代码(及应用程序)的调用,继而在调用代码后,实现对该代码的调试。
[0062]步骤404、MFC根据实际的调试环境中硬件平台的配置,建立模拟的硬件平台。
[0063]步骤405、建立与模拟的硬件平台的模拟通讯接口。[0064]该步骤405中,建立的模拟通讯接口时,一方面,可以模拟软件平台与硬件平台支持的通讯接口类型,如串行通讯接口或并行通讯接口 ;一方面还需要通讯接口支持的通讯模式,例如,基于TCP/IP的SOCKET通信。
[0065]至此,实现硬件平台与软件平台通讯的流程结束。
[0066]实施例三
[0067]该实施例三提供了一种与实施例一提供的实现硬件平台与软件平台通讯的方法对应的装置。
[0068]具体地,如图5所示,本发明实施例三提供的实现硬件平台与软件平台通讯的装置的结构示意图,包括:
[0069]函数库保存单元501、接口函数确定单元502以及模拟通讯接口确定单元503,其中:
[0070]函数库保存单元501,用于在具有软件平台的第一操作系统中将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,第一操作系统用于为基于第二操作系统开发的应用程序的调试平台提供模拟的硬件平台;
[0071]接口函数确定单元502,将函数库保存单元501保存的函数库中符合设定条件的函数确定为软件平台调用应用程序的接口函数;并
[0072]模拟通讯接口确定单元503,用于在接口函数确定单元502确定接口函数后,根据应用程序支持的通信模式,确定对应用程序进行调试时用于软件平台与硬件平台通信的模拟通讯接口。
[0073]本发明实施例提供的优选实施方式中,图5所示装置包括的函数库保存单元501,还用于将第二操作系统支持的函数库保存至指定存储地址对应的存储空间之后,保存函数库包含的各函数分别与各函数在存储空间中的存储地址的对应关系。
[0074]本发明实施例提供的优选实施方式中,图5所示装置包括的接口函数确定单元502,具体用于:
[0075]确定函数库中用于编译应用程序时必须用到且仅出现一次的函数;
[0076]将确定出的函数确定为应用程序的接口函数;并
[0077]根据对应关系,获取接口函数对应的存储地址;
[0078]建立获取的存储地址与存储地址查询函数的对应关系,存储地址查询函数用于查询需要获取的函数对应的存储地址。
[0079]如图5所示,本发明实施例提供的优选实施方式中,图5所示装置进一步包括硬件平台模拟单元504,用于:
[0080]在函数库保存单元501保存函数库后,根据需要模拟的硬件平台包括的用于显示调试应用程序的调试结果的屏幕的配置,调用编辑控件构建模拟屏幕;并调用按钮控件构建需要模拟的硬件平台包括的按键,保存构建的按键与需要模拟的硬件平台包括的按键对应的按键函数接口的对应关系。
[0081]本发明实施例提供的优选实施方式中,图5所示装置包括的中的第一操作系统为Windows系统,第二操作系统为源码开放的Linux系统。
[0082]本发明能有多种不同形式的【具体实施方式】,上文结合附图对本发明做举例说明,这并不意味着本发明所应用的【具体实施方式】只能局限在这些特定的【具体实施方式】中,本领域的技术人员应当了解,上文所提供的【具体实施方式】只是多种优选实施方式中的一些示例,任何体现本发明权利要求的【具体实施方式】均应在本发明权利要求所要求保护的范围之内;本领域的技术人员能够对上文各【具体实施方式】中所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换。凡在本发明的精神和原则之内,所作的任何修改、等同替换或者改进等,均应包含在本发明权利要求的保护范围之内。
【权利要求】
1.一种实现硬件平台与软件平台通讯的方法,其特征在于,包括: 基于第一操作系统的软件平台将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,所述第一操作系统用于为基于所述第二操作系统开发的应用程序的调试平台提供模拟的硬件平台; 将所述函数库中符合设定条件的函数确定为所述软件平台调用所述应用程序的接口函数;根据所述应用程序支持的通信模式,确定对所述应用程序进行调试时用于所述软件平台与所述硬件平台通信的模拟通讯接口。
2.根据权利要求1所述的方法,其特征在于,在将第二操作系统支持的函数库保存至指定存储地址对应的存储空间之后,还包括: 保存所述函数库包含的各函数分别与所述各函数在所述存储空间中的存储地址的对应关系。
3.如权利要求2所述的方法,其特征在于,将所述函数库中符合设定条件的函数确定为所述软件平台调用所述应用程序的接口函数,包括: 确定所述函数库中用于编译应用程序时必须用到且仅出现一次的函数; 将确定出的所述函数确定为应用程序的接口函数;并 根据所述对应关系,获取所述接口函数对应的存储地址; 建立获取的存储地址与存储地址查询函数的对应关系,所述存储地址查询函数用于查询需要获取的函数对应的存储地址。
4.根据权利要求1所述的方法,其特征在于,第一操作系统为基于所述第二操作系统开发的应用程序的调试平台提供模拟的硬件平台,包括:` 根据需要模拟的硬件平台包括的用于显示调试应用程序的调试结果的屏幕的配置,调用编辑控件构建模拟屏幕;并 调用按钮控件构建需要模拟的硬件平台包括的按键,保存构建的按键与所述需要模拟的硬件平台包括的按键对应的按键函数接口的对应关系。
5.如权利要求1~4任一权利要求所述的方法,其特征在于,包括: 所述第一操作系统为Windows系统,所述第二操作系统为源码开放的Linux系统。
6.一种实现硬件平台与软件平台通讯的装置,其特征在于,包括: 函数库保存单元,用于在具有软件平台的第一操作系统中将第二操作系统支持的函数库保存至指定存储地址对应的存储空间,所述第一操作系统用于为基于所述第二操作系统开发的应用程序的调试平台提供模拟的硬件平台; 接口函数确定单元,将所述函数库保存单元保存的函数库中符合设定条件的函数确定为所述软件平台调用所述应用程序的接口函数;并 模拟通讯接口确定单元,用于在所述接口函数确定单元确定所述接口函数后,根据所述应用程序支持的通信模式,确定对所述应用程序进行调试时用于所述软件平台与所述硬件平台通信的模拟通讯接口。
7.根据权利要求6所述的装置,其特征在于,所述函数库保存单元,还用于将第二操作系统支持的函数库保存至指定存储地址对应的存储空间之后,保存所述函数库包含的各函数分别与所述各函数在所述存储空间中的存储地址的对应关系。
8.如权利要求7所述的装置,其特征在于,接口函数确定单元,具体用于:确定所述函数库中用于编译应用程序时必须用到且仅出现一次的函数; 将确定出的所述函数确定为应用程序的接口函数;并 根据所述对应关系,获取所述接口函数对应的存储地址; 建立获取的存储地址与存储地址查询函数的对应关系,所述存储地址查询函数用于查询需要获取的函数对应的存储地址。
9.根据权利要求6所述的装置,其特征在于,还包括硬件平台模拟单元,用于: 在所述函数库保存单元保存所述函数库后,根据需要模拟的硬件平台包括的用于显示调试应用程序的调试结果的屏幕的配置,调用编辑控件构建模拟屏幕;并调用按钮控件构建需要模拟的硬件平台包括的按键,保存构建的按键与所述需要模拟的硬件平台包括的按键对应的按键函数接口的对应关系。
10.如权利要求6、任一权利要求所述的装置,其特征在于,所述装置中的所述第一操作系统为Windows 系统,所述第二操作系统为源码开放的Linux系统。
【文档编号】G06F11/36GK103678099SQ201210331370
【公开日】2014年3月26日 申请日期:2012年9月10日 优先权日:2012年9月10日
【发明者】毛永泉, 王顺仁, 鄢志平, 甄国龙 申请人:国网电力科学研究院, 国家电网公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1