CN109657504B - 芯片与固件的绑定方法、装置、计算机设备及存储介质 - Google Patents
芯片与固件的绑定方法、装置、计算机设备及存储介质 Download PDFInfo
- Publication number
- CN109657504B CN109657504B CN201811516241.6A CN201811516241A CN109657504B CN 109657504 B CN109657504 B CN 109657504B CN 201811516241 A CN201811516241 A CN 201811516241A CN 109657504 B CN109657504 B CN 109657504B
- Authority
- CN
- China
- Prior art keywords
- chip
- firmware
- microcontroller
- running
- storage area
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
- G06F21/73—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information by creating or determining hardware identification, e.g. serial numbers
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Mathematical Physics (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Stored Programmes (AREA)
- Storage Device Security (AREA)
Abstract
本发明涉及芯片与固件的绑定方法、装置、计算机设备及存储介质,该方法包括运行需要运行的固件;从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;判断需要运行的固件是否是首次运行的固件;若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;驱动所述固件保持正常运行状态运行;若否,则从非易失闪存芯片内获取固件ID号;判断固件ID号与芯片ID号是否一致;若是,则返回所述驱动所述固件保持正常运行状态运行;若否,则异常挂死固件。本发明实现防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后复制出完全相同的硬件,以提高固态硬盘的安全性能。
Description
技术领域
本发明涉及固态硬盘,更具体地说是指芯片与固件的绑定方法、装置、计算机设备及存储介质。
背景技术
如图1所示,目前的固态硬盘控制器加载运行固件的流程为:首先将嵌入在微控制器内部且用于芯片正常工作的代码BootRom配置在Nor存储器的加载模式,芯片上电,BootRom运行;BootRom从非易失闪存芯片中加载多核加载工程至微控制器的用于运行指令的存储区域中,微控制器的运行指针再跳转至存储区域的零地址,多核加载工程运行;多核加载工程再从非易失闪存芯片中加载固件至微控制器的存储区域中,微控制器的运行指针再跳转至固件的存储区域的零地址,固件运行。
上述方法有以下弊端:固件可在任何同款控制器芯片上运行,一旦不法人员暴力拆解固态硬盘上的NorFlash获得固件文件之后,该固件依然可以使用在别的固态硬盘上,不法分子可复制出完全相同的硬件,造成安全性能较低。
因此,有必要设计一种新的方法,实现防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后复制出完全相同的硬件,以提高固态硬盘的安全性能。
发明内容
本发明的目的在于克服现有技术的缺陷,提供芯片与固件的绑定方法、装置、计算机设备及存储介质。
为实现上述目的,本发明采用以下技术方案:芯片与固件的绑定方法,包括:
运行需要运行的固件;
从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
判断需要运行的固件是否是首次运行的固件;
若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动所述固件保持正常运行状态运行;
若否,则从非易失闪存芯片内获取固件ID号;
判断所述固件ID号与所述芯片ID号是否一致;
若是,则返回所述驱动所述固件保持正常运行状态运行;
若否,则异常挂死固件。
其进一步技术方案为:所述从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号之前,包括:
获取芯片ID号;
向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
其进一步技术方案为:所述获取芯片ID号,包括:
将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
对芯片进行上电,并运行所述代码;
获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址;
运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
其进一步技术方案为:所述运行需要运行的固件,包括:
将所述代码配置于非易失闪存芯片的加载模式;
对芯片进行上电,并运行代码;
从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
本发明还提供了芯片与固件的绑定装置,包括:
固件运行单元,用于运行需要运行的固件;
芯片ID获取单元,用于从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
状态判断单元,用于判断固件运行状态是否是首次运行状态;
固件ID写入单元,用于若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动单元,用于驱动所述固件保持正常运行状态运行;
固件ID获取单元,用于若否,则从非易失闪存芯片内获取固件ID号;
ID判断单元,用于判断所述固件ID号与所述芯片ID号是否一致;若是,则返回所述驱动所述固件保持正常运行状态运行。
挂死单元,用于若否,则异常挂死固件。
其进一步技术方案为:所述装置还包括:
ID号获取单元,用于获取芯片ID号;
芯片ID写入单元,用于向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
其进一步技术方案为:所述ID号获取单元包括:
第一配置子单元,用于将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
第一处理子单元,用于对芯片进行上电,并运行所述代码;
文件获取子单元,用于获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
第一跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址;
ID号生成子单元,用于运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
其进一步技术方案为:所述固件运行单元包括:
第二配置子单元,用于将所述代码配置于非易失闪存芯片的加载模式;
第二处理子单元,用于对芯片进行上电,并运行代码;
工程加载子单元,用于从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
第二跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
固件加载子单元,用于从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
第三跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
本发明还提供了一种计算机设备,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现上述的方法。
本发明还提供了一种存储介质,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述的方法。
本发明与现有技术相比的有益效果是:本发明通过在嵌入在微控制器芯片中的一次性可编程存储器写入芯片ID号,在固件首次运行时,将固件ID号设置为芯片ID号,存储在非易失闪存芯片中,实现芯片与固件的绑定,在固件非首次运行时,每次都需要将固件ID号以及芯片ID号取出以进行比对,只有在两者一致的情况下才正常运行固件,若两者不一致,则直接异常挂死固件,实现防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后复制出完全相同的硬件,以提高固态硬盘的安全性能。
下面结合附图和具体实施例对本发明作进一步描述。
附图说明
为了更清楚地说明本发明实施例技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有技术的固态硬盘控制器加载运行固件的流程示意图;
图2为本发明实施例提供的芯片与固件的绑定方法的流程示意图;
图3为本发明实施例提供的芯片与固件的绑定方法的子流程示意图;
图4为本发明实施例提供的芯片与固件的绑定方法的子流程示意图;
图5为本发明实施例提供的芯片与固件的绑定装置的示意性框图;
图6为本发明实施例提供的芯片与固件的绑定装置的ID号获取单元的示意性框图;
图7为本发明实施例提供的芯片与固件的绑定装置的固件运行单元的示意性框图;
图8为本发明实施例提供的计算机设备的示意性框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”和“包含”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
请参阅图2,图2为本发明实施例提供的芯片与固件的绑定方法的示意性流程图。该芯片与固件的绑定方法可运用于带有固态硬盘的设备,实现防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后复制出完全相同的硬件,以提高固态硬盘的安全性能。
图2是本发明实施例提供的芯片与固件的绑定方法的流程示意图。如图2所示,该方法包括以下步骤S110至S150。
S110、获取芯片ID号。
在本实施例中,芯片ID号是随机产生的,天然排序的一串数字,其可以对微控制器的芯片起到标识的作用。
在一实施例中,如图3所示,上述的步骤S110可包括步骤S111~S115。
S111、将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式。
将代码配置于串口下载模式以便于下载来自固态硬盘量产工具的二进制文件,该二进制文件是用于运行后进行固态硬盘量产的文件。
S112、对芯片进行上电,并运行所述代码。
对微控制器芯片进行上电,执行该嵌入在微控制器内部且用于芯片正常工作的代码,以便于利用代码进行下载所需文件。
S113、获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中。
在本实施例中,利用代码并通过串口获取固态硬盘量产工具的二进制文件,将该文件存储到存储区域内,以便于执行。
S114、将微控制器的运行指针跳转至存储区域的零地址。
在本实施例中,微控制器的运行指针所跳转到的地址,则为当前执行的起始地址,因此,要执行固态硬盘量产工具的二进制文件,则需要驱动该微控制器的运行指针跳转到该文件所在的起始地址,即存储区域的零地址。
S115、运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
运行该固态硬盘量产工具,则可以根据数据库内自增长序列生成当前芯片的ID号,固态硬盘量产工具内存储有ID数据库,这个ID数据库内存储有若干个芯片的ID号,按照自增长的序列,依次将ID号输出,以得到芯片ID号,该自增长序列的芯片ID号是天然排序的,也就是随机排序的,不按照一定的规则生成,从而增大整个固态硬盘的安全性能。
S120、向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
在微控制器芯片内的一次性可编程存储器写入该芯片ID号,则表明该芯片具有唯一性,与之配对使用的固件只能与该芯片配对使用,不可与其他芯片配对时候,也就是芯片与固件呈一对一的映射关系。
S130、运行需要运行的固件;
在运行固件时,需要对固件是否为首次运行固件进行判断,以便于确保该固件有与某一芯片绑定。
S140、从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号。
在实际使用时,需要先从最初存储在微控制器芯片内的一次性可编程存储器内的芯片ID号,以便于进行固件的绑定或者判定。
在一实施例中,如图4所示,上述的步骤S140可包括步骤S141~S146。
S141、将所述代码配置于非易失闪存芯片的加载模式。
将代码配置在加载模式,可以从该非易失闪存芯片的任一位置加载所需要的数据或文件等。
S142、对芯片进行上电,并运行代码。
在运行固件时,需要对微控制器的芯片进行上电,并运行嵌入在微控制器内部且用于芯片正常工作的代码,以便于进行加载某些数据或文件。
S143、从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中。
S144、将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程。
在运行固件时,需要将多核加载工程加载至存储区域,并执行该多核加载工程,以便于利用该多核加载工程加载固件。
S145、从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
S146、将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
S150、判断需要运行的固件是否是首次运行的固件。
S160、若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
S170、驱动所述固件保持正常运行状态运行;
S180、若否,则从非易失闪存芯片内获取固件ID号;
S190、判断所述固件ID号与所述芯片ID号是否一致;
若是,则返回所述步骤S170;
S200、若否,则异常挂死固件。
固件首次运行时,会从嵌入在微控制器中的一次性可编程存储器中读取该芯片ID号,并将该芯片ID号作为对应的固件ID写入非易失闪存芯片中,从而实现固件与芯片的绑定。固件非首次运行时,固件会对从非易失闪存芯片中读出来的固件ID号和从嵌入在微控制器芯片中的一次性可编程存储器中读出的芯片ID号,并将这两个ID号进行比较,若固件ID号与芯片ID号一致,则表明该固件是与该芯片绑定的芯片,则正常运行固件。如果固件ID号与芯片ID号不一致,就可以判断出有人已经破解成功,检测出固件被烧到其他硬件,固件会直接异常挂死,使得该固件无法使用,以防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后,复制出完全相同的硬件。
上述的芯片与固件的绑定方法,通过在嵌入在微控制器芯片中的一次性可编程存储器写入芯片ID号,在固件首次运行时,将固件ID号设置为芯片ID号,存储在非易失闪存芯片中,实现芯片与固件的绑定,在固件非首次运行时,每次都需要将固件ID号以及芯片ID号取出以进行比对,只有在两者一致的情况下才正常运行固件,若两者不一致,则直接异常挂死固件,实现防止不法人员暴力拆解固态硬盘上的非易失闪存芯片获得固件文件之后复制出完全相同的硬件,以提高固态硬盘的安全性能。
图5是本发明实施例提供的一种芯片与固件的绑定装置300的示意性框图。如图5所示,对应于以上芯片与固件的绑定方法,本发明还提供一种芯片与固件的绑定装置300。该芯片与固件的绑定装置300包括用于执行上述芯片与固件的绑定方法的单元,该装置可以被配置于带有固态硬盘的设备中。
具体地,请参阅图5,该芯片与固件的绑定装置300包括:
固件运行单元303,用于运行需要运行的固件;
芯片ID获取单元304,用于从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
状态判断单元305,用于判断固件运行状态是否是首次运行状态;
固件ID写入单元306,用于若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动单元307,用于驱动所述固件保持正常运行状态运行;
固件ID获取单元308,用于若否,则从非易失闪存芯片内获取固件ID号;
ID判断单元309,用于判断所述固件ID号与所述芯片ID号是否一致;若是,则返回所述驱动所述固件保持正常运行状态运行。
挂死单元310,用于若否,则异常挂死固件。
更进一步地,上述的装置还包括:
ID号获取单元301,用于获取芯片ID号;
芯片ID写入单元302,用于向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
在一实施例中,如图6所示,所述ID号获取单元301包括:
第一配置子单元3011,用于将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
第一处理子单元3012,用于对芯片进行上电,并运行所述代码;
文件获取子单元3013,用于获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
第一跳转子单元3014,用于将微控制器的运行指针跳转至存储区域的零地址;
ID号生成子单元3015,用于运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
在一实施例中,如图7所示,所述固件运行单元303包括:
第二配置子单元3031,用于将所述代码配置于非易失闪存芯片的加载模式;
第二处理子单元3032,用于对芯片进行上电,并运行代码;
工程加载子单元3033,用于从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
第二跳转子单元3034,用于将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
固件加载子单元3035,用于从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
第三跳转子单元3036,用于将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
需要说明的是,所属领域的技术人员可以清楚地了解到,上述芯片与固件的绑定装置300和各单元的具体实现过程,可以参考前述方法实施例中的相应描述,为了描述的方便和简洁,在此不再赘述。
上述芯片与固件的绑定装置300可以实现为一种计算机程序的形式,该计算机程序可以在如图8所示的计算机设备上运行。
请参阅图8,图8是本申请实施例提供的一种计算机设备的示意性框图。该计算机设备500可以是带有固态硬盘的终端,也可以是带有固态硬盘的服务器,其中,终端可以是智能手机、平板电脑、笔记本电脑、台式电脑、个人数字助理和穿戴式设备等具有通信功能的电子设备。服务器可以是独立的服务器,也可以是多个服务器组成的服务器集群。
参阅图8,该计算机设备500包括通过系统总线501连接的处理器502、存储器和网络接口505,其中,存储器可以包括非易失性存储介质503和内存储器504。
该非易失性存储介质503可存储操作系统5031和计算机程序5032。该计算机程序5032包括程序指令,该程序指令被执行时,可使得处理器502执行一种芯片与固件的绑定方法。
该处理器502用于提供计算和控制能力,以支撑整个计算机设备500的运行。
该内存储器504为非易失性存储介质503中的计算机程序5032的运行提供环境,该计算机程序5032被处理器502执行时,可使得处理器502执行一种芯片与固件的绑定方法。
该网络接口505用于与其它设备进行网络通信。本领域技术人员可以理解,图8中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备500的限定,具体的计算机设备500可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
其中,所述处理器502用于运行存储在存储器中的计算机程序5032,以实现如下步骤:
运行需要运行的固件;
从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
判断需要运行的固件是否是首次运行的固件;
若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动所述固件保持正常运行状态运行;
若否,则从非易失闪存芯片内获取固件ID号;
判断所述固件ID号与所述芯片ID号是否一致;
若是,则返回所述驱动所述固件保持正常运行状态运行;
若否,则异常挂死固件。
在一实施例中,处理器502在实现所述从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号步骤之前,还实现如下步骤:
获取芯片ID号;
向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
在一实施例中,处理器502在实现所述获取芯片ID号步骤时,具体实现如下步骤:
将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
对芯片进行上电,并运行所述代码;
获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址;
运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
在一实施例中,处理器502在实现所述运行需要运行的固件步骤时,具体实现如下步骤:
将所述代码配置于非易失闪存芯片的加载模式;
对芯片进行上电,并运行代码;
从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
应当理解,在本申请实施例中,处理器502可以是中央处理单元(CentralProcessing Unit,CPU),该处理器502还可以是其他通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。其中,通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
本领域普通技术人员可以理解的是实现上述实施例的方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成。该计算机程序包括程序指令,计算机程序可存储于一存储介质中,该存储介质为计算机可读存储介质。该程序指令被该计算机系统中的至少一个处理器执行,以实现上述方法的实施例的流程步骤。
因此,本发明还提供一种存储介质。该存储介质可以为计算机可读存储介质。该存储介质存储有计算机程序,其中该计算机程序被处理器执行时使处理器执行如下步骤:
运行需要运行的固件;
从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
判断需要运行的固件是否是首次运行的固件;
若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动所述固件保持正常运行状态运行;
若否,则从非易失闪存芯片内获取固件ID号;
判断所述固件ID号与所述芯片ID号是否一致;
若是,则返回所述驱动所述固件保持正常运行状态运行;
若否,则异常挂死固件。
在一实施例中,所述处理器在执行所述计算机程序而实现所述从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号步骤之前,还实现如下步骤:
获取芯片ID号;
向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号。
在一实施例中,所述处理器在执行所述计算机程序而实现所述获取芯片ID号步骤时,具体实现如下步骤:
将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
对芯片进行上电,并运行所述代码;
获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址;
运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
在一实施例中,所述处理器在执行所述计算机程序而实现所述运行需要运行的固件步骤时,具体实现如下步骤:
将所述代码配置于非易失闪存芯片的加载模式;
对芯片进行上电,并运行代码;
从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
所述存储介质可以是U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、磁碟或者光盘等各种可以存储程序代码的计算机可读存储介质。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的。例如,各个单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。
该集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,终端,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (6)
1.芯片与固件的绑定方法,其特征在于,包括:
运行需要运行的固件;
从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
判断需要运行的固件是否是首次运行的固件;
若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动所述固件保持正常运行状态运行;
若否,则从非易失闪存芯片内获取固件ID号;
判断所述固件ID号与所述芯片ID号是否一致;
若是,则返回所述驱动所述固件保持正常运行状态运行;
若否,则异常挂死固件;
所述从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号之前,包括:
获取芯片ID号;
向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号;
所述获取芯片ID号,包括:
将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
对芯片进行上电,并运行所述代码;
获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址;
运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
2.根据权利要求1所述的芯片与固件的绑定方法,其特征在于,所述运行需要运行的固件,包括:
将代码配置于非易失闪存芯片的加载模式;
对芯片进行上电,并运行代码;
从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
3.芯片与固件的绑定装置,其特征在于,包括:
固件运行单元,用于运行需要运行的固件;
芯片ID获取单元,用于从嵌入在微控制器芯片内的一次性可编程存储器内获取芯片ID号;
状态判断单元,用于判断固件运行状态是否是首次运行状态;
固件ID写入单元,用于若是,则将所述芯片ID号作为固件ID号写入非易失闪存芯片内;
驱动单元,用于驱动所述固件保持正常运行状态运行;
固件ID获取单元,用于若否,则从非易失闪存芯片内获取固件ID号;
ID判断单元,用于判断所述固件ID号与所述芯片ID号是否一致;若是,则返回所述驱动所述固件保持正常运行状态运行;
挂死单元,用于若否,则异常挂死固件;
所述装置还包括:
ID号获取单元,用于获取芯片ID号;
芯片ID写入单元,用于向嵌入在微控制器芯片内的一次性可编程存储器内写入芯片ID号;
所述ID号获取单元包括:
第一配置子单元,用于将嵌入在微控制器内部且用于芯片正常工作的代码配置在串口下载模式;
第一处理子单元,用于对芯片进行上电,并运行所述代码;
文件获取子单元,用于获取固态硬盘量产工具的二进制文件,并存储至微控制器的存储区域中;
第一跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址;
ID号生成子单元,用于运行所述固态硬盘量产工具,由固态硬盘量产工具根据数据库自增长序列生成ID号,以得到芯片ID号。
4.根据权利要求3所述的芯片与固件的绑定装置,其特征在于,所述固件运行单元包括:
第二配置子单元,用于将代码配置于非易失闪存芯片的加载模式;
第二处理子单元,用于对芯片进行上电,并运行代码;
工程加载子单元,用于从非易失闪存芯片中加载多核加载工程至微控制器的存储区域中;
第二跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址,并运行多核加载工程;
固件加载子单元,用于从非易失闪存芯片中加载需要运行的固件至微控制器的存储区域中;
第三跳转子单元,用于将微控制器的运行指针跳转至存储区域的零地址,并运行需要运行的固件。
5.一种计算机设备,其特征在于,所述计算机设备包括存储器及处理器,所述存储器上存储有计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至2中任一项所述的方法。
6.一种存储介质,其特征在于,所述存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现如权利要求1至2中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516241.6A CN109657504B (zh) | 2018-12-12 | 2018-12-12 | 芯片与固件的绑定方法、装置、计算机设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811516241.6A CN109657504B (zh) | 2018-12-12 | 2018-12-12 | 芯片与固件的绑定方法、装置、计算机设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109657504A CN109657504A (zh) | 2019-04-19 |
CN109657504B true CN109657504B (zh) | 2020-09-22 |
Family
ID=66113903
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811516241.6A Active CN109657504B (zh) | 2018-12-12 | 2018-12-12 | 芯片与固件的绑定方法、装置、计算机设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109657504B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110109714B (zh) * | 2019-04-25 | 2022-03-29 | 深圳忆联信息系统有限公司 | 提升固件加载效率的方法、装置、计算机设备及存储介质 |
CN110532010A (zh) * | 2019-08-30 | 2019-12-03 | 深圳忆联信息系统有限公司 | 一种带usb的量产器升级固态硬盘的方法 |
CN111159711A (zh) * | 2019-12-06 | 2020-05-15 | 珠海慧联科技有限公司 | 一种防串货方法及系统 |
CN111079124B (zh) * | 2019-12-21 | 2023-02-10 | 广州小鹏汽车科技有限公司 | 安全芯片激活方法、装置、终端设备及服务器 |
CN111400776B (zh) * | 2020-03-11 | 2022-09-16 | 中安云科科技发展(山东)有限公司 | 一种密码卡量产方法、系统及装置 |
CN111857882B (zh) * | 2020-07-23 | 2024-04-02 | 深圳忆联信息系统有限公司 | 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622249A (zh) * | 2012-03-05 | 2012-08-01 | 山东华芯半导体有限公司 | 一种防止cpu自锁的安全启动方法 |
EP2911085A1 (en) * | 2012-10-18 | 2015-08-26 | Navista S.a.r.l. | Method for limiting and ensuring the operability and operation of a unique computer program, exclusively with the computer equipment wherein it is installed |
CN105069375A (zh) * | 2015-08-14 | 2015-11-18 | 上海柏楚电子科技有限公司 | 一种基于数据库的嵌入式系统加密方法 |
CN107402776A (zh) * | 2016-05-20 | 2017-11-28 | 南京阿波罗机器人科技有限公司 | 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法 |
CN107463341A (zh) * | 2017-08-25 | 2017-12-12 | 上海闻泰电子科技有限公司 | Flash芯片的擦除方法、装置和移动终端 |
CN107729067A (zh) * | 2017-09-11 | 2018-02-23 | 北京东土科技股份有限公司 | 一种flash芯片驱动的注册方法及装置 |
-
2018
- 2018-12-12 CN CN201811516241.6A patent/CN109657504B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102622249A (zh) * | 2012-03-05 | 2012-08-01 | 山东华芯半导体有限公司 | 一种防止cpu自锁的安全启动方法 |
EP2911085A1 (en) * | 2012-10-18 | 2015-08-26 | Navista S.a.r.l. | Method for limiting and ensuring the operability and operation of a unique computer program, exclusively with the computer equipment wherein it is installed |
CN105069375A (zh) * | 2015-08-14 | 2015-11-18 | 上海柏楚电子科技有限公司 | 一种基于数据库的嵌入式系统加密方法 |
CN107402776A (zh) * | 2016-05-20 | 2017-11-28 | 南京阿波罗机器人科技有限公司 | 一种基于蓝牙4的手机无线升级stm32单片机控制器固件方法 |
CN107463341A (zh) * | 2017-08-25 | 2017-12-12 | 上海闻泰电子科技有限公司 | Flash芯片的擦除方法、装置和移动终端 |
CN107729067A (zh) * | 2017-09-11 | 2018-02-23 | 北京东土科技股份有限公司 | 一种flash芯片驱动的注册方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN109657504A (zh) | 2019-04-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109657504B (zh) | 芯片与固件的绑定方法、装置、计算机设备及存储介质 | |
US11017091B2 (en) | Firmware map data | |
US20150074384A1 (en) | Secure boot method, semiconductor device and recording medium | |
US20120311279A1 (en) | Data recovery and backup system and process | |
US9286468B2 (en) | Option read-only memory use | |
CN106560830A (zh) | 一种Linux嵌入式系统中的安全防护方法及系统 | |
JP6170900B2 (ja) | ファイル処理方法及び装置 | |
JP2019071053A (ja) | 認証の加速のための信頼できるストレージデバイスでのチェックサムの生成 | |
CN114327518A (zh) | 一种固件存储方法、固件读取方法、装置、芯片处理器及存储介质 | |
CN114995894A (zh) | 操作系统的启动控制方法、终端设备及可读存储介质 | |
CN111857882B (zh) | 可扩展的ssd开卡固件加载方法、装置、计算机设备及存储介质 | |
CN116185512B (zh) | 用于ptc驱动器的驱动加载方法、装置、设备及介质 | |
CN108959915B (zh) | 一种rootkit检测方法、装置及服务器 | |
CN113396391B (zh) | 应用程序启动的方法、装置、电子设备及存储介质 | |
CN104516752B (zh) | 一种信息处理方法及电子设备 | |
US10210334B2 (en) | Systems and methods for software integrity assurance via validation using build-time integrity windows | |
CN115878199A (zh) | 芯片的操作系统启动方法、装置、设备及存储介质 | |
CN106874759B (zh) | 一种木马随机化行为的识别方法及系统 | |
KR20230082388A (ko) | 차량 제어기의 부트로더 검증 장치 및 그 방법 | |
US20150059000A1 (en) | Method and electronic device for protecting data | |
CN110910945A (zh) | 测试ssd信号健壮性的方法、装置、计算机设备及存储介质 | |
CN113344549B (zh) | 项目工程文档更新方法、装置、计算机设备及存储介质 | |
CN117193863B (zh) | 主机引导程序的启动方法、装置、系统和处理器 | |
CN118626017A (zh) | 基于Flash的日志存储方法、装置、设备及介质 | |
TW201530434A (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 |