99久久久久国产-99久久久久国产精品免费-99久久久久久久-99久久久免费精品免费-99久久免费费视频在线观看

131 1300 0010
其他
當前位置: 首頁>> 元件技術>>其他>>
  • 導航欄目
  • 二極管
  • 整流橋
  • MOS管
  • 其他
  • 基于Cortex-M33內核的系列
    基于Cortex-M33內核的系列
  • 基于Cortex-M33內核的系列
  •   發(fā)布日期: 2020-06-21  瀏覽次數(shù): 1,756

    前言

    STM32L5是STM32家族中第一個基于Cortex-M33內核的系列,而TrustZone正是此內核最重要的特性,使能TrustZone的方法非常簡單,在RDP=0的情況下直接在option byte中將TZEN置1即可,但是一旦TrustZone使能后,與其相關的安全特性也將開啟,由于安全方面的特性,在TrustZone已經打開的情況下欲將其再次關閉卻不能像打開時那樣那么簡單操作了。本文將以用戶的視角描述一下關閉TrustZone的過程。

     

    過程

    為了講述這一過程,我們將以NUCLEO-L552ZE-Q這塊板子為例,工具使用STM32CubeProgrammer V2.4.0

    首先通過CubeProgrammer這個工具將MCU的TrustZone打開, 在此之前讀保護RDP=0,是用戶面臨的選項字節(jié)最初始狀態(tài):

    按客戶的操作思路,接下來我們嘗試關閉TrustZone。

    首先,直接在option byte中直將TZEN后那個勾去掉,然后Apply。

    此時會出現(xiàn)錯誤,如上圖所示。

    基于Cortex-M33內核的系列

    在TrustZone已經激活的情況下,是不能直接將其關掉的。

    接下來查看參考手冊,在RM0438 4.4.2節(jié)有講述到如何將TrustZone關閉的內容:

    基于Cortex-M33內核的系列

    顯然,原來TrustZone關閉必須是在讀保護從RDP1回退到RDP0的同時進行才可以。

    首先,我們要將RDP設置為level1,然后再回退

    基于Cortex-M33內核的系列

    如上圖所示,在設置RDP1的時候, 此時會出現(xiàn)警告,意思是說在TrustZone開啟的情況下嘗試使能RDP,如果當前FLASH內的代碼不能使得芯片上電后執(zhí)行的程序最終跳轉到NS空間,將會導致關閉trustzone和回退RDP失敗,強烈建議將nSWBOOT0設置為1。這樣可以確保我們可以通過調整PH3/Boot0引腳電平來從系統(tǒng)bootloader啟動,這是一定可以跑到NS程序空間的。【NS:Non-Secure】

    我們先選擇“取消”,然后檢查nSWBOOT0的設置:

    基于Cortex-M33內核的系列

    如上圖所示,nSWBOOT0的值已經為1,是OK的,其值表示BOOT0的值將從PH3引腳的狀態(tài)來決定 。

    既然關閉TrustZone必須是RDP從LEVEL 1回退到LEVEL 0的過程中操作才行,那么我們必須要先將RDP設置為LEVEL 1才行。使能RDP LEVEL 1:

    基于Cortex-M33內核的系列

    如上圖所示,警告意思是: 你確定?你的MCU將可能永遠喪失!

    點擊OK。如下圖所示:

    基于Cortex-M33內核的系列

    表示FLASH內的數(shù)據(jù)已經不能讀取了,RDP LEVEL 1使能后,F(xiàn)LASH的內容自然不能再讀出,點擊OK。

    基于Cortex-M33內核的系列

    此時再次嘗試連接,則出現(xiàn)如下界面所示 :

    基于Cortex-M33內核的系列

    此時,ST-Link果然不能再連接。

    那么接下來我們該如何做呢?-》拉高PH3, 讓MCU從RSS啟動。

    以NUCLEO-L552-Q板為例,將PH3拉到VDD后,再次上電重啟,此時板上的藍色的LD2和紅色LD3亮起。按照這塊板子的用戶手冊UM2581,章節(jié)6.11.2說明:直接把CN11上的引腳5(VDD)和引腳7(PH3_BOOT0)短接即可。

    基于Cortex-M33內核的系列

    使用Cubeprogrammer,以hotplug模式進行連接(Mode :Hot plug) :

    基于Cortex-M33內核的系列

    嘗試連接:

    基于Cortex-M33內核的系列

    如上圖所示,ST-Link已經連接上,只不過由于RDP LEVEL 1使能了而不能讀取FLASH內容,但此時option bytes是可以修改的。

    打開Option byte界面,在User configuration下將TZEN對應的復選框內的勾去掉,然后再將Read Out Protection下的RDP改回LEVEL 0,然后點擊Apply

    基于Cortex-M33內核的系列

    上圖表示已經修改成功,斷開連接,斷開電源,然后將PH3引腳的高電平恢復到低電平。上電后再次連接…

    基于Cortex-M33內核的系列

    如上圖所示,再次連上時,F(xiàn)LASH的內容由于RDP LEVEL 1回退到LEVEL 0時被全部清空。此時再次查看RDP和TZEN的值 :

    基于Cortex-M33內核的系列

    基于Cortex-M33內核的系列

    RDP恢復到LEVEL 0,TrustZone成功關閉。

    后注 :

    1》 關閉trustzone需要通過RDP級別回退完成。

    2》 nSWBOOT0=1 && BOOT0/ PH3引腳為高,使得上電后系統(tǒng)從RSS啟動。

    3》 在STM32CubeProgrammer中使用hot plug連接方式是為了讓MCU從RSS啟動后,在運行到NS空間的時候方便跟調試端口連接,以便進行后續(xù)的Option Bytes修改操作。
           責任編輯:pj


  • ·上一篇:
    ·下一篇:
  • 其他關聯(lián)資訊
    深圳市日月辰科技有限公司
    地址:深圳市寶安區(qū)松崗鎮(zhèn)潭頭第二工業(yè)城A區(qū)27棟3樓
    電話:0755-2955 6626
    傳真:0755-2978 1585
    手機:131 1300 0010
    郵箱:hu@szryc.com

    深圳市日月辰科技有限公司 版權所有:Copyright?2010-2023 m.qingjujia.cn 電話:13113000010 粵ICP備2021111333號
    主站蜘蛛池模板: 精品国产品香蕉在线观看75 | 美国特级成人毛片 | 97超精品视频在线观看 | 欧美日韩精品一区二区三区视频播放 | 国产一区二区高清 | 日韩一级在线播放 | 一区二区三区无码高清视频 | 人操人摸| 欧美精品国产一区二区 | 毛片免费全部完整播放 | 一级做a爱过程免费视频高清 | 国内国语一级毛片在线视频 | 黄色一级毛片免费 | 国产91精选在线观看网站 | 一区二区三区不卡免费视频97 | 精品日韩二区三区精品视频 | 日韩 欧美 亚洲国产 | 亚洲福利在线视频 | 国产毛片一区二区 | 国产欧美在线一区二区三区 | 殴美一级黄色片 | 色视频免费观看高清完整 | 精品日韩欧美一区二区三区在线播放 | 给个网站可以在线观看你懂的 | 欧美日韩一区二区三区在线视频 | 亚洲精品第一页中文字幕 | 伊人久久中文字幕久久cm | 成人黄色一级毛片 | 最新avtom永久地址免费 | 国产尤物视频在线 | 国产精品色 | 免费精品国产 | 手机在线观看黄色网址 | 免费观看黄色大片 | 九九视频免费在线 | 国产精品视频第一区二区 | 色婷婷综合久久久 | 在线观看片 | 国产夜色 | 日本大片在线观看 | 欧美日韩一区二区综合在线视频 |