當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]前言STM32PCROP專有代碼讀出保護,將某個區(qū)域設(shè)置為僅允許執(zhí)行,可防止代碼被非法讀出與修改。ST網(wǎng)站提供了免費的PCROP參考代碼,但是例程中僅僅提供了用代碼設(shè)置PCROP。為方便利用PCROP進(jìn)行知識產(chǎn)權(quán)保護的開發(fā)和部署

前言
STM32PCROP專有代碼讀出保護,將某個區(qū)域設(shè)置為僅允許執(zhí)行,可防止代碼被非法讀出與修改。ST網(wǎng)站提供了免費的PCROP參考代碼,但是例程中僅僅提供了用代碼設(shè)置PCROP。為方便利用PCROP進(jìn)行知識產(chǎn)權(quán)保護的開發(fā)和部署,這篇文章提供了方法,可在RDP級別設(shè)置為1或者0時,使用代碼清除PCROP。

ST網(wǎng)站上的PCROP參考代碼
學(xué)習(xí)使用PCROP,可從ST網(wǎng)站下載文檔以及參考代碼。文檔里有一步一步的詳細(xì)說明。參考代碼則實現(xiàn)了,如何設(shè)置編譯開發(fā)環(huán)境去掉文字庫(Literal pool),以避免受保護區(qū)域需要被讀訪問;參考代碼也實現(xiàn)了如何利用代碼使能PCROP保護以及如何導(dǎo)出接口符號供二次開發(fā)使用。
你可以編譯運行PCROP參考代碼。一旦下載到開發(fā)板并運行后,扇區(qū)2會自動被設(shè)置成PCROP保護。你將無法再次下載代碼到該扇區(qū),也無法讀出該扇區(qū)的內(nèi)容。若想通過STLink工具解除PCROP保護,則會導(dǎo)致整個Flash被擦除。

使用代碼清除PCROP
在熟悉ST網(wǎng)站上的PCROP參考代碼基礎(chǔ)之上,我們將討論如何使用代碼清除PCROP。

1. 原理
根據(jù)STM32用戶手冊,要想清除PCROP保護,讀保護RDP級別必須從1設(shè)置成0。也就是說,即使當(dāng)前RDP級別為0,我們也要使用代碼將其設(shè)置成1。然后,同時關(guān)掉PCROP和將RDP設(shè)置成0。這也說明,盡管是清除PCROP保護,我們的代碼必須加入RDP的設(shè)置函數(shù), 而不能僅僅修改參考代碼中的PCROP_Enable的狀態(tài)字段使其變成PCROP_Disable。




2. 材料準(zhǔn)備
開發(fā)板:STM32F429I_Discovery
開發(fā)工具:STM32Cube_FW_F4_V1.15.0
STM32CubeExpansion_AN4701_F4_V1.0.0(從ST網(wǎng)站下載的參考代碼)
STM32STLink
IAR/Keil
注:也可以選擇其他支持PCROP的STM32系列,并選擇相應(yīng)的STM32開發(fā)板與STM32固件庫。

3. 代碼
? ●設(shè)置RDP到級別1
該函數(shù)在RDP級別為0時,若需要清除PCROP, 必須被使用。




? ●設(shè)置RDP到級別0
在清除PCROP保護的代碼里不會直接調(diào)用這個函數(shù)。參考手冊提到,PCROP的清除必須與RDP從1到0同時發(fā)生,而下列RDP_Disable函數(shù)則是完整獨立的,無法與PCROP的Option bytes同時操作。不過,這個代碼的中間部分,也就是實際功能部分,將在清除PCROP時被重用。




? ●清除PCROP
下述代碼清除PCROP,它基于參考代碼中的PCROP_Enable函數(shù)改寫而成。首先,它通過RDP_Enable將RDP設(shè)置成1。注意實驗中不要將RDP設(shè)置成為2,否則所有的Option bytes將不再被允許修改。然后將RDP和PCROP都設(shè)置完畢,調(diào)用一次HAL_FLASH_OB_Launch達(dá)到同時將RDP設(shè)置成1并清除PCROP保護。







4.運行
在主函數(shù)中,調(diào)用PCROP_Disable可解除PCROP保護。RDP_Enable后需要關(guān)閉電源,重新啟動,然后系統(tǒng)正常運行解除PCROP保護。解除保護后,可通過STLink確認(rèn)PCROP Option bytes已恢復(fù),同時也可以看到整個Flash內(nèi)容已被擦除。

結(jié)論
本文討論了完全使用代碼控制PCROP的設(shè)置與清除。它可以使用在PCROP代碼保護的開發(fā)與部署階段。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉