一、STM32對(duì)內(nèi)部Flash的保護(hù)措施
所有STM32的芯片都提供對(duì)Flash的保護(hù),防止對(duì)Flash的非法訪(fǎng)問(wèn) - 寫(xiě)保護(hù)和讀保護(hù)。
1、讀保護(hù)即大家通常說(shuō)的“加密”,是作用于整個(gè)Flash存儲(chǔ)區(qū)域。一旦設(shè)置了Flash的讀保護(hù),內(nèi)置的Flash存儲(chǔ)區(qū)只能通過(guò)程序的正常執(zhí)行才能讀出,而不能通過(guò)下述任何一種方式讀出:A、 通過(guò)調(diào)試器(JTAG或SWD); B、從RAM中啟動(dòng)并執(zhí)行的程序;
2、寫(xiě)保護(hù)是以四頁(yè)(1KB/頁(yè)) Flash存儲(chǔ)區(qū)為單位提供寫(xiě)保護(hù),對(duì)被保護(hù)的頁(yè)實(shí)施編程或擦除操作將不被執(zhí)行,同時(shí)產(chǎn)生操作錯(cuò)誤標(biāo)志。
讀與寫(xiě)設(shè)置的效果見(jiàn)下表:
讀保護(hù) | 寫(xiě)保護(hù) | 對(duì)Flash的操作功能 |
有效 | 有效 | CPU只能讀,禁止調(diào)試和非法訪(fǎng)問(wèn)。 |
有效 | 無(wú)效 | CPU可以讀寫(xiě),禁止調(diào)試和非法訪(fǎng)問(wèn),頁(yè)0~3為寫(xiě)保護(hù)。 |
無(wú)效 | 有效 | CPU可讀,允許調(diào)試和非法訪(fǎng)問(wèn)。 |
無(wú)效 | 無(wú)效 | CPU可以讀寫(xiě),允許調(diào)試和非法訪(fǎng)問(wèn)。 |
二、當(dāng)Flash讀保護(hù)生效時(shí),CPU執(zhí)行程序可以讀受保護(hù)的Flash區(qū),但存在兩個(gè)例外情況:
1、調(diào)試執(zhí)行程序時(shí);
2、從RAM啟動(dòng)并執(zhí)行程序時(shí)
STM32還提供了一個(gè)特別的保護(hù),即對(duì)Flash存儲(chǔ)區(qū)施加讀保護(hù)后,即使沒(méi)有啟用寫(xiě)保護(hù),F(xiàn)lash的第 0 ~ 3 頁(yè)也將處于寫(xiě)保護(hù)狀態(tài),這是為了防止修改復(fù)位或中斷向量而跳轉(zhuǎn)到RAM區(qū)執(zhí)行非法程序代碼。
三、Flash保護(hù)的相關(guān)函數(shù)
FLASH_Unlock(); //Flash解鎖
FLASH_ReadOutProtection(DISABLE); //Flash讀保護(hù)禁止
FLASH_ReadOutProtection(ENABLE); //Flash讀保護(hù)允許
四、stm32設(shè)置讀保護(hù)和解除讀保護(hù)操作
1、功能:讀保護(hù)設(shè)置后將不能讀出flash中的內(nèi)容;當(dāng)解除讀保護(hù)的時(shí)候stm32會(huì)自動(dòng)擦除整個(gè)flash,起到保護(hù)數(shù)據(jù)的作用。
2、設(shè)置讀保護(hù):在程序的開(kāi)頭加入“設(shè)置讀保護(hù)”的代碼即可,每次運(yùn)行代碼時(shí)都檢查一下,如果沒(méi)有開(kāi)就打開(kāi),如果打開(kāi)了就跳過(guò)。
3、解除讀保護(hù):解除讀保護(hù)可以設(shè)置在按鍵里面,方便實(shí)現(xiàn)解鎖,也可以設(shè)置在命令中。
4、設(shè)置讀保護(hù)的代碼:
int main(void)
{
...
if (FLASH_GetReadOutProtectionStatus()!=SET) //檢查設(shè)置讀保護(hù)與否
{
FLASH_Unlock(); //寫(xiě)保護(hù)時(shí)可以不用這句話(huà),可用可不用
FLASH_ReadOutProtection(ENABLE); //設(shè)置讀保護(hù)
}
...
while(1)
{
...
}
}
注意:芯片讀保護(hù)后,無(wú)法再次燒寫(xiě)新的程序到flash中,必須要解除讀保護(hù)才可以,測(cè)試需謹(jǐn)慎。
5、解除讀保護(hù)代碼:
void Off_Protect(void) //關(guān)閉保護(hù)
{
if(FLASH_GetReadOutProtectionStatus() != RESET)
{
FLASH_Unlock(); //不解鎖FALSH也可設(shè)置讀保護(hù),可用可不用
FLASH_ReadOutProtection(DISABLE);
FLASH_Lock(); //上鎖
}
}
程序中設(shè)置一個(gè)按鍵或者命令,可以隨時(shí)解除flash的讀保護(hù),讓芯片又可以重新燒錄程序。如果沒(méi)有留,還可以專(zhuān)門(mén)寫(xiě)一個(gè)程序,下載到RAM中去運(yùn)行,用來(lái)解除讀保護(hù)。執(zhí)行后,flash會(huì)自動(dòng)全部擦除。
int main(void)
{
Chip_Init();
FLASH_Unlock(); //不解鎖FALSH也可設(shè)置讀保護(hù),可用可不用
FLASH_ReadOutProtection(DISABLE);
}
五、測(cè)試
下載并執(zhí)行設(shè)置讀保護(hù)代碼后,再次下載程序顯示:
說(shuō)明已經(jīng)啟動(dòng)了 讀保護(hù),無(wú)法再次下載程序了。
通過(guò)ST-LINK Utility連接芯片,提示讀保護(hù),無(wú)法讀取flash數(shù)據(jù):
這個(gè)時(shí)候,需要調(diào)用解除讀保護(hù)的代碼即可恢復(fù)。
上一篇:stm32使用 ST-LINK Utility量產(chǎn),程序讀保護(hù)、寫(xiě)保護(hù)
下一篇:stm32芯片利用唯一ID對(duì)程序進(jìn)行加密的一種方法
推薦閱讀
史海拾趣
由于我無(wú)法直接獲取Avel Lindberg公司的詳細(xì)發(fā)展資料,因此我無(wú)法直接為您撰寫(xiě)5個(gè)關(guān)于該公司發(fā)展起來(lái)的具體故事。不過(guò),我可以為您提供一個(gè)通用的故事框架,您可以根據(jù)這個(gè)框架結(jié)合公司的公開(kāi)信息來(lái)撰寫(xiě)相關(guān)故事。
Avel Lindberg公司發(fā)展故事框架
-
創(chuàng)業(yè)初期: 描述Avel Lindberg公司成立的背景,包括創(chuàng)始人或核心團(tuán)隊(duì)的愿景、行業(yè)趨勢(shì)以及初始產(chǎn)品或服務(wù)??梢蕴峒肮救绾慰朔鮿?chuàng)期的困難,如資金短缺、市場(chǎng)競(jìng)爭(zhēng)激烈等問(wèn)題,逐漸在市場(chǎng)上站穩(wěn)腳跟。
-
技術(shù)突破: 講述公司在某個(gè)關(guān)鍵時(shí)期實(shí)現(xiàn)的技術(shù)突破,這項(xiàng)突破可能是對(duì)既有技術(shù)的改進(jìn),也可能是全新技術(shù)的研發(fā)。這個(gè)突破如何幫助公司打開(kāi)了新的市場(chǎng)領(lǐng)域,提升了競(jìng)爭(zhēng)力,成為行業(yè)內(nèi)的領(lǐng)軍者。
-
合作與擴(kuò)展: 描述公司如何通過(guò)與其他企業(yè)、研究機(jī)構(gòu)或高校建立合作關(guān)系,來(lái)擴(kuò)大業(yè)務(wù)范圍或提升技術(shù)水平。這些合作可能涉及共同研發(fā)、市場(chǎng)拓展、品牌建設(shè)等方面,對(duì)公司的長(zhǎng)期發(fā)展產(chǎn)生了積極影響。
-
國(guó)際化戰(zhàn)略: 講述公司如何逐步實(shí)施國(guó)際化戰(zhàn)略,進(jìn)入海外市場(chǎng)。這包括公司如何分析國(guó)際市場(chǎng)的需求和競(jìng)爭(zhēng)態(tài)勢(shì),制定合適的市場(chǎng)進(jìn)入策略,以及在國(guó)際市場(chǎng)上取得的成就和面臨的挑戰(zhàn)。
-
社會(huì)責(zé)任與可持續(xù)發(fā)展: 介紹公司在發(fā)展過(guò)程中如何關(guān)注社會(huì)責(zé)任和可持續(xù)發(fā)展。這可以包括公司在環(huán)保、員工福利、社區(qū)支持等方面的舉措,以及這些舉措如何提升了公司的社會(huì)形象和品牌價(jià)值。
在撰寫(xiě)具體故事時(shí),您可以根據(jù)Avel Lindberg公司的實(shí)際情況調(diào)整上述框架中的內(nèi)容,并結(jié)合公司的官方公告、新聞報(bào)道和行業(yè)分析報(bào)告等資料來(lái)豐富細(xì)節(jié)。同時(shí),請(qǐng)確保所描述的事實(shí)準(zhǔn)確無(wú)誤,避免主觀評(píng)價(jià)和猜測(cè)。
隨著產(chǎn)品線(xiàn)的不斷豐富,AMP開(kāi)始積極尋求市場(chǎng)拓展的機(jī)會(huì)。公司通過(guò)與國(guó)內(nèi)外知名企業(yè)的戰(zhàn)略合作,成功將產(chǎn)品打入更廣闊的市場(chǎng)。同時(shí),AMP還積極參加各類(lèi)行業(yè)展會(huì)和論壇,與業(yè)界同仁交流學(xué)習(xí),不斷提升自身的市場(chǎng)競(jìng)爭(zhēng)力。
GISMA深知客戶(hù)需求的重要性,因此始終將客戶(hù)需求放在首位。公司擁有一支專(zhuān)業(yè)的研發(fā)團(tuán)隊(duì)和客戶(hù)服務(wù)團(tuán)隊(duì),能夠根據(jù)客戶(hù)的具體需求量身定制產(chǎn)品,提供從設(shè)計(jì)到生產(chǎn)的全方位服務(wù)。這種定制化服務(wù)模式不僅贏得了客戶(hù)的廣泛贊譽(yù),也進(jìn)一步鞏固了GISMA在電子行業(yè)中的市場(chǎng)地位。通過(guò)深入了解客戶(hù)需求,GISMA不斷優(yōu)化產(chǎn)品設(shè)計(jì)和生產(chǎn)流程,為客戶(hù)提供更加優(yōu)質(zhì)的產(chǎn)品和服務(wù)。
Captive Fastener公司深知產(chǎn)品質(zhì)量是企業(yè)生存和發(fā)展的關(guān)鍵。公司建立了嚴(yán)格的質(zhì)量管理體系,從原材料采購(gòu)到生產(chǎn)加工、產(chǎn)品檢驗(yàn)等各個(gè)環(huán)節(jié)都進(jìn)行嚴(yán)格把關(guān)。此外,公司還定期對(duì)員工進(jìn)行質(zhì)量意識(shí)和技能培訓(xùn),確保每一道工序都符合質(zhì)量標(biāo)準(zhǔn)。這些措施有效提升了公司的產(chǎn)品質(zhì)量和客戶(hù)滿(mǎn)意度。
澤耀科技(Ashining)在創(chuàng)立之初,面臨著資金短缺、市場(chǎng)競(jìng)爭(zhēng)激烈和技術(shù)難題等挑戰(zhàn)。然而,公司的創(chuàng)始人憑借對(duì)電子行業(yè)的深刻理解和堅(jiān)定信念,帶領(lǐng)團(tuán)隊(duì)攻堅(jiān)克難,不斷研發(fā)創(chuàng)新。他們深入市場(chǎng)調(diào)研,準(zhǔn)確把握消費(fèi)者需求,成功推出了一款具有競(jìng)爭(zhēng)力的電子產(chǎn)品,為公司的發(fā)展打開(kāi)了局面。
隨著全球環(huán)保意識(shí)的日益增強(qiáng),ATS積極響應(yīng)國(guó)家號(hào)召,將環(huán)保理念融入公司的產(chǎn)品和服務(wù)中。公司開(kāi)始研發(fā)和生產(chǎn)符合環(huán)保標(biāo)準(zhǔn)的散熱器產(chǎn)品,采用環(huán)保材料和工藝,減少生產(chǎn)過(guò)程中的污染排放。同時(shí),ATS還加強(qiáng)了對(duì)廢舊產(chǎn)品的回收和處理工作,努力實(shí)現(xiàn)資源的循環(huán)利用。這些舉措不僅提升了ATS的環(huán)保形象,也為公司的可持續(xù)發(fā)展奠定了堅(jiān)實(shí)基礎(chǔ)。
這五個(gè)故事展示了ATS公司在電子行業(yè)中的發(fā)展歷程和取得的成就。從創(chuàng)業(yè)初期的技術(shù)突破,到從咨詢(xún)到制造的轉(zhuǎn)型,再到全球化戰(zhàn)略的實(shí)施和研發(fā)創(chuàng)新能力的持續(xù)提升,ATS始終保持著敏銳的市場(chǎng)洞察力和創(chuàng)新精神。同時(shí),公司還積極踐行環(huán)保理念,為電子行業(yè)的可持續(xù)發(fā)展做出了積極貢獻(xiàn)。
怎么用VHDL語(yǔ)言實(shí)現(xiàn)1602的字母的直接輸入 我想通過(guò)FPGA實(shí)現(xiàn)與1602的控制 想顯示幾個(gè)英文字母 但是不知道用VHDL語(yǔ)言怎么實(shí)現(xiàn) 知道的告訴一聲… 查看全部問(wèn)答∨ |
計(jì)數(shù)器與定時(shí)器一、計(jì)數(shù)概念的引入 從選票的統(tǒng)計(jì)談起:畫(huà)“正”。這就是計(jì)數(shù),生活中計(jì)數(shù)的例子處處可見(jiàn)。例:錄音機(jī)上的計(jì)數(shù)器、家里面用的電度表、汽車(chē)上的里程表等等,再舉一個(gè)工業(yè)生產(chǎn)中的例子,線(xiàn)纜行業(yè)在電線(xiàn)生產(chǎn)出來(lái)之后要計(jì)米,也就是測(cè) ...… 查看全部問(wèn)答∨ |
能否在Hook NtCreateProcessEx時(shí)得到命令行參數(shù) 能否在Hook NtCreateProcessEx時(shí)得到命令行參數(shù) 謝謝… 查看全部問(wèn)答∨ |
|
我用的開(kāi)發(fā)環(huán)境是keil4.20,同樣的UART程序,在一個(gè)工程里可以運(yùn)行,另一個(gè)工程里卻不能運(yùn)行,“屬性設(shè)置”一樣,庫(kù)函數(shù)也一樣。不能運(yùn)行的那個(gè)工程中,在單步調(diào)試的時(shí)候,串口接收數(shù)據(jù)時(shí),程序會(huì)停留在未知中斷的位置。是怎么回事?請(qǐng)高人指點(diǎn),謝 ...… 查看全部問(wèn)答∨ |
我用430多功能編程器LSD-PRGS430-IIIA的JTAG口讀取已燒好的430F1121心片的數(shù)據(jù)(程序)為什么讀不出來(lái)呢?請(qǐng)幫我指點(diǎn)一下,謝謝! JTAG的引腳1、3、5、7分別對(duì)應(yīng)430F1121的引腳20(TDO/TDI)、19(TDI)、18(TMS)、17(TCK), JTAG2號(hào)引腳為Vc ...… 查看全部問(wèn)答∨ |
怎么在不提高電源的情況下級(jí)聯(lián)更多的三極管??? 怎么在不提高電源的情況下級(jí)聯(lián)更多的三極管???電源3v [ 本帖最后由 boofeng2002 于 2012-4-7 15:42 編輯 ]… 查看全部問(wèn)答∨ |
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦
- 【下載】LAT1526 利用SPI的下溢實(shí)現(xiàn)回顯功能
- 【下載】LAT1509 STM32G0B1的FDCAN進(jìn)行通信丟包和多包案例分享
- 【下載】LAT1511 運(yùn)行Ux_Host_HUB_HID_MSC通過(guò)Hub連接U盤(pán)讀寫(xiě)不穩(wěn)定問(wèn)題分析
- 【下載】LAT1466 USB x Device HID Standalone的移植
- 【下載】LAT1488 STM32 USBxDevice MSC standalone移植示例
- 【下載】LAT1482 STM32G0單線(xiàn)串口通信幀錯(cuò)誤問(wèn)題解析
- 如何計(jì)算單片機(jī)的波特率
- STM32單片機(jī)優(yōu)先級(jí)的定義
- 如何采用STM32單片機(jī)實(shí)現(xiàn)IAP功能
- STM32單片機(jī)對(duì)NAND Flash的讀寫(xiě)以及在ASF中的使用
- STM32單片機(jī)SysTick系統(tǒng)滴答功能解析
- STM32單片機(jī)定時(shí)器的時(shí)鐘源設(shè)置
- STM32單片機(jī)PID算法的原則及應(yīng)用方法
- 如何采用STM32單片機(jī)中斷向量控制器NVIC來(lái)分配優(yōu)先級(jí)的數(shù)量
- STM32單片機(jī)固件庫(kù)建立工程的方法及步驟
- 中國(guó)研究人員發(fā)明全新動(dòng)作好奇心算法 增強(qiáng)不確定環(huán)境下的自主導(dǎo)航
- 技術(shù)解析|沃爾沃XC70超級(jí)混動(dòng)有什么亮點(diǎn)?
- 小米汽車(chē):磁吸物理按鍵已接入米家,可通過(guò)APP操控
- 專(zhuān)家專(zhuān)論 | 顧劍民:L2級(jí)輔助駕駛激光雷達(dá)“價(jià)格歸零”
- 近一個(gè)月投資五家!京東密集落子具身智能機(jī)器人賽道
- 海外動(dòng)力電池裝車(chē)量TOP10:3家落榜 一新上榜中企暴增逾10倍
- 吉利汽車(chē):全域AI守護(hù)輔助駕駛安全
- 松下汽車(chē)系統(tǒng)與VicOne深化合作 共拓新一代智能座艙系統(tǒng)安全創(chuàng)新
- 汽車(chē)MCU的“芯”浪潮
- 具身智能如何大規(guī)模推廣?丨具身智能機(jī)器人高質(zhì)量發(fā)展
- 力源帶你了解安森美半導(dǎo)體開(kāi)發(fā)神器——高度靈活的物聯(lián)網(wǎng)開(kāi)發(fā)套件( IDK )!看視頻輕松答題享好禮!
- 報(bào)名2019年ST全國(guó)巡回研討會(huì),贏三重好禮
- 玩游戲 和英飛凌一起解鎖天籟之音
- 挑戰(zhàn)“仙童”歷史知識(shí) 精美禮品等你拿!
- 有獎(jiǎng)直播:AC/DC 在 ATX 及 Server 電源解決方案及應(yīng)用 報(bào)名開(kāi)始啦!
- 我給Xilinx資源中心做貢獻(xiàn)
- 我與BeagleBone 有個(gè)約會(huì)!
- ST電機(jī)評(píng)測(cè)有獎(jiǎng)大作戰(zhàn):領(lǐng)取任務(wù)卡,一起啃電機(jī)驅(qū)動(dòng)難題!
- 我國(guó)集成電路自給率僅為三成
- 2018上半年集成電路進(jìn)口額增32%
- 紫光集團(tuán)辟謠:并未參與收購(gòu)Siltronic AG
- 手機(jī)AI芯片決斗倒計(jì)時(shí)!蘋(píng)果華為高通戰(zhàn)備解密
- MCU大科普
- 京東方發(fā)布了全球首款55寸4K AMQLED
- 原料大漲,覆銅板行業(yè)承壓再迎漲價(jià)潮
- 小米投資企業(yè)利與興創(chuàng)業(yè)板IPO成功過(guò)會(huì)
- 寧波南大光電材料有限公司的首條ArF進(jìn)入5nm時(shí)代
- 寧波南大光電首條ArF光刻膠生產(chǎn)線(xiàn)投產(chǎn),樣品供客戶(hù)測(cè)試
- 周未散分帖
- CONST,STATIC,EXTERN用法總結(jié)!
- ras server 的問(wèn)題
- 【用蘋(píng)果手表作鑰匙】,不要再埋沒(méi)智能手表了
- 寫(xiě)程序上手很容易,但是想寫(xiě)好程序很難啊
- 德州儀器:面向工業(yè)PAC的C6-Integra(DSPARM)解決方案(一)
- 請(qǐng)教一下大家關(guān)于看數(shù)據(jù)手冊(cè)的技巧?
- DSP的IIR數(shù)字濾波器實(shí)現(xiàn)程序源碼
- 請(qǐng)教臺(tái)灣REALTEK(瑞昱)的器件規(guī)格書(shū)應(yīng)該在哪下載?
- 一些基準(zhǔn)源資料