精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

STM32加密問題:怎樣預(yù)置一段Flash讀保護和清除讀保護的程序

工程師鄧生 ? 來源:未知 ? 作者:劉芹 ? 2023-10-29 17:24 ? 次閱讀

STM32加密問題:怎樣預(yù)置一段Flash讀保護和清除讀保護的程序

在STM32加密方案中,為了對芯片進行加密,我們需要加入讀保護功能。讀保護功能即使未經(jīng)授權(quán)的人無法讀取芯片的Flash程序,在STM32芯片中,我們可以通過設(shè)置BFB2和BFB1位來對Flash進行保護。BFB2位用于讀保護和寫保護,其中1表示打開讀保護和寫保護,0表示關(guān)閉讀保護和寫保護;BFB1位用于寫保護,1表示打開寫保護,0表示關(guān)閉寫保護。在本文中,我們將討論如何預(yù)置一段Flash讀保護和清除讀保護的程序。

預(yù)置Flash讀保護程序:

我們首先需要在STM32中編寫一段Flash讀保護程序。該程序主要用于保護芯片的程序不被未經(jīng)授權(quán)的人讀取。以下是預(yù)置Flash讀保護程序的步驟:

1.選擇合適的開發(fā)環(huán)境。建議使用Keil MDK Arm開發(fā)環(huán)境。

2.創(chuàng)建一個新的工程并定義一個main函數(shù)。可以按照以下代碼定義main函數(shù):

int main(void) {
//對Flash進行讀保護
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_2);
FLASH_OB_Launch();
FLASH_OB_Lock();

//程序執(zhí)行完畢后重啟
NVIC_SystemReset();

while(1);

}

在此代碼中,我們使用FLASH_OB_RDPConfig函數(shù)來設(shè)置讀保護級別。OB_RDP_Level_2表示設(shè)置為級別2,也就是最高級別的讀保護。FLASH_OB_Launch函數(shù)用于啟動Flash設(shè)置操作,然后使用FLASH_OB_Lock函數(shù)鎖定Flash。

3.編譯并下載程序到STM32芯片。完成以上步驟后,芯片現(xiàn)在將受到讀保護。

預(yù)置Flash清除讀保護程序:

如果我們需要更改STM32芯片的Flash保護設(shè)置,我們需要先清除讀保護。以下是預(yù)置Flash清除讀保護程序的步驟:

1.創(chuàng)建一個新的工程并定義一個main函數(shù)。可以按照以下代碼定義main函數(shù):

int main(void) {
//對Flash進行清除讀保護
FLASH_OB_Unlock();
FLASH_OB_RDPConfig(OB_RDP_Level_0);
FLASH_OB_Launch();
FLASH_OB_Lock();

//程序執(zhí)行完畢后重啟
NVIC_SystemReset();

while(1);

}

在此代碼中,我們使用FLASH_OB_RDPConfig函數(shù)將讀保護級別設(shè)置為0,這意味著芯片上的讀保護已被禁用。代碼還使用FLASH_OB_Launch函數(shù)和FLASH_OB_Lock函數(shù)鎖定Flash。

2.編譯并下載程序到STM32芯片。完成以上步驟后,讀保護已被禁用。

總結(jié):

通過編寫預(yù)置Flash讀保護和清除讀保護程序,我們可以更有效地保障STM32芯片的安全性。需要注意的是,在進行這些操作時,需要仔細檢查代碼,確保程序正確地執(zhí)行了讀保護和清除讀保護動作,并且不會導(dǎo)致芯片的其他問題。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • FlaSh
    +關(guān)注

    關(guān)注

    10

    文章

    1623

    瀏覽量

    147785
  • STM32
    +關(guān)注

    關(guān)注

    2266

    文章

    10876

    瀏覽量

    354926
  • 芯片加密
    +關(guān)注

    關(guān)注

    0

    文章

    8

    瀏覽量

    9394
收藏 人收藏

    評論

    相關(guān)推薦

    相間距離保護一段保護范圍介紹

    引言 電力系統(tǒng)是現(xiàn)代社會的重要基礎(chǔ)設(shè)施,其安全穩(wěn)定運行對于保障國民經(jīng)濟和人民生活具有重要意義。在電力系統(tǒng)中,相間距離保護種重要的保護方式,其主要作用是保護電力系統(tǒng)的相間故障。
    的頭像 發(fā)表于 08-05 10:11 ?695次閱讀

    BLUENRG-LP開啟保護的問題求解

    樣的結(jié)果。 2.嘗試在程序中通過軟件操作FLASH寄存器開啟保護,結(jié)果也是樣,開啟后,復(fù)位
    發(fā)表于 05-29 06:20

    STM32G0如果只執(zhí)行寫保護編程時,先擦除選項字節(jié),此時保護字節(jié)是FF,那是不是就讀保護生效了?

    如果只執(zhí)行寫保護編程時,先擦除選項字節(jié),此時保護字節(jié)是FF,那是不是就讀保護生效了?程序再修改為A5,會不會就引起
    發(fā)表于 05-20 08:17

    STM32F1 IAP操作保護選項字節(jié)設(shè)置,APP使用系統(tǒng)復(fù)位跳轉(zhuǎn)后無法運行IAP的原因?

    最近調(diào)試程序,是基于STM32F1做的IAP,升級前后需要修改選項字節(jié),FLASH_EraseOptionBytes函數(shù)內(nèi)OB->RDP=RDP_Key語句實現(xiàn)
    發(fā)表于 05-13 08:09

    求助,關(guān)于STM32F302_FLASH保護的問題求解

    查看好些STM32F302資料,想通過FLASH保護來實現(xiàn)加密功能,添加以下代碼后,沒能實現(xiàn)預(yù)期功能: #define OB_RDP_L
    發(fā)表于 05-08 06:26

    STM32是如何從flash讀取指令并執(zhí)行的?

    [td]因為STM32H750自帶的FLASH太小,而工程文件超過這個flash的容量,所以需要外掛flash來存
    發(fā)表于 04-24 07:09

    請問STM32怎么在代碼中把保護加進去呢?

    STM32怎么在代碼中把保護加進去呢?
    發(fā)表于 04-16 06:28

    STM32F7開啟保護Level2后,還能擦除重新燒錄程序嗎?

    STM32F7開啟保護Level2之后,還能擦除重新燒錄程序嗎?
    發(fā)表于 04-01 07:38

    STM32F030F4P6下載程序時提示Unable to run verification,設(shè)置保護失敗的原因?

    新買的芯片STM32F030F4P6,測試時使用ST LINK可以正常連接讀取FLASH,下載程序時提示Unable to run verification!然后嘗試設(shè)置
    發(fā)表于 03-27 06:37

    STM32G0加保護后為什么就連不上了?

    STM32G0 加保護 百分之十芯片 發(fā)現(xiàn)再次連接不上用Jlink STLink都不行 怎么可以連接上
    發(fā)表于 03-25 06:27

    stm32誤設(shè)置RDP保護LV2 chip protection怎么恢復(fù)啊?

    stm32 誤設(shè)置 RDP 保護LV2chip protection 怎么恢復(fù)
    發(fā)表于 03-19 08:29

    STM32 FLASH模擬EEPROM,燒寫程序時設(shè)置為保護Level-2級別,還能正常讀寫這個模擬的EEPROM嗎?

    STM32系列內(nèi)部FLASH模擬EEPROM,燒寫程序時設(shè)置為保護Level-2級別,還能正常讀寫這個模擬的EEPROM嗎?
    發(fā)表于 03-13 07:34

    STM32F407串口IDLE標(biāo)識被自動清除是為什么呢?

    我現(xiàn)在有一段STM32F407的程序,我寫了串口收發(fā)的程序,但我發(fā)現(xiàn)每次stm32接收完數(shù)據(jù)后IDLE標(biāo)識被自動
    發(fā)表于 03-07 07:38

    PSoC6怎么設(shè)置Flash保護防止被外部讀取?

    PSoC6 怎么設(shè)置Flash保護,防止被外部讀取,最好是通過軟件設(shè)置。
    發(fā)表于 02-18 08:08

    介紹種使用MDK解除保護的方法

    經(jīng)歷過產(chǎn)品量產(chǎn)的同學(xué)應(yīng)該都知道,芯片般會在出廠時開啟保護:要么在代碼中加入,要么在燒錄程序后人工通過軟件開啟該功能,比如 STM32 S
    的頭像 發(fā)表于 12-26 09:18 ?1017次閱讀
    介紹<b class='flag-5'>一</b>種使用MDK解除<b class='flag-5'>讀</b><b class='flag-5'>保護</b>的方法