CN111552466A - 工程文件生成方法、系统、计算机设备及存储介质 - Google Patents

工程文件生成方法、系统、计算机设备及存储介质 Download PDF

Info

Publication number
CN111552466A
CN111552466A CN202010398636.1A CN202010398636A CN111552466A CN 111552466 A CN111552466 A CN 111552466A CN 202010398636 A CN202010398636 A CN 202010398636A CN 111552466 A CN111552466 A CN 111552466A
Authority
CN
China
Prior art keywords
file
engineering
analysis result
terminal
generating
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
CN202010398636.1A
Other languages
English (en)
Other versions
CN111552466B (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.)
Chongqing University of Science and Technology
Original Assignee
Chongqing University of Science and Technology
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 Chongqing University of Science and Technology filed Critical Chongqing University of Science and Technology
Priority to CN202010398636.1A priority Critical patent/CN111552466B/zh
Publication of CN111552466A publication Critical patent/CN111552466A/zh
Application granted granted Critical
Publication of CN111552466B publication Critical patent/CN111552466B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)

Abstract

本方案涉及一种工程文件生成方法。所述方法包括:服务器接收终端发送的工程文件生成请求;根据工程文件生成请求查找资源列表,并将资源列表发送给终端;终端从服务器中获取资源列表并展示,获取根据资源列表所确定的文件标签,并将文件标签发送至服务器;服务器根据文件标签生成文件解析结果,并将文件解析结果发送至终端;终端获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。使用者只需对硬件资源进行配置,选择不同的工程类别、需要的代码和函数接口,最终生成全量工程或者应用层工程,最后编译成固件代码,烧录到单片机中,可以提高嵌入式软件开发的效率。

Description

工程文件生成方法、系统、计算机设备及存储介质
技术领域
本发明涉及计算机技术领域,特别是涉及一种工程文件生成方法、系统、计算机设备及存储介质。
背景技术
随着计算机技术的不断发展,计算机设备呈现爆发式增长。在计算机技术中,通过单片机进行嵌入式开发是核心,在使用单片机的过程中,由于程序工程庞大、操作较为复杂,例如平时使用较多的HAL库,函数众多,即使是操作寄存器也要对众多寄存器进行操作配置。单片机的软件开发大多使用的是Windows系统下集成的开发环境(IntegratedDevelopment Environment,简称IDE)来进行开发的,IDE的图形界面操作方便快捷。由于单片机的型号多种多样,因此需要单片机的软件系统兼容不同型号的单片机。目前解决单片机软件系统兼容不同单片机的方法,最主要的还是采用多种类型单片机同时开发的模式,其中底层驱动独立开发,应用层根据单片机的特点进行移植。
在进行程序驱动时,由于物联网传感器众多,驱动程序也很多,再加上一些通信协议以及其它代码,编译出来的固件非常大,降低了软件开发的效率。
发明内容
基于此,为了解决上述技术问题,提供一种工程文件生成方法、系统、计算机设备及存储介质,可以提高嵌入式软件开发的效率。
一种工程文件生成方法,所述方法包括:
从服务器中获取资源列表并展示所述资源列表;
获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
在其中一个实施例中,所述工程开发类别包括应用层开发类别、全量工程开发类别;
所述根据所述工程开发类别以及所述文件解析结果,生成工程文件,包括:
当所述工程开发类别为应用层开发类别时,提取所述应用层开发类别中的硬件驱动层代码、应用层代码;
建立所述硬件驱动层代码与所述应用层代码之间、以及所述应用层代码与所述应用层代码之间的函数调用关系;
根据所述函数调用关系以及所述文件解析结果,生成工程文件。
在其中一个实施例中,所述根据所述工程开发类别以及所述文件解析结果,生成工程文件,包括:
当所述工程开发类别为应用层开发类别时,利用增量升级配置完成所述硬件驱动层与所述应用层之间的函数调用关系;
根据所述函数调用关系以及所述文件解析结果,生成包含有固件层工程和应用层工程的工程文件;
当所述工程开发类别为全量工程开发类别时,根据所述文件解析结果生成工程文件。
在其中一个实施例中,所述方法还包括:
获取工作模式;
当所述工作模式为在线模式时,与所述服务器建立连接;
当所述工作模式为离线模式时,采集文件标签,并查找与所述文件标签对应的离线文件解析结果,根据所述离线文件解析结果生成所述工程文件。
一种工程文件生成方法,所述方法包括:
接收终端发送的工程文件生成请求;
根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
在其中一个实施例中,所述根据所述文件标签生成文件解析结果,包括:
获取文件解析数据库;
根据所述文件解析数据库对所述文件标签进行识别,并得到识别结果;
将所述识别结果发送至所述终端,并获取所述终端根据所述识别结果返回的配置数据;
根据所述配置数据生成所述文件解析结果。
一种工程文件生成系统,所述系统包括:
列表获取模块,用于从服务器中获取资源列表并展示所述资源列表;
文件标签生成模块,用于获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
结果展示模块,用于接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
工程文件生成模块,用于获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
一种工程文件生成系统,所述系统包括:
请求接收模块,用于接收终端发送的工程文件生成请求;
列表查找模块,用于根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
结果生成模块,用于获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
从服务器中获取资源列表并展示所述资源列表;
获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
接收终端发送的工程文件生成请求;
根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
从服务器中获取资源列表并展示所述资源列表;
获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
接收终端发送的工程文件生成请求;
根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
上述工程文件生成方法、系统、计算机设备及存储介质,服务器接收终端发送的工程文件生成请求;根据工程文件生成请求查找资源列表,并将资源列表发送给终端;终端从服务器中获取资源列表并展示,获取根据资源列表所确定的文件标签,并将文件标签发送至服务器;服务器根据文件标签生成文件解析结果,并将文件解析结果发送至终端;终端获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。使用者只需对硬件资源进行配置,选择不同的工程类别、需要的代码和函数接口,最终生成全量工程或者应用层工程,最后编译成固件代码,烧录到单片机中,可以提高软件开发的效率。
附图说明
图1为一个实施例中工程文件生成方法的应用环境图;
图2为一个实施例中工程文件生成方法的流程示意图;
图3为一个实施例中源代码目录结构图;
图4为另一个实施例中工程文件生成方法的流程示意图;
图5为一个实施例中工程文件生成系统的结构框图;
图6为另一个实施例中工程文件生成系统的结构框图;
图7为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
本申请实施例提供的工程文件生成方法,可以应用于如图1所示的应用环境中。如图1所示,该应用环境包括计算机设备,计算机设备可以包括终端110、服务器120。其中,终端110可以分为外围设备端112、用户终端114以及平台维护端116。终端110可以与服务器120进行通信。服务器120接收终端110发送的工程文件生成请求;根据工程文件生成请求查找资源列表,并将资源列表发送给终端110;终端110从服务器120中获取资源列表并展示,获取根据资源列表所确定的文件标签,并将文件标签发送至服务器120;服务器120根据文件标签生成文件解析结果,并将文件解析结果发送至终端110;终端110获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。其中,终端110可以但不限于是各种个人计算机、笔记本电脑、平板电脑等。服务器120可以是单个服务器,还可以是服务器集群。
在一个实施例中,如图2所示,提供了一种工程文件生成方法,包括以下步骤:
步骤202,从服务器中获取资源列表并展示资源列表。
其中,资源列表可以用于表示单片机的资源列表,可以包括单片机硬件资源列表和外围设备资源列表。资源列表可以存储在服务器中,终端可以与服务器建立连接,从而从服务器中获取单片机硬件资源列表和外围设备资源列表。
终端获取到资源列表后,可以在显示屏中展示资源列表。具体的,终端可以根据预先设置好的展示方式来显示资源列表。
步骤204,获取根据资源列表所确定的文件标签,并将文件标签发送至服务器。
终端的显示屏中显示了资源列表后,使用者可以根据显示屏中显示的内容选择文件标签。其中,文件标签可以包括使用者选择的底层驱动接口、操作系统、外围设备驱动代码、工程开发类别,还可以包括使用者选择的下载文件的形式,例如,源代码、lib库文件和bin执行文件的形式。
终端可以获取使用者根据展示出来的资源列表所选择的文件标签,并将文件标签发送到服务器。
步骤206,接收服务器根据文件标签返回的文件解析结果,并展示文件解析结果。
服务器接收到终端发送的文件标签后,可以查找与文件标签对应的文件,并对文件进行解析,从而得到文件解析结果。例如,服务器根据文件标签查找到的文件是.pdsc文件,服务器可以通过解析XML的算法解析其中的内容,并提取里面的所有单片机型号、硬件资源以及其它信息,从而将提取的所有信息作为文件解析结果。服务器可以将文件解析结果发送至终端,终端可以在显示屏中展示文件解析结果,供使用者选择。
具体的,在离线模式下,服务器中得到的文件解析结果可以是单片机信息的返回结果。使用者在使用终端获取服务器中单片机信息的返回结果时,使用者可以指定Keil开发软件的路径,通过Keil开发环境的路径为基址,终端可以通过相对路径寻找用户单片机支持包的安装路径,若未找到,则需要使用者指定支持包的路径,否则需要重新安装路径;若找到支持包路径,则读取支持包根目录下的.pdsc文件;读取到.pdsc文件,通过解析XML的算法解析其中的内容,提取里面的所有单片机型号,并在终端显示屏展示,用于使用者选择;使用者选择了单片机后,终端的显示屏上可以详细显示单片机的硬件资源。
步骤208,获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。
举例说明,工程开发类别可以是应用层开发类别,还可以是全量工程开发类别。终端可以获取使用者选择的工程开发类别,从而根据工程开发类别以及文件解析结果,生成工程文件。具体的,终端可以获取使用者选择的代码以及工程开发类别,终端可以利用增量升级自动配置完成工程开发类别的函数调用关系,使用者点击确认保存后,终端可以生成工程文件。具体的,终端可以根据工程类别决定是否利用增量升级自动配置完成不同开发类别的函数调用关系,使用者可以通过点击代码生成工程文件,终端可以在离线模式下本地生成工程文件,或者在线模式下通过服务器生成代码工程,然后下载到本地终端。生成的工程文件可以是全量工程文件,而生成的代码可以保存在独立空间中,并对生成的代码进行加密,使得使用者只能阅读和复制,不能对其内容进行修改。若要修改代码,可以通过拷贝其中的代码,用一个新的文件进行替换。
在本实施例中,通过服务器接收终端发送的工程文件生成请求;根据工程文件生成请求查找资源列表,并将资源列表发送给终端;终端从服务器中获取资源列表并展示,获取根据资源列表所确定的文件标签,并将文件标签发送至服务器;服务器根据文件标签生成文件解析结果,并将文件解析结果发送至终端;终端获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。使用者只需对硬件资源进行配置,选择不同的工程类别、需要的代码和函数接口,最终生成全量工程或者应用层工程,最后编译成固件代码,烧录到单片机中,可以提高嵌入式软件开发的效率。
在一个实施例中,硬件厂商和使用者必须注册一个账号来实现本方案的工程文件生成方法。其中对于硬件厂商来说,可以实现硬件驱动代码和技术文档的更新和增添;对于使用者而言,主要是下载最新的驱动代码,解决驱动程序的一些BUG或者增添新的功能;其中厂商更新或增添的硬件驱动代码必须采用开发工具的统一标准接口,并且需要在配置文件中添加完成该驱动程序应用到的接口,便于使用者在选择该驱动程序时同时选中接口代码,避免造成代码的不完整或者添加过多;其中硬件驱动代码厂商有权设置源代码是否公开。使用者可以将服务器上最新的底层和外围设备代码下载到本地;终端可以根据使用者的选择直接生成bin文件固件或者不生成bin文件固件。使用者可以根据实际需求,选择相关的代码,例如与操作系统相关代码、定时器相关代码、传感器驱动代码等。
硬件驱动代码厂商可以通过终端的显示屏选择相应的底层代码并从平台下载标准接口代码和技术文档,根据文档完成硬件驱动的开发和测试,上传驱动源代码和技术文档。
在一个实施例中,平台服务商或者专门的维护服务器的人员可以预先完成单片机所有底层程序的设计,形成不同的.c和.h文件代码,其中,代码可以按照下面方式组织:
如图3所示,平台服务商或者专门的维护服务器的人员可以首先按照图3文件目录结构创建文件目录,将目录分为两大类,即与MCU有关的MCU驱动目录、以及与MCU无关的外围设备HARDWARE目录。与MCU有关的MCU驱动目录下,根据MCU不同的系列和型号又分成三级和四级目录,而五级目录文件夹里又以单片机硬件驱动名称的形式保存文件代码,例如IO口、串口、IIC、定时器、外部中断、PWM、USB、IIS、看门狗等直接与单片机有关的代码,并以硬件驱动名称的英文名称作为五级文件夹的名称,在每一个五级文件夹中只包含一个.c和.h文件和PDF使用说明文档。与MCU无关的外围设备HARDWARE目录中的二级目录根据实际情况调整,三级目录用于区分不同的外围设备的类型名称,例如OLED、GPS、LCD等,在四级目录中将以外围设备厂商的ID区分不同的商家,五级目录中则保存商家的源代码和使用说明文档。
在一个实施例中,提供的一种工程文件生成方法还可以包括生成工程文件的过程,具体过程包括:当工程开发类别为应用层开发类别时,提取应用层开发类别中的硬件驱动层代码、应用层代码;建立硬件驱动层代码与应用层代码之间、以及应用层代码与应用层代码之间的函数调用关系;根据函数调用关系以及文件解析结果,生成工程文件。其中,文件解析结果中可以包含有配置文件解析结果、用户选择的源代码文件。
应用层开发类别可以将硬件驱动层和应用层分离为多个工程,其中应用层可以分离为至少一个工程,将多个工程保存在一个工作空间,多个工程互不影响。当工程开发类别为应用层开发类别时,终端可以提取应用层开发类别中的硬件驱动层、应用层;建立硬件驱动层与应用层之间、以及应用层代码与应用层代码之间的函数调用关系,从而根据函数调用关系以及配置文件解析结果,生成工程文件。
在另一个实施例中,提供的一种工程文件生成方法还可以包括生成工程文件的过程,具体过程包括:当工程开发类别为应用层开发类别时,利用增量升级配置完成硬件驱动层与应用层之间的函数调用关系;根据函数调用关系以及文件解析结果,生成包含有固件层工程和应用层工程的工程文件;当工程开发类别为全量工程开发类别时,根据文件解析结果生成工程文件。
当工程开发类别为应用层开发类别时,终端可以利用增量升级配置完成硬件驱动层与应用层之间的函数调用关系,从而生成包含有固件层工程和应用层工程的工程文件;当工程开发类别为全量工程开发类别时,驱动层和应用层都集中在一个工程中,不需要建立函数调用关系,终端可以直接生成工程文件。
在一个实施例中,提供的一种工程文件生成方法还可以包括:获取工作模式;当工作模式为在线模式时,与服务器建立连接;当工作模式为离线模式时,采集文件标签,并查找与文件标签对应的离线文件解析结果,根据离线文件解析结果生成工程文件。
其中,工作模式可以用于表示终端的工作模式。工作模式可以包括在线模式、离线模式。终端可以获取自身的工作模式,并判断自身的工作模式是在线模式还是离线模式。当终端得到的判断结果是在线模式时,终端可以与服务器连接,从服务器中获取资源列表并展示供使用者选择文件标签,从而返回文件解析结果,生成工程文件。例如,服务器返回的文件解析结果可以是单片机型号、硬件资源以及其它一些信息,使用者可以选择单片机型号以及单片机功能,终端可以根据使用者的选择生成工程文件。其中,当工作模式为在线模式时,代码资源可以事先由用户通过终端从服务器下载。
当终端的工作模式是离线模式时,终端中可以保存有在线模式时下载的文件标签以及与文件标签对应的离线文件解析结果。终端处于离线模式时,代码的构建可以在终端执行;终端处于在线模式时,代码的构建可以在服务器中执行。终端可以根据离线文件解析结果生成工程文件。其中,当工作模式为离线模式时,代码资源可以由终端生成。
如图4所示,在一个实施例中,提供了一种工程文件生成方法,包括以下步骤:
步骤402,接收终端发送的工程文件生成请求。
其中,工程文件生成请求可以是终端根据使用者的触发所生成的,终端接收到工程文件生成请求后,可以将工程文件生成请求发送给服务器。即,服务器可以接收终端发送的工程文件生成请求。
步骤404,根据工程文件生成请求查找资源列表,并将资源列表发送给终端。
资源列表可以用于表示单片机的资源列表,可以包括单片机硬件资源列表和外围设备资源列表。资源列表可以存储在服务器中,服务器可以在接收到工程文件生成请求后,查找资源列表,由于终端与服务器建立了连接,服务器可以将资源列表发送给终端。
步骤406,获取终端返回的文件标签,根据文件标签生成文件解析结果,并将文件解析结果发送至终端,终端根据文件解析结果生成工程文件。
服务器将资源列表发送给终端后,终端可以向服务器返回文件标签。文件标签可以包括使用者选择的底层驱动接口、操作系统、外围设备驱动代码,还可以包括使用者选择的下载文件的形式,例如,源代码、lib库文件和bin执行文件的形式。
服务器可以根据文件标签查找对应的工程文件,并对查找到的工程文件进行解析,从而生成文件解析结果。服务器可以将生成的文件解析结果发送给终端,由终端根据文件解析结果生成工程文件。
在本个实施例中,由于生成的工程文件的资源文件比较庞大,在在线模式下,根据文件解析结果,可以在服务器直接生成工程文件;而在离线模式下,终端需要下载很多资源包,需要生成工程文件时,才能从资源包中搜索数据。具体的,终端可以发出文件生成请求;再根据工程文件生成请求查找本地资源列表,生成文件标签,并解析标签生成文件解析结果;终端可以根据文件解析结果和工程开发类别生成工程文件。
在一个实施例中,服务器可以通过ini配置文件或者.pdsc文件进行识别,其中通过ini配置文件进行识别是由平台服务商或者专门的维护服务器的人员根据单片机实际参数,用XML标记文本填充单片机详细信息;通过.pdsc文件进行识别是直接解析.pdsc文件,解析单片机的详细信息。服务器可以获取HARDWARE路径下的全部三级目录文件夹名,并将这些文件名代号与一级目录中ini配置文件中的代号与文件夹名称进行匹配,识别出外围设备名称。服务器可以将单片机详细信息传输到终端,并等待使用者通过终端上传配置数据。其中,配置数据可以包含:单片机型号、选择的外围设备、单片机硬件资源、操作系统信息、后期增加的代码信息。
在一个实施例中,提供的一种工程文件生成方法还可以包括生成文件解析结果的过程,具体过程包括:获取文件解析数据库;根据文件解析数据库对文件标签进行识别,并得到识别结果;将识别结果发送至终端,并获取终端根据识别结果返回的配置数据;根据配置数据生成文件解析结果。
在一个实施例中,服务器可以根据配置信息中的外围设备信息,将这些信息与HARDWARE一级目录中的.ini文件中的名称与代号的信息匹配,记录每一个外围设备.c和.h文件名称,假设其保存在info数据缓存区中。服务器可以将info中的文件名称与.ini文件中该文件引用其它代码的情况进行匹配,并将匹配到的代码名称添加到info数据段后面,从而完成单片机资源、操作系统、以及其它代码名称的匹配,并将其保存在info数据缓冲区中。完成全部代码名称的匹配后,服务器可以采用筛选算法,将info中存在重复的代码名称全部删除,根据info中剩下的文件名称再与.ini文件中每个代码名称的地址进行匹配,完成所有代码路径的关联。
在一个实施例中,服务器可以根据厂家端的请求,将识别的底层代码工程打包传回厂家端,在厂家需要增添新的驱动代码到服务器时,服务器首先会完成当前服务器的全部外围设备类型,并这些信息传回厂家端,厂家端根据传回的设备分类,选择相应的类型进行上传,若是服务器中没有的类型,则进行标记,同时将有厂家新更新代码消息推送给平台维护端;若是代码的更新,则与新代码进行不同的标记,同时推送平台消息。当平台维护端将新代码和更新代码经过测试,不存在问题时,则加入到服务器代码库中。
若是服务器代码库中没有代码,则读取.c和.h文件中的引用其它代码的情况,将引用的代码写入到HARDWARE根目录的.ini配置文件中,同时为其按照目录结构为其分配一个文件名称、代号和路径,服务器可以按照创建的文件名称、代号和路径,将代码保存到该路径;若新添加到的代码是服务器中没有的代码,则根据平台维护端指定的名称,将其写入HARDWARE根目录的.ini配置文件中,同时创建一个新的设备类型文件夹,然后将代码保存到指定目录;若是厂家更新的代码,则直接根据HARDWARE根目录的.ini配置文件的信息,将更新代码与旧代码进行替换;若是平台维护端底层代码更新,则在MCU目录下进行替换;若是平台维护端则在MCU目录下进行增添。
应该理解的是,虽然上述各个流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,上述各个流程图中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
在一个实施例中,如图5所示,提供了一种工程文件生成系统,包括:列表获取模块510、文件标签生成模块520、结果展示模块530和工程文件生成模块540,其中:
列表获取模块510,用于从服务器中获取资源列表并展示资源列表。
文件标签生成模块520,用于获取根据资源列表所确定的文件标签,并将文件标签发送至服务器。
结果展示模块530,用于接收服务器根据文件标签返回的文件解析结果,并展示文件解析结果。
工程文件生成模块540,用于获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。
在一个实施例中,工程文件生成模块540还用于当工程开发类别为应用层开发类别时,提取应用层开发类别中的硬件驱动层代码、应用层代码;建立硬件驱动层代码与应用层代码之间、以及应用层代码与应用层代码之间的函数调用关系;根据函数调用关系以及文件解析结果,生成工程文件。
在一个实施例中,工程文件生成模块540还用于当工程开发类别为应用层开发类别时,利用增量升级配置完成硬件驱动层与应用层之间的函数调用关系;根据函数调用关系以及文件解析结果,生成包含有固件层工程和应用层工程的工程文件;当工程开发类别为全量工程开发类别时,根据文件解析结果生成工程文件。
在一个实施例中,工程文件生成模块540还用于获取工作模式;当工作模式为在线模式时,与服务器建立连接;当工作模式为离线模式时,采集文件标签,并查找与文件标签对应的离线文件解析结果,根据离线文件解析结果生成工程文件。
在一个实施例中,如图6所示,提供了一种工程文件生成系统,包括:请求接收模块610、列表查找模块620和结果生成模块630,其中:
请求接收模块610,用于接收终端发送的工程文件生成请求。
列表查找模块620,用于根据工程文件生成请求查找资源列表,并将资源列表发送给终端。
结果生成模块630,用于获取终端返回的文件标签,根据文件标签生成文件解析结果,并将文件解析结果发送至终端,终端根据文件解析结果生成工程文件。
在一个实施例中,结果生成模块630还用于获取文件解析数据库;根据文件解析数据库对文件标签进行识别,并得到识别结果;将识别结果发送至终端,并获取终端根据识别结果返回的配置数据;根据配置数据生成文件解析结果。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,还可以是服务器,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、网络接口和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端或者服务器通过网络连接通信。该计算机程序被处理器执行时以实现一种工程文件生成方法。该计算机设备的输入装置可以是触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
本领域技术人员可以理解,图7中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
从服务器中获取资源列表并展示资源列表;
获取根据资源列表所确定的文件标签,并将文件标签发送至服务器;
接收服务器根据文件标签返回的文件解析结果,并展示文件解析结果;
获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当工程开发类别为应用层开发类别时,提取应用层开发类别中的硬件驱动层代码、应用层代码;建立硬件驱动层代码与应用层代码之间、以及应用层代码与应用层代码之间的函数调用关系;根据函数调用关系以及文件解析结果,生成工程文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:当工程开发类别为应用层开发类别时,利用增量升级配置完成硬件驱动层与应用层之间的函数调用关系;根据函数调用关系以及所文件解析结果,生成包含有固件层工程和应用层工程的工程文件;当工程开发类别为全量工程开发类别时,根据文件解析结果生成工程文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取工作模式;当工作模式为在线模式时,与服务器建立连接;当工作模式为离线模式时,采集文件标签,并查找与文件标签对应的离线文件解析结果,根据离线文件解析结果生成工程文件。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现以下步骤:
接收终端发送的工程文件生成请求;
根据工程文件生成请求查找资源列表,并将资源列表发送给终端;
获取终端返回的文件标签,根据文件标签生成文件解析结果,并将文件解析结果发送至终端,终端根据文件解析结果生成工程文件。
在一个实施例中,处理器执行计算机程序时还实现以下步骤:获取文件解析数据库;根据文件解析数据库对文件标签进行识别,并得到识别结果;将识别结果发送至终端,并获取终端根据识别结果返回的配置数据;根据所配置数据生成文件解析结果。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
从服务器中获取资源列表并展示资源列表;
获取根据资源列表所确定的文件标签,并将文件标签发送至服务器;
接收服务器根据文件标签返回的文件解析结果,并展示文件解析结果;
获取工程开发类别,根据工程开发类别以及文件解析结果,生成工程文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当工程开发类别为应用层开发类别时,提取应用层开发类别中的硬件驱动层代码、应用层代码;建立硬件驱动层代码与应用层代码之间、以及应用层代码与应用层代码之间的函数调用关系;根据函数调用关系以及文件解析结果,生成工程文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:当工程开发类别为应用层开发类别时,利用增量升级配置完成所硬件驱动层与应用层之间的函数调用关系;根据函数调用关系以及所文件解析结果,生成包含有固件层工程和应用层工程的工程文件;当工程开发类别为全量工程开发类别时,根据文件解析结果生成工程文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取工作模式;当工作模式为在线模式时,与服务器建立连接;当工作模式为离线模式时,采集文件标签,并查找与文件标签对应的离线文件解析结果,根据离线文件解析结果生成工程文件。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现以下步骤:
接收终端发送的工程文件生成请求;
根据工程文件生成请求查找资源列表,并将资源列表发送给终端;
获取终端返回的文件标签,根据文件标签生成文件解析结果,并将文件解析结果发送至终端,终端根据文件解析结果生成工程文件。
在一个实施例中,计算机程序被处理器执行时还实现以下步骤:获取文件解析数据库;根据文件解析数据库对文件标签进行识别,并得到识别结果;将识别结果发送至终端,并获取终端根据识别结果返回的配置数据;根据所配置数据生成文件解析结果。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种工程文件生成方法,其特征在于,所述方法包括:
从服务器中获取资源列表并展示所述资源列表;
获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
2.根据权利要求1所述的方法,其特征在于,所述工程开发类别包括应用层开发类别、全量工程开发类别;
所述根据所述工程开发类别以及所述文件解析结果,生成工程文件,包括:
当所述工程开发类别为应用层开发类别时,提取所述应用层开发类别中的硬件驱动层代码、应用层代码;
建立所述硬件驱动层代码与所述应用层代码之间、以及所述应用层代码与所述应用层代码之间的函数调用关系;
根据所述函数调用关系以及所述文件解析结果,生成工程文件。
3.根据权利要求2所述的方法,其特征在于,所述根据所述工程开发类别以及所述文件解析结果,生成工程文件,包括:
当所述工程开发类别为应用层开发类别时,利用增量升级配置完成所述硬件驱动层与所述应用层之间的函数调用关系;
根据所述函数调用关系以及所述文件解析结果,生成包含有固件层工程和应用层工程的工程文件;
当所述工程开发类别为全量工程开发类别时,根据所述文件解析结果生成工程文件。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取工作模式;
当所述工作模式为在线模式时,与所述服务器建立连接;
当所述工作模式为离线模式时,采集文件标签,并查找与所述文件标签对应的离线文件解析结果,根据所述离线文件解析结果生成所述工程文件。
5.一种工程文件生成方法,其特征在于,所述方法包括:
接收终端发送的工程文件生成请求;
根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
6.根据权利要求5所述的方法,其特征在于,所述根据所述文件标签生成文件解析结果,包括:
获取文件解析数据库;
根据所述文件解析数据库对所述文件标签进行识别,并得到识别结果;
将所述识别结果发送至所述终端,并获取所述终端根据所述识别结果返回的配置数据;
根据所述配置数据生成所述文件解析结果。
7.一种工程文件生成系统,其特征在于,所述系统包括:
列表获取模块,用于从服务器中获取资源列表并展示所述资源列表;
文件标签生成模块,用于获取根据所述资源列表所确定的文件标签,并将所述文件标签发送至所述服务器;
结果展示模块,用于接收所述服务器根据所述文件标签返回的文件解析结果,并展示所述文件解析结果;
工程文件生成模块,用于获取工程开发类别,根据所述工程开发类别以及所述文件解析结果,生成工程文件。
8.一种工程文件生成系统,其特征在于,所述系统包括:
请求接收模块,用于接收终端发送的工程文件生成请求;
列表查找模块,用于根据所述工程文件生成请求查找资源列表,并将所述资源列表发送给所述终端;
结果生成模块,用于获取所述终端返回的文件标签,根据所述文件标签生成文件解析结果,并将所述文件解析结果发送至所述终端,所述终端根据所述文件解析结果生成工程文件。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至6中任一项所述方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至6中任一项所述的方法的步骤。
CN202010398636.1A 2020-05-12 2020-05-12 工程文件生成方法、系统、计算机设备及存储介质 Active CN111552466B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010398636.1A CN111552466B (zh) 2020-05-12 2020-05-12 工程文件生成方法、系统、计算机设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010398636.1A CN111552466B (zh) 2020-05-12 2020-05-12 工程文件生成方法、系统、计算机设备及存储介质

Publications (2)

Publication Number Publication Date
CN111552466A true CN111552466A (zh) 2020-08-18
CN111552466B CN111552466B (zh) 2023-03-31

Family

ID=72000785

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010398636.1A Active CN111552466B (zh) 2020-05-12 2020-05-12 工程文件生成方法、系统、计算机设备及存储介质

Country Status (1)

Country Link
CN (1) CN111552466B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100462A (zh) * 2020-11-17 2020-12-18 甬矽电子(宁波)股份有限公司 项目文件生成方法、装置、服务器和数据采集系统
CN112988158A (zh) * 2021-02-03 2021-06-18 天翼物联科技有限公司 自动生成代码的服务工程构建方法、系统、装置及介质

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056319A (zh) * 2007-03-20 2007-10-17 华为技术有限公司 呈现服务方法、系统及资源列表服务器
CN104077310A (zh) * 2013-03-28 2014-10-01 联想(北京)有限公司 加载资源文件的方法、设备和系统
CN105068818A (zh) * 2015-08-26 2015-11-18 网易(杭州)网络有限公司 生成渠道包的方法、装置与批量生成渠道包的方法、系统
CN105893018A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 生成可执行程序的方法和装置
CN105912330A (zh) * 2016-04-07 2016-08-31 北京北方微电子基地设备工艺研究中心有限责任公司 硬件设备控制方法及装置
CN108037937A (zh) * 2017-12-13 2018-05-15 济南汇通远德科技有限公司 一种动态更新资源的方法
CN109614106A (zh) * 2018-12-21 2019-04-12 北京龙创悦动网络科技有限公司 一种c++程序编译方法和装置
US20190149365A1 (en) * 2018-01-12 2019-05-16 Intel Corporation Time domain resource allocation for mobile communication

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101056319A (zh) * 2007-03-20 2007-10-17 华为技术有限公司 呈现服务方法、系统及资源列表服务器
CN104077310A (zh) * 2013-03-28 2014-10-01 联想(北京)有限公司 加载资源文件的方法、设备和系统
CN105068818A (zh) * 2015-08-26 2015-11-18 网易(杭州)网络有限公司 生成渠道包的方法、装置与批量生成渠道包的方法、系统
CN105893018A (zh) * 2015-12-14 2016-08-24 乐视网信息技术(北京)股份有限公司 生成可执行程序的方法和装置
CN105912330A (zh) * 2016-04-07 2016-08-31 北京北方微电子基地设备工艺研究中心有限责任公司 硬件设备控制方法及装置
CN108037937A (zh) * 2017-12-13 2018-05-15 济南汇通远德科技有限公司 一种动态更新资源的方法
US20190149365A1 (en) * 2018-01-12 2019-05-16 Intel Corporation Time domain resource allocation for mobile communication
CN109614106A (zh) * 2018-12-21 2019-04-12 北京龙创悦动网络科技有限公司 一种c++程序编译方法和装置

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
XUXU LV 等: ""Automatic Generation of Single-Phase SVPWM Embedded Code"", 《2019 INTERNATIONAL CONFERENCE ON ARTIFICIAL INTELLIGENCE AND ADVANCED MANUFACTURING (AIAM)》 *
袁晓江: ""基于FPGA的嵌入式NFS服务器的设计与实现"", 《山西科技》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112100462A (zh) * 2020-11-17 2020-12-18 甬矽电子(宁波)股份有限公司 项目文件生成方法、装置、服务器和数据采集系统
CN112988158A (zh) * 2021-02-03 2021-06-18 天翼物联科技有限公司 自动生成代码的服务工程构建方法、系统、装置及介质

Also Published As

Publication number Publication date
CN111552466B (zh) 2023-03-31

Similar Documents

Publication Publication Date Title
CN109901834B (zh) 文档页面生成方法、装置、计算机设备和存储介质
CN109814854B (zh) 项目框架生成方法、装置、计算机设备和存储介质
CN108363587B (zh) 应用程序运行监控方法、装置、计算机设备和存储介质
CN102792268B (zh) 用于部署虚拟软件应用部署配置的方法
CN100524210C (zh) 用于为组件创建语言中立和对应的语言专用资源文件的方法和系统
KR100655124B1 (ko) 주문 제작 컴퓨터시스템을 위한 소프트웨어 설치 및 테스트를촉진하는 데이타베이스
US20160306612A1 (en) Determining errors and warnings corresponding to a source code revision
US8429671B2 (en) Integrated workflow builder for disparate computer programs
CN108829477B (zh) 界面跳转方法、装置、计算机设备和存储介质
US20100146483A1 (en) Dynamic software documentation
US8793653B2 (en) Program code library selection in an integrated development environment
CN111552466B (zh) 工程文件生成方法、系统、计算机设备及存储介质
CN110442378B (zh) 接口文档的修改方法和系统
Walsh et al. Accelerating in silico research with workflows: a lesson in simplicity
CN110362479B (zh) 系统升级测试方法和系统
KR20220092615A (ko) 적시(Just-In-Time) 컨테이너
CN112769706B (zh) 组件化路由方法及系统
EP3314409B1 (en) Tracing dependencies between development artifacts in a software development project
CN112380130A (zh) 基于调用依赖关系的应用测试方法和装置
CN1670715B (zh) 在公共语言运行时语言中的资源地址支持
CN116755713A (zh) 应用程序的生成方法、装置、设备及存储介质
CN111290785A (zh) 评估深度学习框架系统兼容性的方法、装置、电子设备以及存储介质
CN111552503B (zh) 工程文件处理方法、装置、计算机设备及存储介质
CN110334031A (zh) 内存分配代码检测方法、装置、计算机设备及存储介质
CN114817803A (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