欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

3天內不再提示

使用debug authentication功能實現(xiàn)調試接口的禁用保護

恩智浦MCU加油站 ? 來源:恩智浦MCU加油站 ? 作者:恩智浦MCU加油站 ? 2022-09-29 08:59 ? 次閱讀

說在前面:站長在恩智浦技術社區(qū)看到了這篇文章,特分享給大家,但有些話還是要說在前面,本文介紹的方法也許適合在LPC55系列不帶S的產(chǎn)品中,但對于型號中具有S的產(chǎn)品,強烈建議使用debug authentication功能實現(xiàn)調試接口的禁用保護。
本文介紹的方法,不能防止通過其他手段(例如通信接口注入)借助代碼從內部再次打開調試接口,只有debug authentication功能才能阻止這種情況。

在LPC早期發(fā)布的一些產(chǎn)品中,如LPC11xx、LPC17xx、LPC18xx、LPC40xx、LPC43xx、LPC8xx等,使用 CRP 實現(xiàn)代碼保護,CRP有三種不同的安全級別:CRP1、CRP2和CRP3,各自的安全級別大體如圖1所示。

de4b24c2-3f8e-11ed-9e49-dac502259ad0.png 圖1

LPC55系列 (LPC55(S)0x, 1x,2x,6x) 不再使用CRP機制進行安全保護,而是用Secure boot,配置PFR(Protected Flash Region)等方式實現(xiàn)。其中,所有帶S (LPC55S) 的芯片支持Secure boot,如LPC55S28,LPC55S06等等。而非S系列產(chǎn)品,如LPC5506,LPC5528等等,只能通過配置FPR相關字段來實現(xiàn)代碼保護。

在CRP的三個安全等級中,CRP2最為常用。在使用CRP2時,SWD的訪問將被阻止,所以SWD沒有辦法對Flash進行讀寫或者擦除操作,ISP也無法對Flash內容進行讀取。此外,未經(jīng)授權的用戶并不能通過擦除部分Flash方式修改現(xiàn)有代碼,一旦設置為CRP2, 只有Mass Erase Flash后才能繼續(xù)正常使用,這樣便有效地阻止了他人讀取和修改代碼。

遺憾的是LPC55系列(LPC55(S)0x, 1x,2x,6x) 沒有和CRP2完全一樣的功能機制,這也是很多初識LPC55的用戶感到不適應的地方。不過,若想實現(xiàn)與CRP2相似的功能我們可以通過配置CMPA實現(xiàn),即禁用ISP和關閉SWD調試口。

1.禁用ISP

客戶制造編程區(qū)域 (CMPA) 屬于PFR的一部分,通過配置BOOT_CFG來選擇ISP模式的啟用情況。 表1為CMPA中9E40字地址開始的字段表,ISP控制域已用紅色標識(如表1),表2為ISP域的模式選擇,111為ISP禁用。若禁用ISP模式,設置BOOT_CFG=0b1110000。 de7756a0-3f8e-11ed-9e49-dac502259ad0.png 表1 df0343ae-3f8e-11ed-9e49-dac502259ad0.png 表2 ?

2. 關閉SWD調試接口

搭配使用 CC_SOCU_PIN 以及 CC_SOCU_DFLT 寄存器,用于定義模塊的SWD調試訪問權限。其中,CC_SOCU_PIN寄存器將調試域細分,不同位代表不同的調試域,對該位置1表示可操作。CC_SOCU_DFLT 寄存器設置可操作調試域的最終訪問級別,置1表示禁用。也就是說,將CC_SOCU_PIN及CC_SOCU_DFLT寄存器相對應的位同時置1,便能禁用該模塊。如圖2。

df2a9f12-3f8e-11ed-9e49-dac502259ad0.png

圖2

兩寄存器低8位的每一位都代表某一子域,將兩寄存器的低8位全部置1,即可關閉全部子域的SWD訪問權限。

3.代碼中實現(xiàn)關閉/開啟ISP和SWD

以LPC5506為例,配置CMPA字段:

關閉ISP和SWD:

df7ea18e-3f8e-11ed-9e49-dac502259ad0.png

除上圖被標紅的三處外,其余皆保持CMPA默認值。

設置BOOT_CFG為0x70,禁用通過ISP 引腳進入ISP 模式功能。

其余兩處0xFF分別為寄存器CC_SOCU_PIN和CC_SOCU_DFLT所在地址,即將調試訪問的子域全部關閉。

開啟ISP及SWD: dfbfc1f0-3f8e-11ed-9e49-dac502259ad0.png 除上圖被標紅的三處外,其余皆保持CMPA默認值。

設置BOOT_CFG為0x00,開啟自動ISP模式。

其余兩處0x00分別為寄存器CC_SOCU_PIN和CC_SOCU_DFLT所在地址,對調試訪問的子域不做修改。

通過串口命令(1或0)開啟或關閉SWD及ISP功能:

e11591a6-3f8e-11ed-9e49-dac502259ad0.png

注意

1. CMPA的設置在Reset或重啟生效,一旦在CMPA里關閉了ISP和SWD, 在斷電前不要擦除或下載其他程序!否則開發(fā)板的ISP和SWD口將永遠鎖死無法使用。
2. 從系統(tǒng)安全的角度考慮,客戶必須了解NXP不承諾可以防范所有的攻擊,客戶需對產(chǎn)品的安全性在系統(tǒng)級別進行詳細評估并采取相應安全措施。

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

    關注

    33

    文章

    8712

    瀏覽量

    151995
  • 代碼
    +關注

    關注

    30

    文章

    4834

    瀏覽量

    69114
  • CMPA
    +關注

    關注

    0

    文章

    1

    瀏覽量

    1316

原文標題:禁用ISP和SWD實現(xiàn)代碼保護

文章出處:【微信號:NXP_SMART_HARDWARE,微信公眾號:恩智浦MCU加油站】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    請問TC1782的調試接口可以禁用嗎?如果禁用了怎么開啟?

    如題,TC1782的調試接口可以禁用嗎?如果禁用了怎么開啟?
    發(fā)表于 02-20 06:20

    如何使用OPT_FLM文件實現(xiàn)解除讀保護功能?

    MDK工程里debug選項選擇燒錄的FLM文件就可以下載調試代碼,那OPT_FLM文件該怎么在工程里使用實現(xiàn)解除讀保護功能呢?直接在
    發(fā)表于 03-28 07:11

    請問ESP-prog是否可以和ESP32-s3適配,實現(xiàn)調試debug功能?

    請問ESP-prog 是否可以和ESP32-s3適配,實現(xiàn)調試debug功能
    發(fā)表于 06-05 06:34

    調試選項已禁用

    我創(chuàng)建了一個基于CG3加密狗項目的項目,然后我不能開始調試。有人說我需要禁用BooTooLable,我試圖禁用它,然后我得到以下建筑錯誤錯誤:CDF.M005:CyDSFIT因錯誤而中止,請?zhí)幚硭?/div>
    發(fā)表于 10-26 15:59

    如何解決STM32禁用SWD調試接口后不能下載程序的問題?

    如何解決STM32禁用SWD調試接口后不能下載程序的問題?
    發(fā)表于 01-27 07:53

    保護設備的調試接口介紹

    。如果TrustZone安全技術實現(xiàn),有時,存儲在設備中的程序代碼。沒有適當?shù)?b class='flag-5'>保護在調試接口的適當位置,第三方可能會執(zhí)行各種攻擊,如: ?復制固件并竊取有價值的軟件評估,例如算法 ?訪
    發(fā)表于 08-02 08:21

    Vivado+FPGA:如何使用Debug Cores(ILA)在線調試

    在Vivado下在線調試是利用ILA進行的,Xilinx官方給出了一個視頻,演示了如何使用Vivado的debug cores,下面我根據(jù)這個官方視頻的截圖的來演示一下: 官方的視頻使用的軟件版本為
    發(fā)表于 02-08 08:52 ?2737次閱讀

    STM32F1系列DEBUG調試功能需要配置嗎?

    STM32F1系列的DEBUG調試功能需要配置嗎?
    的頭像 發(fā)表于 03-01 13:57 ?3441次閱讀

    淺談STM32調試DEBUG相關知識

    說說STM32調試DEBUG相關知識
    的頭像 發(fā)表于 03-06 15:23 ?4258次閱讀

    配置VScode編譯、調試STM32(二)Cortex-Debug插件

    配置VScode編譯、調試STM32(二)Cortex-Debug插件
    發(fā)表于 12-01 12:21 ?17次下載
    配置VScode編譯、<b class='flag-5'>調試</b>STM32(二)Cortex-<b class='flag-5'>Debug</b>插件

    調試STM32時能下載程序但調試模式(debug)無法進入main函數(shù)問題

    調試STM32時能下載程序但調試模式(debug)無法進入main函數(shù)問題 今天調試程序時,突然發(fā)現(xiàn)程序不正常,然后給板子插上JTAG調試
    發(fā)表于 12-01 13:36 ?17次下載
    <b class='flag-5'>調試</b>STM32時能下載程序但<b class='flag-5'>調試</b>模式(<b class='flag-5'>debug</b>)無法進入main函數(shù)問題

    STM32(Cortex-M)內核DEBUG調試接口知識

    學習STM32開發(fā),肯定少不了debug調試這一步驟。那么,本文帶你了解一下這個調試相關的知識。
    發(fā)表于 02-08 16:02 ?9次下載
    STM32(Cortex-M)內核<b class='flag-5'>DEBUG</b><b class='flag-5'>調試</b><b class='flag-5'>接口</b>知識

    Fusion Debug調試系統(tǒng)的各項技術、指標介紹

    昭曉Fusion Debug?是一款基于創(chuàng)新架構的全面調試系統(tǒng),建立在芯華章全新的、自主開發(fā)的調試數(shù)據(jù)庫之上,并由創(chuàng)新的設計推理引擎和高性能分析引擎提供動力,可輕松進行信號連接跟蹤和根本原因分析
    的頭像 發(fā)表于 05-23 17:06 ?1349次閱讀

    這些Debug調試方法你知道多少?(上篇)

    在工作日里,如果你問驗證工程師在干嘛,多半時間他/她會告訴你在Debug。換句話說,一般在驗證周期內,工程師有超過一半的時間都消耗在了功能調試上,盡管這里面包含了驗證工程師跟自己“作對”的時間,即驗證環(huán)境或者測試用例本身存在bu
    的頭像 發(fā)表于 01-21 17:18 ?1607次閱讀
    這些<b class='flag-5'>Debug</b><b class='flag-5'>調試</b>方法你知道多少?(上篇)

    單片機Debug與仿真區(qū)別

    是指在軟件或硬件開發(fā)過程中,通過特定的工具和技術來查找、診斷和修復錯誤的過程。在單片機開發(fā)中,Debug通常涉及到以下幾個方面: 硬件調試 :檢查單片機的硬件連接是否正確,包括電源、時鐘、I/O接口等。 軟件
    的頭像 發(fā)表于 12-19 09:47 ?313次閱讀