一种在DSP固件里加入固件生成信息的方法及装置
技术领域
本发明涉及电子设备技术领域,特别是嵌入式电子设备技术领域,具体涉及一种在DSP固件里加入固件生成信息的方法及装置。
背景技术
在嵌入式设备领域,固件是其重要内容,是嵌入式设备脱离开发仿真环境,可以自己运行的关键。原有的固件修改,包括增减内容,都需要对源码修改编译后重新生成。现有方法中,有几篇专利对固件修改、固件定制、固件扩展、固件加载管理等提供了一些创新方法,专利申请号‘200910223312.8’申请名称为《固件扩展方法以及固件生成器》,公开了一种固件扩展方法以及固件生成器,但该方案实施需要基准固件及基准固件对应的头文件和符号表,并需要重新编译;专利申请号‘201410005343.7’申请名称为《固件定制化的方法及可定制固件的硬件设备》,公开了一种固件定制化的方法及可定制固件的硬件设备,但该方案需要生成为定制信息预留空间的模板固件,通过修改预留空间的内容达到定制固件的目的。但是上述所有这些专利对如何在固件中加入模块源码版本信息和固件生成过程信息,没有任何相关专利技术提及。
发明内容
本发明的目的是为了解决现有技术中的上述缺陷,提供一种在DSP固件里加入固件生成信息的方法及装置,可以自动完成固件各个模块源码版本号、源码提交人、源码提交时间及固件生成人员等信息的收集,并自动添加到最终固件,方便固件管理和固件版本追溯,解决原有方法中需要人工收集,修改源代码并需要重新编译的问题。
根据公开的实施例,本发明的第一方面公开了一种在DSP固件里加入固件生成信息的方法,所述方法包括下列步骤:
S1、使用批处理指令调用软件管理工具采集固件生成信息,完成固件生成信息的收集和整理,形成固件生成信息目标;
S101、获取固件生成人姓名,确定本次固件生成的操作人员;
S102、对固件生成人进行鉴权,防止未授权人恶意操作,如果鉴权未通过,就一直等待输入,直至鉴权通过;
S103、将固件生成的操作人员信息以及生成时间写入到固件生成信息文件中;
S104、检测版本管理工具是否可用,如果不可用,固件生成信息中的模块源码版本相关内容将填入缺省值;
S105、使用版本管理工具获取各个模块源码版本信息;
S106、直到固件中各个模块源码版本信息获取完毕后结束;
S2、将固件生成信息插入到基准固件形成最终固件;
S201、对基准固件和固件生成信息文件有效性进行鉴定,鉴定未过则返回错误;
S202、从固件生成信息文件中解析出需要的固件生成信息;
S203、分析基准固件结束位置,计算插入固件生成信息的文件位置;
S204、插入固件生成信息到基准固件,形成最终固件。
进一步地,所述的模块源码版本信息包括模块源码版本号、源码提交人、源码提交时间。
进一步地,所述的固件生成信息包含固件中各个模块源码版本信息及最终固件生成操作人员、最终固件生成时间。
进一步地,所述的基准固件为没有添加固件生成信息的固件,所述的最终固件为在基准固件的基础上添加固件生成信息的固件。
根据公开的实施例,本发明的第二方面公开了一种在DSP固件里加入固件生成信息的装置,所述装置包括用于使用批处理指令调用软件管理工具采集固件生成信息,完成固件生成信息的收集和整理的固件生成信息采集模块和用于将固件生成信息插入到基准固件形成最终固件的固件生成信息插入模块,
其中,所述的固件生成信息采集模块包括:
固件生成人单元,用于获取固件生成人姓名,确定本次固件生成的操作人员;
操作鉴权单元,用于对固件生成人进行鉴权,防止未授权人恶意操作,如果鉴权未通过,就一直等待输入,直至鉴权通过;
信息写入单元,用于将固件生成的操作人员信息以及生成时间写入到固件生成信息文件中;
工具检测单元,用于检测版本管理工具是否可用,如果不可用,固件生成信息中的模块源码版本相关内容将填入缺省值;
版本信息获取单元,用于使用版本管理工具获取各个模块源码版本信息;
采集结束单元,用于固件中各个模块源码版本信息获取完毕后结束采集;
其中,所述的固件生成信息插入模块包括:
有效性鉴定单元,用于对基准固件和固件生成信息文件有效性进行鉴定,鉴定未过则返回错误;
解析单元,用于从固件生成信息文件中解析出需要的固件生成信息;
位置计算单元,用于分析基准固件结束位置,计算插入固件生成信息的文件位置;
插入单元,用于插入固件生成信息到基准固件,形成最终固件。
本发明相对于现有技术具有如下的优点及效果:
本发明充分利用现有版本管理工具,通过批处理指令完成固件生成信息自动收集,省去了人工收集的工作量,并避免了人工操作不规范引入的不确定性,大大降低人工成本,并保证了固件的高质量,通过加入固件生成信息,方便固件管理及固件版本追溯。
附图说明
图1是收集固件生成信息流程图;
图2是插入固件生成信息流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明中将涉及两种固件,本发明约定,没有添加固件生成信息的固件称为基准固件,在基准固件的基础上添加了固件生成信息的称为最终固件。
本实施例提供一种在DSP固件里加入固件生成信息的方法,固件生成信息包含固件中各个模块源码版本信息及最终固件生成操作人员、最终固件生成时间,其中,源码版本信息包括模块源码版本号、源码提交人、源码提交时间,方便固件的管理和追溯。固件生成信息可以根据不同目的进行增减和修改,不局限于本发明提及的信息。该方法可以自动完成固件生成信息的收集并添加到最终固件,不需要人工收集,不需要修改源代码,不需要重新编译,不需要单独为固件生成信息预留空间,将基准固件制作成模板固件。
将基准固件中各个模块源码版本号,源码提交人,源码提交时间及最终固件生成操作人员,生成时间等信息做为固件生成信息。固件生成信息可以根据不同目的进行增减和修改,不局限于本发明提及的信息。
如附图所示,图1是收集固件生成信息流程图,描述了使用批处理指令调用软件管理工具获取固件生成信息的流程。图2是插入固件生成信息流程图,描述了将固件生成信息插入到基准固件形成最终固件的流程。
一种在DSP固件里加入固件生成信息的方法,包括下列步骤:S1、使用批处理指令调用软件管理工具采集固件生成信息,完成固件生成信息的收集和整理,形成固件生成信息目标;S2、将固件生成信息插入到基准固件形成最终固件。
其中,步骤S1中采集固件生成信息的主要流程参见图1,说明如下:
S101、获取固件生成人姓名,确定本次固件生成的操作人员;
S102、对固件生成人进行鉴权,防止未授权人恶意操作,如果鉴权未通过,就一直等待输入,直至鉴权通过;
S103、将固件生成人信息写入到固件生成信息文件中;
S104、检测版本管理工具是否可用,如果不可用,固件生成信息中的模块源码版本相关内容将填入缺省值;
S105、使用版本管理工具获取各个模块源码版本信息,包括模块源码版本号、源码提交人、源码提交时间;
S106、直到固件中各个模块的源码版本信息获取完毕后结束。
其中,步骤S2中插入固件生成信息的主要流程参见图2,说明如下:
S201、对基准固件和固件生成信息文件有效性进行鉴定,鉴定未过则返回错误;
S202、从固件生成信息文件中解析出需要的固件生成信息;
S203、分析基准固件结束位置,计算插入固件生成信息的文件位置;
S204、插入固件生成信息到基准固件,形成最终固件。
实施例二
本实施例公开了一种在DSP固件里加入固件生成信息的装置,所述装置包括用于使用批处理指令调用软件管理工具采集固件生成信息,完成固件生成信息的收集和整理的固件生成信息采集模块和用于将固件生成信息插入到基准固件形成最终固件的固件生成信息插入模块,
其中,所述的固件生成信息采集模块包括:
固件生成人单元,用于获取固件生成人姓名,确定本次固件生成的操作人员;
操作鉴权单元,用于对固件生成人进行鉴权,防止未授权人恶意操作,如果鉴权未通过,就一直等待输入,直至鉴权通过;
信息写入单元,用于将固件生成的操作人员信息以及生成时间写入到固件生成信息文件中;
工具检测单元,用于检测版本管理工具是否可用,如果不可用,固件生成信息中的模块源码版本相关内容将填入缺省值;
版本信息获取单元,用于使用版本管理工具获取各个模块源码版本信息;
采集结束单元,用于固件中各个模块源码版本信息获取完毕后结束采集。
其中,所述的固件生成信息插入模块包括:
有效性鉴定单元,用于对基准固件和固件生成信息文件有效性进行鉴定,鉴定未过则返回错误;
解析单元,用于从固件生成信息文件中解析出需要的固件生成信息;
位置计算单元,用于分析基准固件结束位置,计算插入固件生成信息的文件位置;
插入单元,用于插入固件生成信息到基准固件,形成最终固件。
值得注意的是,上述装置实施例中,所包括的各个模块和单元只是按照功能逻辑进行划分的,但并不局限于上述的划分,只要能够实现相应的功能即可;另外,各模块和单元的具体名称也只是为了便于相互区分,并不用于限制本发明的保护范围。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。