欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標(biāo)題: ST MCU芯片加密了還能再次使用嗎? [打印本頁(yè)]

作者: taoran    時(shí)間: 2015-12-7 02:37
標(biāo)題: ST MCU芯片加密了還能再次使用嗎?
整理:MilerShao

先說(shuō)明下,這里說(shuō)的加密僅指對(duì)MCU芯片做讀保護(hù)處理,畢竟MCU芯片加密是個(gè)非常寬泛的概念和藝術(shù)。

有時(shí)會(huì)有人就ST MCU讀保護(hù)加密后能否二次使用的問題進(jìn)行咨詢,偶爾也有極少數(shù)人問及ST MCU是否具有加密功能。

ST MCU的芯片都是FLASH型的,不論是STM8系列還是STM32系列都可以做讀保護(hù)加密,以防程序代碼被輕易讀出,從而達(dá)到保護(hù)開發(fā)者知識(shí)產(chǎn)權(quán)等相關(guān)權(quán)益。關(guān)于ST MCU的讀保護(hù)加密及芯片能否二次使用話題,得按STM8STM32兩大系列分開來(lái)說(shuō),二者在讀保護(hù)處理上有差異。

 

一、STM8系列芯片讀保護(hù)實(shí)施及解除

 

對(duì)于STM8系列芯片,都可以進(jìn)行讀保護(hù)。ST官方有提供一個(gè)STVP的軟件工具【它是經(jīng)過STTOOLSET這個(gè)安裝包安裝的】,可以對(duì)STM8芯片的OPTION項(xiàng)進(jìn)行編程,將OPTION中的讀保護(hù)項(xiàng)打開,設(shè)置為ON,然后進(jìn)行芯片編程就能使能芯片的讀保護(hù)。之后,用戶程序代碼就不能被讀出來(lái)了。還有部分STM8芯片【FLASH容量大于等于16K的芯片】往往支持通過UART、CAN、SPI等接口進(jìn)行的系統(tǒng)編程,即ISP。ST官方有提供了一個(gè)Flash loader demonstrator工具軟件,也可以利用它對(duì)STM8芯片進(jìn)行芯片讀保護(hù)加密。

在讀保護(hù)狀態(tài)下,既不能讀取芯片內(nèi)的程序代碼,也不能對(duì)芯片進(jìn)行再次做程序編寫或調(diào)試了。

 

 

 

 

那如果想對(duì)做過讀保護(hù)加密的STM8芯片再次使用呢?還是可以利用上面提到的2個(gè)工具進(jìn)行解除讀保護(hù)。解除讀保護(hù)后芯片內(nèi)原來(lái)的程序代碼全部煙消云散,不復(fù)存在

第一種還是通過STVP軟件工具,將OPTION項(xiàng)中讀保護(hù)項(xiàng)ROP關(guān)閉,即設(shè)置為OFF,然后進(jìn)行OPITON單獨(dú)編程,之后芯片內(nèi)部程序代碼全部被擦除,讀保護(hù)解開,芯片就猶如一顆新的芯片,可以再次使用。

還有一種辦法就是,對(duì)于支持ISP功能的STM8芯片。利用上面提到的Flash loader demonstrator工具軟件,將設(shè)置過讀保護(hù)的STM8芯片進(jìn)行芯片讀保護(hù)解除。之后,芯片可以再次使用。

當(dāng)然,也可以借助其它第三方工具進(jìn)行上述操作,原理是一樣的。另外,除了利用上面提到的軟件工具對(duì)MCU芯片做讀保護(hù)加密外,用戶也可以自行編程對(duì)OPTION項(xiàng)編程而達(dá)到對(duì)芯片讀保護(hù)之目的。

二、STM32系列芯片讀保護(hù)實(shí)施及解除

對(duì)于STM32芯片的讀保護(hù)的實(shí)施及解除怎么操作呢?目前為止,通用性STM32 MCU有9個(gè)系列。其中除了32F1系列只具有1級(jí)讀保護(hù)外,其它8個(gè)子系列都具有2級(jí)讀保護(hù)。 也就是說(shuō)從讀保護(hù)處理上看,32F1系列跟其它幾個(gè)芯片要稍遜一籌。 順便說(shuō)下,其實(shí)后出的基于CORTEX M4的內(nèi)核STM32F3系列的性價(jià)比要遠(yuǎn)高于32F1系列,支持DSP和FPU,外設(shè)更為豐富

                     

ST MCU技術(shù)手冊(cè)上提到3級(jí),即LEVEL 0,LEVEL 1,LEVEL 2。其中LEVEL 0 就是不做讀保護(hù)級(jí)別。如果芯片被設(shè)置LEVEL 1讀保護(hù),在LEVEL 1級(jí)狀態(tài)下,既不能讀取芯片內(nèi)的程序代碼內(nèi)容,也不能對(duì)芯片再次做存儲(chǔ)空間的擦寫或芯片調(diào)試了。FLASH存儲(chǔ)器和備份域寄存器都不能被訪問,即使強(qiáng)行訪問也會(huì)出錯(cuò)。實(shí)施這步的操作可以利用ST官方的STLINK UTILITY工具、STVP 工具、Flash loader demonstrator來(lái)進(jìn)行,將OPTION里的RDP選項(xiàng)選擇LEVEL 1,之后進(jìn)行編程。

下面是兩個(gè)工具STLINK UTILITY和STVP的操作界面示意圖。

 

 

 

 

此時(shí),LEVEL 1級(jí)讀保護(hù)是可以解除的,同樣可以利用上面的工具來(lái)完成。操作步驟跟加密動(dòng)作類似,只是把讀保護(hù)級(jí)別選擇為L(zhǎng)EVEL 0,然后進(jìn)行OPTION編程,芯片讀保護(hù)解除,此時(shí)芯片內(nèi)的程序代碼全部清空。顯然,經(jīng)過LEVEL 1讀保護(hù)后,選項(xiàng)字節(jié)的訪問是被開放了出來(lái)。

至于如何啟用LEVEL 2級(jí)讀保護(hù)加密,有2鐘方式。第一種就是直接從LEVEL 0通過對(duì)讀保護(hù)選項(xiàng)字RDP進(jìn)行編程讓芯片進(jìn)入LEVEL 2級(jí)保護(hù);還有一種就是從LEVEL 1的基礎(chǔ)上,做一次RDP編程進(jìn)入到LEVEL 2級(jí)保護(hù)。具體的操作還是可以利用ST官方的STLINK UTILITY工具、STVP 工具、Flash loader demonstrator來(lái)進(jìn)行,將OPTION欄里的RDP選項(xiàng)選擇LEVEL 2之后進(jìn)行編程。操作跟LEVEL 1級(jí)讀保護(hù)一樣,只是選項(xiàng)不一樣而已。

 

不過LEVEL 2級(jí)讀保護(hù)是不可逆的,即不能像LEVEL 1一樣可以被解除。經(jīng)過LEVEL 2級(jí)讀保護(hù)的芯片,除了內(nèi)部程序代碼不可訪問外,連從RAM或系統(tǒng)閃存引導(dǎo)啟動(dòng)的特性及調(diào)試模式都被永久禁用了,JTAG調(diào)試接口被鎖死。此時(shí)既不可能通過JTAG調(diào)試口訪問芯片,也不能通過ISP的方式跟芯片相連來(lái)訪問芯片或者對(duì)RDP選型字節(jié)進(jìn)行修改。即使片內(nèi)用戶程序也只能修改RDP選項(xiàng)以外的部分選項(xiàng)。

總之,經(jīng)過LEVEL 2讀保護(hù)加密后,除了用戶程序能正常運(yùn)行外,若還想從外部對(duì)芯片做什么調(diào)試或修改或擦除后再次使用,那是沒機(jī)會(huì)了,基本上它就是一塊磚。如果說(shuō)經(jīng)過LEVEL 2級(jí)讀保護(hù)加密的芯片有啥故障想做測(cè)試分析的話,即使交到ST 原廠也沒有辦法。

 

下面是兩級(jí)讀保護(hù)加密的不同級(jí)別走向示意圖。很明顯,LEVEL 0/1間是可以往返的,LEVEL 2級(jí)就不可返回了。同樣,除了利用上面提到的軟件工具對(duì)STM32芯片做讀保護(hù)加密外,用戶也可以自行編程對(duì)OPTION項(xiàng)編程而達(dá)到對(duì)芯片讀保護(hù)之目的。

 

小結(jié)下:目前STM32的9個(gè)系列里面,除了F1系列只有1級(jí)讀保護(hù)外,其它都具有兩級(jí)讀保護(hù)。其中2級(jí)保護(hù)對(duì)調(diào)試口、系統(tǒng)引導(dǎo)啟動(dòng)功能都予以不可逆的禁用,保護(hù)深度、難度都比1級(jí)讀保護(hù)更強(qiáng)。一般調(diào)試時(shí)不用隨意啟用LEVEL 2級(jí)讀保護(hù),不然想修改代碼只得換芯片了。只有在產(chǎn)品調(diào)試、測(cè)試、試產(chǎn)穩(wěn)定后可以考慮啟用LEVEL 2保護(hù)。

最后以分享一個(gè)問題來(lái)結(jié)束。如果有人希望產(chǎn)品代碼測(cè)試驗(yàn)證穩(wěn)定后將MCU芯片做2級(jí)讀保護(hù),但又希望未來(lái)還可以做程序升級(jí),可行否?如果可行,如何操作?

 

             【拋磚引玉 旨在交流,如有錯(cuò)疏 歡迎賜教】

 

 


作者: janson    時(shí)間: 2017-7-23 22:52
收益匪淺收益匪淺。
作者: 笨笨兔    時(shí)間: 2017-8-2 17:26
謝謝。
作者: cw3721    時(shí)間: 2017-8-29 15:56
用加密芯片吧,比較保險(xiǎn)。單片機(jī)都能被破解。推薦你使用SMEC98SP這個(gè)芯片,占用IO少,設(shè)計(jì)簡(jiǎn)單
作者: lin_2017    時(shí)間: 2017-9-4 08:36
謝謝分享
作者: nhwdb    時(shí)間: 2018-10-20 11:17
講解的非常好,看了就明白 了




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1