[发明专利]一种固件生成方法、系统、设备以及介质在审
申请号: | 202110271766.3 | 申请日: | 2021-03-12 |
公开(公告)号: | CN113010180A | 公开(公告)日: | 2021-06-22 |
发明(设计)人: | 张旭 | 申请(专利权)人: | 山东英信计算机技术有限公司 |
主分类号: | G06F8/41 | 分类号: | G06F8/41 |
代理公司: | 北京连和连知识产权代理有限公司 11278 | 代理人: | 陈黎明;李红萧 |
地址: | 250101 山东省济南市高新区*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 生成 方法 系统 设备 以及 介质 | ||
本发明公开了一种固件生成方法,包括以下步骤:获取固件的多个组成部分对应的源代码;分别利用不同的进程对每一个所述组成部分对应的源代码进行编译以得到所述多个组成部分;将编译得到的所述多个组成部分分别存储在不同的预设位置;响应于接收到固件生成指令,从所述预设位置获取所述多个组成部分并合并压缩以得到所述固件。本发明还公开了一种系统、计算机设备以及可读存储介质。本发明提出的方案能够大大减少了固件的代码分支,减少了版本管控流程。
技术领域
本发明涉及固件领域,具体涉及一种固件生成方法、系统、设备以及存储介质。
背景技术
由于当前Firmware的镜像是根据服务器机型及客户区分的,每个机型的服务器会有几个甚至几十个客户,开发工程师需要对应创建不同的工程,编译打包生成对应的Firmware版本。
这种现状会造成固件的代码分支越来越多,Firmware版本管控越来越困难,给开发工程师带来很大维护工作量。
发明内容
有鉴于此,为了克服上述问题的至少一个方面,本发明实施例提出一种固件生成方法,包括以下步骤:
获取固件的多个组成部分对应的源代码;
分别利用不同的进程对每一个所述组成部分对应的源代码进行编译以得到所述多个组成部分;
将编译得到的所述多个组成部分分别存储在不同的预设位置;
响应于接收到固件生成指令,从所述预设位置获取所述多个组成部分并合并压缩以得到所述固件。
在一些实施例中,获取固件的多个组成部分对应的源代码,进一步包括:
将所述固件分为文件系统部分、硬件相关部分以及用户需求相关部分;
分别生成所述文件系统部分、所述硬件相关部分以及所述用户需求相关部分的源代码。
在一些实施例中,将编译得到的所述多个组成部分分别存储在不同的预设位置,进一步包括:
将编译后得到的由多个子功能构成的所述用户需求相关部分根据功能种类分别存储到不同的文件夹。
在一些实施例中,还包括:
响应于文件系统部分和/或硬件相关部分的源代码进行修改,对修改后的源代码进行重新编译并重新存储到对应的所述预设位置。
在一些实施例中,还包括:
响应于接收到修改所述用户需求相关部分中的若干个子功能的参数的指令,根据所述指令中的配置信息对所述若干个子功能的参数进行修改。
在一些实施例中,还包括:
获取所述用户需求相关部分新增的子功能的源代码并进行编译;
将编译得到的新增的子功能存储到对应的所述预设位置。
在一些实施例中,分别利用不同的进程对每一个所述组成部分对应的源代码进行编译,进一步包括:
将所述用户需求相关部分对应的源代码编译成动态库形式。
基于同一发明构思,根据本发明的另一个方面,本发明的实施例还提供了一种固件生成系统,包括:
获取模块,所述获取模块配置为获取固件的多个组成部分对应的源代码;
编译模块,所述编译模块配置为分别利用不同的进程对每一个所述组成部分对应的源代码进行编译以得到所述多个组成部分;
存储模块,所述存储模块配置为将编译得到的所述多个组成部分分别存储在不同的预设位置;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东英信计算机技术有限公司,未经山东英信计算机技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202110271766.3/2.html,转载请声明来源钻瓜专利网。