關(guān)于我們
OTP (One Time Programmable) 的介紹
隨著嵌入式應(yīng)用的越來(lái)越廣泛,產(chǎn)品的安全也顯得越來(lái)越重要。一方面是為了保護(hù)硬件設(shè)計(jì),另外一方面也是為了產(chǎn)品本身的安全,防止被HACKED.
在嵌入式系統(tǒng)當(dāng)中,所有的代碼和系統(tǒng)數(shù)據(jù)都是被存儲(chǔ)在FLASH芯片內(nèi)部的。FLASH芯片的特點(diǎn)是可多次擦寫(xiě),而且掉電數(shù)據(jù)不會(huì)丟失。為了保護(hù) FLASH中的數(shù)據(jù),越來(lái)越多的FLASH廠商在FLASH內(nèi)部提供了一種特殊的寄存器:OTP寄存器。OTP=ONE TIME PROGRAMMABLE,意思是這個(gè)寄存器是 只可以編程一次的,編程后就再也不可以修改了。OTP寄存器和FLASH數(shù)據(jù)區(qū)域很類似,1能被改寫(xiě)為0,但0永遠(yuǎn)也不能寫(xiě)成1.如果有一個(gè)32位的OTP 寄存器,出產(chǎn)的值是0xFFFFFFFF,如果用戶通過(guò)編程,將OTP寄存器的值寫(xiě)為0xFFFFFFFE后,那OTP寄存器再也不能在改寫(xiě)為0xFFFFFFFF了;當(dāng)然,這 個(gè)OTP寄存器的值還可以改寫(xiě)為0xFFFFFFFD或其它。。。。。 為了給OTP寄存器提供保護(hù),一般這類FLASH芯片還會(huì)提供一個(gè)LOCK寄存器。LOCK寄存器也是ONE TIME PROGRAMMABLE的。LOCK寄存器的每一位對(duì)應(yīng)于 一個(gè)OTP寄存器。如果與OTP寄存器對(duì)應(yīng)LOCK寄存器的位(BIT)被從1寫(xiě)為0,就意味著這個(gè)被鎖住的OTP寄存器在也不能進(jìn)行寫(xiě)操作了。即使OTP的當(dāng)前值為 0XFFFFFFFF,它的值也永遠(yuǎn)不可以被改寫(xiě)了。 通過(guò)OTP寄存器與LOCK寄存器,用戶可以在OTP里保存一些特定的信息,例如軟件版本號(hào),硬件版本號(hào),秘鑰等信息。同時(shí),這類FLASH芯片內(nèi)部還會(huì) 有另外一個(gè)OTP寄存器,這個(gè)寄存器在出產(chǎn)的時(shí)候就被廠家編程過(guò)了,寫(xiě)入特定的序列號(hào),并LOCK住。如果有需要,F(xiàn)LASH廠商也可以根據(jù)客戶的需要 寫(xiě)入特定的序列號(hào)。這樣,每個(gè)芯片都會(huì)有一個(gè)不一樣的ID號(hào),避免被復(fù)制。 除了FLASH芯片,很多CPU廠商,也在CPU內(nèi)部提供類似的OTP寄存器,供用戶使用,利于開(kāi)發(fā)更安全的應(yīng)用。象一些比較大的廠商,例如TI,F(xiàn)REESCALE 等,他們往往是不公開(kāi)某些芯片的數(shù)據(jù)手冊(cè)的。如果要獲得他們的數(shù)據(jù)手冊(cè),一是要有大量的訂貨,同時(shí)也需要簽署一定的保密協(xié)議。 OTP本身并不能提供絕對(duì)安全的應(yīng)用。但OTP的提供,有利于開(kāi)發(fā)商開(kāi)發(fā)和部署更安全的應(yīng)用,保護(hù)自己和客戶的利益。象很多大的廠商,例如NOKIA, MOTOROAL,SAMSUNG和SONYERRICSON等,都需要根據(jù)客戶(運(yùn)營(yíng)商)的要求,開(kāi)發(fā)一些只能在自己的網(wǎng)絡(luò)里使用的手機(jī)。其中很多軟件和硬件的保護(hù) 都是基于OTP來(lái)實(shí)現(xiàn)的。 以上是一個(gè)簡(jiǎn)單的介紹,僅供參考,如有不當(dāng)?shù)牡胤,?qǐng)指出。
上一條: 語(yǔ)音OTP的選用指南
下一條: 什么是OTP
|