一種序列號的寫入方法及裝置的制造方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于計算機(jī)技術(shù)領(lǐng)域,尤其涉及一種序列號的寫入方法及裝置。
【背景技術(shù)】
[0002]OTP(One Time Programmable,一次性可編程)是一種存儲器類型,顧名思義,在將程序燒入所述OTP之后,不可再次對所述程序進(jìn)行修改。OTP產(chǎn)品(一次性編程產(chǎn)品)是指內(nèi)部的程序內(nèi)存采用一次性可編程只讀存儲器的單片機(jī)。
[0003]現(xiàn)有的產(chǎn)品(比如車載終端)在使用前,都需要讀取產(chǎn)品的唯一的序列號進(jìn)行驗證操作,驗證成功則發(fā)放使用權(quán)限。因此,廠家在生產(chǎn)產(chǎn)品時,主要采用具有所述OTP的IC芯片,將產(chǎn)品的序列號寫入至OTP中。該序列號一旦寫入后不可擦除,從而實現(xiàn)了基于序列號的驗證操作。當(dāng)IC芯片中無OTP時,則無法進(jìn)行序列號設(shè)置,即使寫入了序列號,序列號也可以被擦除或者在IC芯片中同時存在多個序列號,序列號不能作為產(chǎn)品的唯一標(biāo)識,從而無法實現(xiàn)基于序列號的驗證操作。
【發(fā)明內(nèi)容】
[0004]鑒于此,本發(fā)明實施例提供一種序列號的寫入方法及裝置,以實現(xiàn)在無OTP下寫入唯一的序列號。
[0005]第一方面,提供了一種序列號的寫入方法,所述寫入方法包括:
[0006]設(shè)置第一內(nèi)存地址和第二內(nèi)存地址,所述第一內(nèi)存地址用于存儲序列號,所述第二內(nèi)存地址用于存儲標(biāo)識信息,所述標(biāo)識信息表示序列號的寫入狀態(tài);
[0007]當(dāng)接收到序列號寫入指示信息時,根據(jù)所述第二內(nèi)存地址上的標(biāo)識信息將待寫入的序列號寫入至所述第一內(nèi)存地址。
[0008]第二發(fā)明,提供了一種序列號的寫入裝置,所述寫入裝置包括:
[0009]設(shè)置模塊,用于設(shè)置第一內(nèi)存地址和第二內(nèi)存地址,所述第一內(nèi)存地址用于存儲序列號,所述第二內(nèi)存地址用于存儲標(biāo)識信息,所述標(biāo)識信息表示序列號的寫入狀態(tài);
[0010]寫入模塊,用于當(dāng)接收到序列號寫入指示信息時,根據(jù)所述第二內(nèi)存地址上的標(biāo)識信息將待寫入的序列號寫入至所述第一內(nèi)存地址。
[0011]與現(xiàn)有技術(shù)相比,本發(fā)明實施例在產(chǎn)品芯片中分配第一內(nèi)存地址和第二內(nèi)存地址;所述第一內(nèi)存地址用于存儲序列號,所述第二內(nèi)存地址用于存儲表明序列號的寫入狀態(tài)的標(biāo)識信息;當(dāng)接收到序列號寫入指示信息時,根據(jù)所述第二內(nèi)存地址上的標(biāo)識信息將待寫入的序列號寫入至所述第一內(nèi)存地址;從而避免了重復(fù)寫入序列號,且無需寫入OTP中,實現(xiàn)了在無OTP下也可以寫入唯一的序列號,以實現(xiàn)基于序列號的驗證操作,達(dá)到對芯片加密的目的。
【附圖說明】
[0012]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動的前提下,還可以根據(jù)這些附圖獲得其他附圖。
[0013]圖1是本發(fā)明實施例提供的序列號的寫入方法的實現(xiàn)流程圖;
[0014]圖2是本發(fā)明實施例提供的序列號的寫入方法中步驟S102的實現(xiàn)流程圖;
[0015]圖3是本發(fā)明實施例提供的序列號的寫入裝置的組成結(jié)構(gòu)圖。
【具體實施方式】
[0016]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
[0017]本發(fā)明實施例在產(chǎn)品芯片中分配第一內(nèi)存地址和第二內(nèi)存地址;所述第一內(nèi)存地址用于存儲序列號,所述第二內(nèi)存地址用于存儲表明序列號的寫入狀態(tài)的標(biāo)識信息;當(dāng)接收到序列號寫入指示信息時,根據(jù)所述第二內(nèi)存地址上的標(biāo)識信息將待寫入的序列號寫入至所述第一內(nèi)存地址;從而避免了重復(fù)寫入序列號,且無需寫入OTP中,實現(xiàn)了在無OTP下也可以寫入唯一的序列號,以實現(xiàn)基于序列號的驗證操作,達(dá)到對芯片加密的目的。本發(fā)明實施例還提供了相應(yīng)的裝置,以下分別進(jìn)行詳細(xì)的說明。
[0018]圖1示出了本發(fā)明實施例提供的序列號的寫入方法的實現(xiàn)流程。在本發(fā)明實施例中,所述寫入方法應(yīng)用于終端設(shè)備,優(yōu)選為計算機(jī)。所述計算機(jī)用于將產(chǎn)品的序列號寫入至產(chǎn)品的芯片中。在這里,所述序列號為產(chǎn)品對應(yīng)的編號,由廠家設(shè)置并寫入至產(chǎn)品的芯片中。在用戶使用該產(chǎn)品時,通過讀取所述序列號進(jìn)行驗證操作,以得到使用權(quán)限。其中,所述驗證操作包括但不限于在連接服務(wù)器時識別產(chǎn)品的、設(shè)置客戶的使用權(quán)限等。
[0019]參閱圖1,所述序列號的寫入方法包括:
[0020]在步驟SlOl中,設(shè)置第一內(nèi)存地址和第二內(nèi)存地址。
[0021]本發(fā)明實施例在芯片的存儲器中分配一個地址用于存儲序列號,即第一內(nèi)存地址;并分配一個地址用于存儲標(biāo)識信息,即第二內(nèi)存地址,所述標(biāo)識信息表示序列號的寫入狀態(tài)。其中,所述寫入狀態(tài)包括序列號的已寫入狀態(tài)和序列號的未寫入狀態(tài)。在這里,所述存儲器為FLASH ROM等可以反復(fù)擦寫的存儲器。
[0022]需要說明的是,所設(shè)置的第一內(nèi)存地址和第二內(nèi)存地址必須是程序運(yùn)行時不會使用到的內(nèi)存空間。
[0023]在步驟S102中,當(dāng)接收到序列號寫入指示信息時,根據(jù)所述第二內(nèi)存地址上的標(biāo)識信息將待寫入的序列號寫入至所述第一內(nèi)存地址。
[0024]當(dāng)接收到序列號寫入指示信息時,首先獲取第二內(nèi)存地址上的標(biāo)識信息,以得到當(dāng)前的序列號寫入狀態(tài),并根據(jù)所述寫入狀態(tài)將待寫入的序列號寫入至所述第一內(nèi)存地址中或者不寫入所述序列號。從而避免了重復(fù)寫入序列號,實現(xiàn)了在無OTP下寫入唯一的序列號,使得在無OTP下也可以實現(xiàn)基于序列號的驗證操作。
[0025]作為本發(fā)明的一個優(yōu)選示例,圖2示出了本發(fā)明實施例提供的步驟S102的具體實現(xiàn)流程。在這里,序列號的已寫入狀態(tài)和未寫入狀態(tài)通過預(yù)設(shè)值來判斷得到。
[0026]參閱圖2,所述步驟S102包括:
[0027]在步驟S201中,當(dāng)接收到序列號寫入指示信息時,獲取所述第二內(nèi)存地址上的標(biāo)識信息。
[0028]在步驟S202中,根據(jù)所述標(biāo)識信息獲取序列號的寫入狀態(tài)。
[0029]在步驟S203中,若所述序列號的寫入狀態(tài)為未寫入狀態(tài)時,獲取待寫入的序列號,并將所述序列號寫入至所述第一內(nèi)存地址中。
[0030]在本發(fā)明實施例中,第二內(nèi)存地址上的標(biāo)識信息在默認(rèn)情況下有對應(yīng)的默認(rèn)值,比如OxFFFFFFFF。若寫入序列號后,則所述標(biāo)識信息更新為預(yù)設(shè)值,比如更新為0x00000001。所述預(yù)設(shè)值表明當(dāng)前為序列號已寫入狀態(tài)。在接收到序列號寫入指示信息時,通過判斷所述標(biāo)識信息是否為預(yù)設(shè)值來確定序列號的寫入狀態(tài)。若第二內(nèi)存地址上的標(biāo)識信息不為預(yù)設(shè)值,則表明當(dāng)前的序列號寫入狀態(tài)為未寫入狀態(tài),將待寫入的序列號寫入至所述第一內(nèi)存地址中。否則,當(dāng)?shù)诙?nèi)存地址上的標(biāo)識信息為預(yù)設(shè)值時,表明當(dāng)前的序列號寫入狀態(tài)為已寫入狀態(tài),則執(zhí)行步驟S205。
[0031 ] 進(jìn)一步地,所述方法還包括:
[0032]在步驟S204中,在序列號寫入后,將所述第二內(nèi)存地址中的標(biāo)識信息更新為已寫入狀態(tài)。
[0033]進(jìn)一步地,步驟S102還包括:
[0034]在步驟S205中,若所述序列號的寫入狀態(tài)為已寫入狀態(tài)時,結(jié)束序列號的寫入操作,并輸出寫入失敗的提示信息。
[0035]在寫入序列號后,將第二內(nèi)存地址中的標(biāo)識信息更新為已寫入狀態(tài),比如更新為上述的預(yù)設(shè)值0x00000001。當(dāng)再次接收到序列號寫入指示信息時,則將重復(fù)執(zhí)行步驟S201、S202、S205,從而可以避免重復(fù)寫入序列號,且無需寫入OTP中,實現(xiàn)了在無OTP下寫入唯一的序列號,解決了在無OTP下無法寫入唯一的序列號的問題,使得在無OTP下也可以實現(xiàn)基于序列號的驗證操作。
[0036]圖3示出了本發(fā)明實施例提供的序列號的寫入裝置的組成結(jié)構(gòu),為了便于說明,僅示出了與本發(fā)明實施相關(guān)的部分。
[0037]在本發(fā)明實施例中,所述寫入裝置用于實現(xiàn)上述圖1或圖2實施例中所述的序列號的寫入方法,可以是內(nèi)置于終端設(shè)備的軟件單元、硬件單元或者軟硬件結(jié)合的單元。所述終端設(shè)備優(yōu)選為計算機(jī)。在本發(fā)明實施例中,所述計算機(jī)用于將產(chǎn)品的序列號