固件定制化的方法及可定制固件的硬件设备技术

技术编号:11705595 阅读:75 留言:0更新日期:2015-07-09 12:45
本发明专利技术公开了一种固件定制化的方法,包括以下步骤:S1:确定待编译生成的固件中的可定制化信息;S2:编译生成固件作为定制的模版,在所述定制的模板中的指定位置处存储所述可定制化信息;S3:接收用户输入的定制信息;S4:用所述定制信息修改所述指定位置处的可定制化信息后,生成定制的固件。本发明专利技术还公开了一种可定制固件的硬件设备,配置为具有如上所述模板,通过直接对所述模板中指定位置存储的可定制化信息进行修改/替换以定制固件。本发明专利技术的一种固件定制化的方法及可定制固件的硬件设备,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种固件定制化的方法及可定制固件的硬件设备
技术介绍
固件程序(Firmware),即固件,是固化在硬件中的软件程序,一般由硬件开发商提供,在硬件设备出厂前下载到硬件中,与硬件紧密结合,完善硬件功能。为了适应不同用户的需求,硬件开发商一般需要定制不同的固件程序,下载到硬件中。现有技术中,定制固件程序需要修改固件程序的源代码,并重新编译。当定制的次数增多时,修改和维护多个源代码的工作变得繁琐且容易出错。
技术实现思路
本专利技术所要解决的技术问题是,提供一种固件定制化的方法及可定制固件的硬件设备,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。为了解决上述技术问题,本专利技术提供了一种固件定制化的方法,包括以下步骤:S1:确定待编译生成的固件中的可定制化信息;S2:编译生成固件作为定制的模版,在所述定制的模板中的指定位置处存储所述可定制化信息;S3:接收用户输入的定制信息;S4:用所述定制信息修改所述指定位置处的可定制化信息后,生成定制的固件。作为优选,可定制化信息包括固件中的预定代码和/或数据。作为优选,所述步骤S2中,编译生成的所述固件的格式是自定义的。作为优选,所述指定位置为文件中的指定偏移量,或者为内存中的指定地址。本专利技术还提供了一种可定制固件的硬件设备,所述设备配置为具有如上所述的定制的模板,从而能够通过直接对所述指定位置处存储的所述可定制化信息进行修改/替换以实现固件定制。与现有技术相比,本专利技术的固件定制化的方法及可定制固件的硬件设备的有益效果在于:实现了一次编译固件,根据不同的用户输入,可以生成多种具有不同特征的固件,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。【附图说明】图1为本专利技术的实施例的固件定制化的方法的流程示意图;图2为本专利技术的一个实施例的固件定制化的方法的流程示意图;图3为本专利技术的实施例的可定制固件的硬件设备的结构示意图。【具体实施方式】下面结合附图和具体实施例对本专利技术的实施例的函数级软件保护方法作进一步详细描述,但不作为对本专利技术的限定。图1为本专利技术的实施例的固件定制化的方法的流程示意图。如图1所示,本专利技术的实施例的固件定制化的方法,包括以下步骤:S1:确定待编译生成的固件中的可定制化信息;S2:编译生成固件作为定制的模版,在定制的模板中的指定位置处存储可定制化信息;S3:接收用户输入的定制信息;S4:用定制信息修改指定位置处的可定制化信息后,生成定制的固件。本专利技术的实施例的函数级软件保护方法实现了一次编译固件,生成定制的模板,根据不同的用户输入,可以生成多种具有不同特征的固件,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。作为一种改进,步骤SI中可定制化信息包括固件中的预定代码和/或数据。并且优选地,编译采用编译固件程序的编译器,均支持将代码、数据定位在指定位置的功能。其中,生成的固件的格式可以是自定义的。本专利技术的一个实施方式,生成的固件格式可以为.bin的二进制文件。作为更进一步的改进,指定位置为文件中的指定偏移量,或者为内存中的指定地址。图2为本专利技术的一个实施例的固件定制化的方法的流程示意图。以下通过一个【具体实施方式】对本专利技术的固件定制化的方法进行进一步说明。本实施例中,硬件设备可以为信息安全设备,如加密锁;USB设备。可定制化信息可以为USB设备的厂商描述、产品描述、序列号等信息。1、确定固件中可定制化的信息为USB设备的厂商描述、产品描述、序列号。2、使用编译器编译固件,将步骤I厂商描述、产品描述、序列号,固定在特定的位置。例如,使用的编译器可以使Keil C51编译器,在程序源码中使用at关键字可以实现:例如:char code VendorDescatOxlOOO;此代码将厂商描述VendorDesc固定在地址0x1000的位置。char code ProductDescatOxl100;此代码将产品描述ProductDesc固定在地址0x1100的位置。char code SerialNumberat0xl200;此代码将序列号SerialNumber固定在地址0x1200的位置。编译后,生成固件模版文件,本例中为二进制文件,如:firmware, bin。3、用户输入定制化信息,包含要定制的厂商描述、产品描述、序列号。例如:厂商描述指定为A,产品描述为B,序列号为1000001。4、根据步骤3中的定制化信息,直接修改步骤2中生成的二进制文件firmware,bin。将文件偏移量为0x1000的位置,修改为指定的厂商描述A ;将文件偏移量为0x1100的位置,修改为指定的产品描述B ;将文件偏移量为0x1200的位置,修改为指定的序列号1000001。将定制生成的固件下载到硬件中完成硬件功能的定制。本实施例通过直接修改固件二进制文件实现了设备厂商描述、产品描述、序列号,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。图3为本专利技术的实施例的可定制固件的硬件设备的结构示意图。本专利技术还提供了一种可定制固件的硬件设备,设备配置为具有如上所述的定制的模板,从而能够通过直接对指定位置处存储的可定制化信息进行修改/替换以实现固件定制。本专利技术的固件定制化的方法及可定制固件的硬件设备的有益效果在于:实现了一次编译固件,根据不同的用户输入,可以生成多种具有不同特征的固件,避免了每次定制固件都需要重新编译固件,在产品维护方面具有很好的实用性。以上实施例仅为本专利技术的示例性实施例,不用于限制本专利技术,本专利技术的保护范围由权利要求书限定。本领域技术人员可以在本专利技术的实质和保护范围内,对本专利技术做出各种修改或等同替换,这种修改或等同替换也应视为落在本专利技术的保护范围内。【主权项】1.一种固件定制化的方法,其特征在于,包括以下步骤: S1:确定待编译生成的固件中的可定制化信息; S2:编译生成固件作为定制的模版,在所述定制的模板中的指定位置处存储所述可定制化信息; 53:接收用户输入的定制信息; 54:用所述定制信息修改所述指定位置处的可定制化信息后,生成定制的固件。2.根据权利要求1所述的固件定制化的方法,其特征在于,所述可定制化信息包括固件中的预定代码和/或数据。3.根据权利要求1所述的固件定制化的方法,其特征在于,在所述步骤S2中,编译生成的所述固件的格式是自定义的。4.根据权利要求1所述的固件定制化的方法,其特征在于,所述指定位置为文件中的指定偏移量,或者为内存中的指定地址。5.一种可定制固件的硬件设备,其特征在于,所述设备配置为具有如权利要求1至4中任一项中所述的定制的模板,从而能够通过直接对所述指定位置处存储的所述可定制化信息进行修改/替换以实现固件定制。【专利摘要】本专利技术公开了一种固件定制化的方法,包括以下步骤:S1:确定待编译生成的固件中的可定制化信息;S2:编译生成固件作为定制的模版,在所述定制的模板中的指定位置处存储所述可定制化信息;S3:接收用户输入的定制信息;S4:用所述定制信息修改所述指定位置处的可定制化信息后,生成定制的固件。本专利技术还公开了一种可定制固件的硬件设备,配置为具有如上所述模板,通过直接对所述模板中指定位置存储的可本文档来自技高网...

【技术保护点】
一种固件定制化的方法,其特征在于,包括以下步骤:S1:确定待编译生成的固件中的可定制化信息;S2:编译生成固件作为定制的模版,在所述定制的模板中的指定位置处存储所述可定制化信息;S3:接收用户输入的定制信息;S4:用所述定制信息修改所述指定位置处的可定制化信息后,生成定制的固件。

【技术特征摘要】

【专利技术属性】
技术研发人员:孙吉平韩勇
申请(专利权)人:北京深思数盾科技有限公司
类型:发明
国别省市:北京;11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1