一种嵌入式软件开发方法、装置及平台与流程

文档序号:11233826阅读:371来源:国知局
一种嵌入式软件开发方法、装置及平台与流程

本发明涉及嵌入式软件开发领域,特别是指一种嵌入式软件开发方法、装置及平台。



背景技术:

随着物联网技术的发展,嵌入式系统已经成为当前最具发展前途的it领域之一。日常生活中随处可见嵌入式系统的应用,包括手机、智能电视、汽车电子、医疗设备和航空航天设备都是典型的嵌入式系统。随之而来的是,嵌入式软件开发也成为最热门的话题之一。

在传统的嵌入式开发模式中,软件开发者需要准备的硬件有:pc机(带串口)、嵌入式设备例如一块单板、网线、串口线以及可能需要的交换机等,需要准备的软件有:串口终端软件、编译器、集成开发环境、可供下载文件的ftp(filetransferprotocol,文件传输协议)/tftp(trivialfiletransferprotocol,简单文件传输协议)服务器软件、调试器等。进行嵌入式软件开发活动的流程基本包含:搭建开发环境,将单板的串口接入pc机串口,单板的网口接入pc机网口;使用集成开发环境编写程序并编译链接为二进制文件;将二进制文件下载到单板上调试和运行;开发完成后,拆卸环境并归还设备,完成嵌入式软件的开发。

然而,传统的嵌入式软件开发模式存在以下缺点:

(1)软件开发者需要自己搭建环境和组网,需要额外的物理配件资源,并且要花费时间对环境进行调试;

(2)环境的复用程度不高。不同的开发场景搭建的方式可能不同,第二次开发时需要拆卸前一次的环境,然后重复(1)的过程;

(3)成本问题。嵌入式设备类型多样,如果要满足不同的嵌入式应用场景,软件开发者需要购买各类设备,无形中增加了开发成本;

(4)资源利用率不高。同一个开发团队中,可能存在多个开发者共用同一个嵌入式设备的情况,传统的开发模式无法做到有效的分时利用资源。



技术实现要素:

本发明的目的是提供一种嵌入式软件开发方法、装置及平台,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成本。

为达到上述目的,本发明的实施例提供一种嵌入式软件开发方法,包括:

在用户身份验证通过后,获取用户申请的配置信息,所述配置信息包括设备信息、集成开发环境信息、编译器信息和计算资源信息;

根据所述配置信息,通过物理网络接入对应所述设备信息的设备,并对应所述集成开发环境信息、编译器信息和计算资源信息进行相应配置;

根据用户触发的开发指令,调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行对应的软件开发流程。

其中,所述在用户身份验证通过后,获取用户申请的开发信息的步骤,包括:

获取用户在申请界面输入的申请信息;

根据所述申请信息确定配置信息。

其中,所述根据所述配置信息,通过物理网络接入对应所述设备信息的设备,并对应所述集成开发环境信息、编译器信息和计算资源信息进行相应配置的步骤,包括:

根据所述设备信息查询对应的设备;

通过物理网络联通所述设备,并将所述设备串口重定向;

根据所述集成开发环境信息、编译器信息和计算资源信息,分配对应的集成开发环境、编译器和计算资源。

其中,所述开发指令包括编译指令;

相应的,所述根据用户触发的开发指令,调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行对应的软件开发流程的步骤,包括:

根据所述编译指令,调用配置完成的集成开发环境和计算资源;

在用户使用所述集成开发环境和计算资源完成代码编译后,通过所述集成开发环境提供的编译入口调用对应的编译器进行编译链接;

在用户启动设备进行程序运行后,显示所述设备的运行结果。

其中,所述方法还包括:

接收管理员录入的设备信息;

管理对应所述设备信息的设备。

其中,所述设备信息包括体系架构、内存、串口和波特率中的至少一种。

其中,所述集成开发环境是在线集成开发环境webide或安装在虚拟机上的单机版集成开发环境。

为达到上述目的,本发明实施例还提供了一种嵌入式软件开发装置,包括:

获取模块,用于在用户身份验证通过后,获取用户申请的配置信息,所述配置信息包括设备信息、集成开发环境信息、编译器信息和计算资源信息;

第一处理模块,用于根据所述配置信息,通过物理网络接入对应所述设备信息的设备,并对应所述集成开发环境信息、编译器信息和计算资源信息进行相应配置;

第二处理模块,用于根据用户触发的开发指令,调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行对应的软件开发流程。

其中,所述获取模块包括:

获取子模块,用于获取用户在申请界面输入的申请信息;

确定子模块,用于根据所述申请信息确定配置信息。

其中,所述第一处理模块包括:

查询子模块,用于根据所述设备信息查询对应的设备;

接入子模块,用于通过物理网络联通所述设备,并将所述设备串口重定向;

分配子模块,用于根据所述集成开发环境信息、编译器信息和计算资源信息,分配对应的集成开发环境、编译器和计算资源。

其中,所述开发指令包括编译指令;

相应的,所述第二处理模块包括:

第一调用子模块,用于根据所述编译指令,调用配置完成的集成开发环境 和计算资源;

第二调用子模块,用于在用户使用所述集成开发环境和计算资源完成代码编译后,通过所述集成开发环境提供的编译入口调用对应的编译器进行编译链接;

显示子模块,用于在用户启动设备进行程序运行后,显示所述设备的运行结果。

其中,所述装置还包括:

资源录入模块,用于接收管理员录入的设备信息;

设备资源池,用于管理对应所述设备信息的设备。

其中,所述设备信息包括体系架构、内存、串口和波特率中的至少一种。

其中,所述集成开发环境是在线集成开发环境webide或安装在虚拟机上的单机版集成开发环境。

为达到上述目的,本发明的实施例还提供了一种嵌入式软件开发平台,包括如上所述的嵌入式软件开发装置。

本发明的上述技术方案的有益效果如下:

本发明实施例的嵌入式软件开发方法,在用户身份验证通过后,会获取用户申请的配置信息包括设备信息、集成开发环境信息、编译器信息和计算资源信息,根据获取到的配置信息来了解到用户的需求,根据这些信息,利用云功能通过物理网络接入用户申请的设备,对用户申请的集成开发环境、编译器、计算资源进行配置。之后,用户即可触发开发指令来调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行软件开发的流程。实现软硬件资源虚拟化,方便快捷的提供用户进行软件开发工作,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,合理利用资源,降低开发成本。

附图说明

图1为本发明实施例的嵌入式软件开发方法的流程示意图一;

图2为本发明实施例的嵌入式软件开发方法的流程示意图二;

图3为本发明实施例的嵌入式软件开发方法的流程示意图三;

图4为本发明实施例的嵌入式软件开发装置的结构示意图一;

图5为本发明实施例的嵌入式软件开发装置的结构示意图二;

图6为本发明实施例的嵌入式软件开发平台的功能示意图。

具体实施方式

为使本发明要解决的技术问题、技术方案和优点更加清楚,下面将结合附图及具体实施例进行详细描述。

本发明针对现有的软件开发模式存在的调试复杂、环境复用程度低、成本开销大且资源利用率低等问题,提出一种嵌入式软件开发方法,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成本。

如图1所示,本发明实施例的一种嵌入式软件开发方法,包括:

步骤101,在用户身份验证通过后,获取用户申请的配置信息,所述配置信息包括设备信息、集成开发环境信息、编译器信息和计算资源信息;

步骤102,根据所述配置信息,通过物理网络接入对应所述设备信息的设备,并对应所述集成开发环境信息、编译器信息和计算资源信息进行相应配置;

步骤103,根据用户触发的开发指令,调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行对应的软件开发流程。

本发明实施例的嵌入式软件开发方法,应用于相应的嵌入式软件开发平台上。在该平台上用户需要注册,从而当用户登录该平台,平台就会对用户进行身份验证,判断当前用户是否有权限使用该平台。验证通过后,用户才能够使用该平台进行软件开发,针对自己所要使用的设备、集成开发环境、编译器、计算资源进行申请,所以,本发明实施例中,在用户身份验证通过后,会获取用户申请的配置信息,包括设备信息、集成开发环境信息、编译器信息和计算资源信息。该平台通过获取配置信息了解到用户的需求,根据这些信息,通过物理网络接入用户申请的设备,对用户申请的集成开发环境、编译器、计算资源进行配置。之后,用户即可触发开发指令来调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行软件开发的流程。

本发明实施例的嵌入式软件开发方法,基于云计算技术,将嵌入式软件开发所需软硬件资源进行虚拟化,在用户申请时对应进行接入和配置,即可方便快捷的提供用户进行软件开发工作,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成本。

其中,所述设备信息包括体系架构、内存、串口和波特率中的至少一种。当然,设备信息还可以有usb口、网口、硬盘等信息。而集成开发环境信息包括集成开发环境的类型,如在线集成开发环境webide或安装在虚拟机上的单机版集成开发环境。因此,在上述实施例中,所述集成开发环境是在线集成开发环境webide或安装在虚拟机上的单机版集成开发环境。编译器信息主要包括编译器的体系架构,包括但不限于x86、x64、arm、mips和powerpc。需要了解的是,计算资源是用户编译链接嵌入式程序所需要的cpu、内存和存储等资源,计算资源信息可以包括计算资源的类型和大小等。

优选的,为了便于用户申请资源,本发明实施例中,会提供用户一申请界面,用户在该界面进行申请。该申请界面能够展现平台所具有的资源信息,如所具有的嵌入式设备、集成开发环境、编译器和计算资源的各方面信息。用户根据自己的需要和能力进行选择或填写申请信息,来申请自己所需的嵌入式设备、集成开发环境、编译器和计算资源。相应的,步骤101,包括:

步骤1011,获取用户在申请界面输入的申请信息;

步骤1012,根据所述申请信息确定配置信息。

如此,用户可以在申请界面的设备列表中选择x86架构,内存为1g,串口波特率为115200的单板。类似的,也可进行集成开发环境、编译器和计算资源的申请。

由上述内容了解到,在嵌入式软件开发平台的资源中包括了可供用户使用的所有嵌入式设备、集成开发环境、编译器和计算资源,那么,如图2所示,步骤102,根据用户申请的配置信息具体实现开发前的准备包括:

步骤1021,根据所述设备信息查询对应的设备;

步骤1022,通过物理网络联通所述设备,并将所述设备串口重定向;

步骤1023,根据所述集成开发环境信息、编译器信息和计算资源信息, 分配对应的集成开发环境、编译器和计算资源。

在本发明的实施例中,嵌入式软件开发平台的资源是虚拟化的,嵌入式设备资源中会记录嵌入式设备的一些设备信息,并将其提供给用户。当用户申请其中一嵌入式设备时,会输入该嵌入式设备的设备信息,只需将用户输入的设备信息和平台记录的设备信息进行对应查询,来确定用户申请的嵌入式设备。再通过物理网络联通该设备,并将其串口重定向至用户登录嵌入式软件开发平台的浏览器。这样,在北京的用户登录平台也可以使用到该平台下的位于上海的某一嵌入式设备进行软件开发,摆脱了地理位置的限制。集成开发环境、编译器和计算资源则根据用户申请的集成开发环境信息、编译器信息和计算资源信息进行分配。

其中,在确定用户申请的嵌入式设备之后,该设备的串口重定向是根据登录平台的端口确定,不仅限定浏览器,也可以是客户端,在此不一一列举。

此外,对于接入的嵌入式设备,还能实现对其电源管理功能,由用户触发开/关/重启设备,如用户在浏览器登录嵌入式软件开发平台,通过该平台提供的用户界面进行虚拟按键触发。

考虑到资源的有限性以及用户私有性,本发明实施例的方法,在用户申请审批通过后,还会对已分配的嵌入式设备进行标记,计算资源进行私有设置,其他用户在未授权的情况下不能访问,每个设备同时只能被一个用户申请,给提出同样申请的用户分配其他资源,提升了效率和资源私有性。

众所周知,在嵌入式软件开发中,软件开发流程需要一系列的工作,其中编辑程序并将其应用在嵌入式设备上进行测试是一重要过程,在本发明实施例中,开发指令是指用户软件开发流程的对应启动指令,所述开发指令包括编译指令;

相应的,如图3所示,步骤103,包括:

步骤1031,根据所述编译指令,调用配置完成的集成开发环境和计算资源;

步骤1032,在用户使用所述集成开发环境和计算资源完成代码编译后,通过所述集成开发环境提供的编译入口调用对应的编译器进行编译链接;

步骤1033,在用户启动设备进行程序运行后,显示所述设备的运行结果。

具体的,用户可通过用户界面触发编译指令,调用用户申请的集成开发环境和计算资源提供给用户,以便用户使用集成开发环境和计算资源完成代码编译,然后通过集成开发环境提供的编译入口调用对应的编译器进行编译链接,将编写的程序编译链接为对应嵌入式设备上可运行的二进制文件。用户再通过用户界面触发设备电源管理按钮启动嵌入式设备,二进制文件下载到嵌入式设备上,由于串口的重定向到浏览器,在浏览器提供的串口界面运行程序,查看程序运行结果。如果程序运行结果与预期不符,用户可以使用集成开发环境的调试功能,对程序进行交叉调试,调试过程在此不再赘述。

上述内容描述了用户使用嵌入式开发平台,通过本发明实施例的嵌入式开发方法进行x86用户态程序开发的过程。但是本领域技术人员应该了解,本发明同样适用于对嵌入式开发过程中涉及到boot、驱动、内核以及内核模块进行开发和调试,区别仅在单板上电、二进制文件的类型和下载时机以及集成开发环境调试时的模式不同而已。

另外,在本发明上述实施例的基础上,由于设备资源需要在应用的平台上进行存储记录并管理,因此,所述方法还包括:

步骤104,接收管理员录入的设备信息;

步骤105,管理对应所述设备信息的设备。

管理员在平台初始化成功之后,要进行基础信息配置,配置好各类资源所处的网络,保证网络互通。另外管理员还可以进行用户的分组、权限设置等。之后,将嵌入式设备按预设置的规则接入,当然,此时的接入并不联通,只是保证网络、串口重定向和电源管理正确接线,管理员再将这些嵌入式设备的设备信息录入。平台接收管理员录入的设备信息,将其存储,来管理这些设备,如在用户申请时快速方便的进行审批,为用户分配对应的设备,又或者在设备运行程序后对其运行结果进行显示。

除了初始化之后,在新添加设备或设备升级等情况下,管理员也能够修改和录入新的设备信息,平台接收新的设备信息进行更新和存储。

综上所述,本发明实施例的嵌入式软件开发方法,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成 本。

图4是本发明一个实施例的嵌入式软件开发装置的框图,包括:

获取模块401,用于在用户身份验证通过后,获取用户申请的配置信息,所述配置信息包括设备信息、集成开发环境信息、编译器信息和计算资源信息;

第一处理模块402,用于根据所述配置信息,通过物理网络接入对应所述设备信息的设备,并对应所述集成开发环境信息、编译器信息和计算资源信息进行相应配置;

第二处理模块403,用于根据用户触发的开发指令,调用配置的集成开发环境、编译器和计算资源,通过已接入的设备,进行对应的软件开发流程。

具体的,如图5所示,述获取模块401包括:

获取子模块4011,用于获取用户在申请界面输入的申请信息;

确定子模块4012,用于根据所述申请信息确定配置信息。

其中,所述第一处理模块402包括:

查询子模块4021,用于根据所述设备信息查询对应的设备;

接入子模块4022,用于通过物理网络联通所述设备,并将所述设备串口重定向;

分配子模块4023,用于根据所述集成开发环境信息、编译器信息和计算资源信息,分配对应的集成开发环境、编译器和计算资源。

其中,所述开发指令包括编译指令;

相应的,所述第二处理模块403包括:

第一调用子模块4031,用于根据所述编译指令,调用配置完成的集成开发环境和计算资源;

第二调用子模块4032,用于在用户使用所述集成开发环境和计算资源完成代码编译后,通过所述集成开发环境提供的编译入口调用对应的编译器进行编译链接;

显示子模块4033,用于在用户启动设备进行程序运行后,显示所述设备的运行结果。

其中,所述装置还包括:

资源录入模块404,用于接收管理员录入的设备信息;

设备资源池405,用于管理对应所述设备信息的设备。

其中,所述设备信息包括体系架构、内存、串口和波特率中的至少一种。

其中,所述集成开发环境是在线集成开发环境webide或安装在虚拟机上的单机版集成开发环境。

本发明实施例的嵌入式软件开发装置,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成本。

需要说明的是,本发明实施例的嵌入式软件开发装置是应用了上述嵌入式软件开发方法的装置,上述嵌入式软件开发方法的实现方式适用于该装置,也能达到相同的技术效果。

本发明的实施例还提供了一种嵌入式软件开发平台,包括如上所述的嵌入式软件开发装置。

本发明实施例的嵌入式软件开发平台,如图6所示,由于基础云平台提供了用户界面、管理员界面、计算资源管理、网络管理、嵌入式设备管理及集成开发环境管理等,在基础云平台的基础上,实现通过用户客户端/浏览器与用户的交互;接收资源录入,以备用户申请使用;通过设备资源池对录入的所有嵌入式设备进行管理,包括但不限于物理单板、仿真单板、手机;在用户申请成功后,将嵌入式设备接入联通;提供给用户所需的集成开发环境;提供给用户所需的编译器;提供给用户所需的计算资源等功能。

该嵌入式软件开发平台,通过对所有资源统一配置和管理,降低嵌入式开发环境搭建的复杂度,对开发团队内部资源进行有效整合和管理,减少嵌入式开发的资源限制,实现资源的合理利用,降低开发成本。而且该平台可以部署在企业内部,作为企业私有云,也可部署在网络上,作为公有云平台。

需要说明的是,本发明实施例的嵌入式软件开发平台也是应用了上述嵌入式软件开发方法的平台,上述嵌入式软件开发方法的实现方式适用于该平台,也能达到相同的技术效果。

应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本发明的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指 相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。实施例是参考附图来描述的,许多不同的形式和实施例是可行而不偏离本发明精神及教示,因此,本发明不应被建构成为在此所提出实施例的限制。更确切地说,这些实施例被提供以使得本发明是完善又完整,且会将本发明范围传达给本领域技术人员。在此所使用的术语只是基于描述特定实施例目的,并无意成为限制用。如在此所使用的,除非该内文清楚地另有所指,否则该单数形式“一”、“一个”和“该”是意欲将该些多个形式也纳入。会进一步了解到该些术语“包含”及/或“包括”在使用于本说明书时,表示所述特征、步骤及/或操作的存在,但不排除一或更多其它特征、步骤及/或操作其族群的存在或增加。除非另有所示,陈述时,一值范围包含该范围的上下限及其间的任何子范围。

以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明所述原理的前提下,还可以作出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

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