亚洲av成人精品日韩一区,97久久久精品综合88久久,玩弄japan白嫩少妇hd,亚洲av片不卡无码久久,玩弄人妻少妇500系列

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

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

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

Jacinto 7系列HS芯片中的JTAG調(diào)試控制

星星科技指導(dǎo)員 ? 來(lái)源:ti ? 作者:Neo Wang ? 2023-03-14 10:44 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

1. 背景介紹:

TI最新一代JacintoTM 7處理器芯片中,為了保證客戶(hù)系統(tǒng)安全以及功能隱私,保證應(yīng)用鏡像不被惡意篡改、復(fù)制以及刪除,TI為每一顆JacintoTM 7 家族的SoC芯片都提供了HS(high security)的芯片類(lèi)型。

而JTAG作為嵌入式開(kāi)發(fā)過(guò)程中必不可少的調(diào)試接口,在應(yīng)用開(kāi)發(fā)以及產(chǎn)品發(fā)布階段,推薦進(jìn)行不同的處理,從而避免第三方通過(guò)JTAG接口對(duì)產(chǎn)品系統(tǒng)進(jìn)行攻擊從而造成損失。針對(duì)這種考慮,在GP和HS芯片中,JTAG接口具有不同的權(quán)限,如下表1所示:

表 1 不同芯片類(lèi)型中的JTAG狀態(tài)

芯片類(lèi)型 芯片狀態(tài) M3 JTAG 狀態(tài) 其它核心JTAG 狀態(tài)
General Purpose (GP) GP Open Open
High Security (HS) HS-FS Closed Open
High Security (HS) HS-SE Closed Controlled

本文旨在介紹并幫助開(kāi)發(fā)人員在HS-SE芯片中實(shí)現(xiàn)對(duì)JTAG的控制,進(jìn)而保證產(chǎn)品的安全以及隱私性

2. 測(cè)試條件:

DRA821 EVM開(kāi)發(fā)板

DRA821 RTOS SDK8.2

開(kāi)發(fā)環(huán)境:Linux Ubuntu 18.04

值得一提的是,本文基于DRA821 HS-SE芯片進(jìn)行測(cè)試以及介紹,但此方法適用于JacintoTM 7家族其它系列芯片,例如TDA4x系列SoC。

3. JTAG Debug Unlock的兩種方法及適用場(chǎng)景

一般來(lái)說(shuō),JacintoTM 7家族HS-SE系列SoC中,如上表1所示,M3/M4F核心的JTAG默認(rèn)關(guān)閉且不能打開(kāi),從而確保DMSC核心的安全,進(jìn)而保證芯片內(nèi)部的時(shí)鐘電源安全。

而對(duì)于其它核心,例如R5F/A72/DSP等等,則可以通過(guò)JTAG Debug的預(yù)加鎖/預(yù)解鎖以及實(shí)時(shí)解鎖兩種方案來(lái)實(shí)現(xiàn)對(duì)JTAG的控制。

JTAG Debug的預(yù)加鎖/預(yù)解鎖方案通過(guò)直接對(duì)各個(gè)核心鏡像的x509證書(shū)進(jìn)行授權(quán),使其在運(yùn)行時(shí)在芯片內(nèi)部直接進(jìn)行對(duì)JTAG的加鎖/解鎖,從而實(shí)現(xiàn)對(duì)JTAG的控制。其適用于能夠?qū)︾R像進(jìn)行實(shí)時(shí)更新的開(kāi)發(fā)環(huán)境。

JTAG Debug的實(shí)時(shí)解鎖方案默認(rèn)對(duì)JTAG進(jìn)行鎖死,然后通過(guò)外部JTAG口或者TISCI等方式向芯片發(fā)送特定的解鎖證書(shū),從而實(shí)現(xiàn)對(duì)指定核心的JTAG進(jìn)行解鎖;芯片下電后,會(huì)繼續(xù)保持JTAG死鎖。其適用于對(duì)鏡像文件更新受限的開(kāi)發(fā)環(huán)境。

總的來(lái)說(shuō),相對(duì)于預(yù)加鎖/解鎖方案,實(shí)時(shí)解鎖方案的安全性更高,部署成功后操作更加便捷且高效;相對(duì)的,預(yù)加鎖/解鎖方案在前期部署工作上會(huì)更加簡(jiǎn)單。

4. JTAG Debug的預(yù)加鎖/預(yù)解鎖方案

所有在HS-SE芯片中執(zhí)行的binary,都需要對(duì)鏡像進(jìn)行簽名/加密才可正常運(yùn)行,具體的流程可以參考應(yīng)用手冊(cè)“SPRAD04“中的第二章節(jié)。而JTAG Debug的預(yù)加鎖/預(yù)解鎖則是在對(duì)binary進(jìn)行簽名加密生成x509證書(shū)時(shí),通過(guò)配置默認(rèn)的debug extension來(lái)設(shè)置芯片JTAG Debug的權(quán)限。以SBL為例,在 /packages/ti/build/makerules/common.mk文件中,當(dāng)開(kāi)發(fā)人員執(zhí)行make sbl_mmcsd_img_hs編譯SBL時(shí),會(huì)調(diào)用下述指令對(duì)SBL進(jìn)行簽名并設(shè)置debug extension的權(quán)限。

poYBAGQP33OAOConAAAPc-DnUAg006.png

其中“DBG_FULL_ENABLE”代表默認(rèn)將JTAG Debug設(shè)置為full,即打開(kāi)對(duì)應(yīng)核心的所有debug權(quán)限,即預(yù)解鎖。若刪除此編譯選項(xiàng),即默認(rèn)JTAG Debug設(shè)置為關(guān)閉,即預(yù)加鎖。

5. JTAG Debug的實(shí)時(shí)解鎖方案

出于安全性考慮,在實(shí)時(shí)解鎖方案中,可以首先默認(rèn)配置JTAG是鎖死狀態(tài)。以DRA821 SBL為例,在SDK8.2中,在SBL的Makefile中默認(rèn)會(huì)配置x509證書(shū)的debug extension并設(shè)置其為FULL權(quán)限,即MCU1_0 JTAG enable狀態(tài),所以需要將其先進(jìn)行關(guān)閉并刪除debug extension,改動(dòng)如下patch所示:

pYYBAGQP33SAIHFFAABIy1qnf7E996.png

其次,需要在板級(jí)配置文件中,設(shè)置其為支持外部實(shí)時(shí)解鎖JTAG Debug,其改動(dòng)如下patch所示:

pYYBAGQP33SAM5oLAAAwIzky1iI999.png

其中變量allow_jtag_unlock 等于0x5A代表支持外部進(jìn)行實(shí)時(shí)的JTAG unlock,同樣的,JTAG Debug中其它變量的取值以及對(duì)應(yīng)含義如下圖1所示。

poYBAGQP33WAO2kTAABicjRMYVI841.png

圖 1 boardcfg中Secure Debug配置中的參量取值及含義

修改完成之后,需要重新編譯boardcfg以及SBL等文件:

pYYBAGQP33aAFjDtAAAMDY6oA9U155.png

5.1 JTAG Debug的實(shí)時(shí)解鎖流程:

外部設(shè)備通過(guò)JTAG來(lái)解鎖對(duì)應(yīng)核心JTAG調(diào)試權(quán)限時(shí),首先需要將設(shè)計(jì)過(guò)的且符合ANS.1規(guī)則的x509證書(shū)傳輸給DMSC,DMSC會(huì)解析此x509證書(shū),并經(jīng)過(guò)校驗(yàn)UID,revision等通過(guò)之后,對(duì)JTAG Debug進(jìn)行對(duì)應(yīng)的權(quán)限解鎖。其大致流程如下圖2所示:

poYBAGQP33aANnJvAABgdAz0QdM450.png

圖 2 JTAG Debug的實(shí)時(shí)解鎖流程

5.2 創(chuàng)建x509調(diào)試證書(shū)配置文件:

如5.1中圖2所示的,首先要編寫(xiě)一個(gè)能夠通過(guò)DMSC檢查,并通過(guò)各項(xiàng)UID,revision等校驗(yàn)的x509證書(shū),而在生成證書(shū)之前,首先需要按照ANS.1的規(guī)則編寫(xiě)一個(gè)配置文件。這樣才能保證生成的調(diào)試證書(shū)能夠被DMSC正確識(shí)別并進(jìn)行配置。如下所示,為在DRA821中的x509調(diào)試證書(shū)配置文件模板。

pYYBAGQP33eAa50QAAAzuouF9xo493.png

值得注意的是,在不同芯片平臺(tái)(TDA4x或DRA8x),亦或同一芯片平臺(tái)的不同UID芯片中,進(jìn)行不同核心(R5F/A72/DSP)的JTAG Unlock權(quán)限配置,開(kāi)發(fā)人員只需對(duì)【debug】下的內(nèi)容進(jìn)行更改。下面將對(duì)【debug】中的四個(gè)配置參數(shù)含義以及設(shè)置原則進(jìn)行介紹:

a. UID獲取

UID是對(duì)于每顆芯片的獨(dú)一無(wú)二的標(biāo)志,在JacintoTM 7家族中,其為256bit的64個(gè)16進(jìn)制數(shù)構(gòu)成。一般來(lái)說(shuō),獲取UID的方法有三種:

UART boot模式下通過(guò)MCU UART獲取,并經(jīng)過(guò)腳本解析得到。

利用dbgauth工具通過(guò)命令行獲取。

利用TISCI在代碼中獲取TISCI_MSG_GET_SOC_UID

其中第一種方法可參考應(yīng)用手冊(cè)“SPRAD04“中的第四章節(jié)獲取。

其中第二中方法,將在本文5.4小節(jié)中介紹。

第三種方法參照TISCI手冊(cè)。

開(kāi)發(fā)人員只需根據(jù)自身開(kāi)發(fā)環(huán)境選擇其一即可。在獲取到UID之后,只需將其替換到 【debug】規(guī)則下的deviceUID中即可。

b. DebugType配置原則

DebugType為一個(gè)32bit數(shù),其中低16bit數(shù)為debug level權(quán)限控制,高16bit目前為保留位,默認(rèn)取全0即可。其中debug level的取值以及對(duì)應(yīng)的含義如圖3所示:

poYBAGQP33iAZAk9AABev78OOvs081.png

圖 3 debug level取值及其含義

c. coreDbgEn配置原則

coreDbgEn控制哪些核心的non-secure debug將被打開(kāi),以Processor ID的形式列出,以DRA821為例,其內(nèi)部所有處理器核心的processor ID如下所示:

pYYBAGQP33iAfXgjAABTu8mWD9M212.png

圖 4 DRA821芯片內(nèi)部處理器核心對(duì)應(yīng)ID取值

d. coreDbgSecEn配置原則

coreDbgSecEn控制哪些核心的secure debug將被打開(kāi),以Processor ID的形式列出,以DRA821為例,其內(nèi)部所有處理器核心的processor ID同樣可參照?qǐng)D4所示。

5.3 通過(guò)x509配置文件生成x509證書(shū)并簽名:

開(kāi)發(fā)人員根據(jù)需求設(shè)計(jì)完配置文件后,需要適用openssl來(lái)生成對(duì)應(yīng)的x509證書(shū),并適用自己的密鑰對(duì)此證書(shū)進(jìn)行簽名,才能保證此證書(shū)能被對(duì)應(yīng)的HS-SE板子驗(yàn)簽并解析。

poYBAGQP33mACMclAAAJpDtHl3Q278.png

其中“-key”后需要保持和開(kāi)發(fā)人員HS-SE板子中燒寫(xiě)的密鑰保持一致;“-out”后的文件即為將生成的x509證書(shū)文件;“-config”中即為在本文5.2小節(jié)中設(shè)計(jì)得到的配置文件。

5.4 CCS環(huán)境及dbgauth工具搭建:

在使用外部JTAG進(jìn)行實(shí)時(shí)解鎖JTAG Debug時(shí),需要使用CCS中的組件工具dbgauth。開(kāi)發(fā)人員需要安裝CCS,建議安裝CCS 9.3及其之后版本:https://www.ti.com/tool/CCSTUDIO

安裝完畢后,按照下列步驟來(lái)配置環(huán)境:

針對(duì)芯片類(lèi)型新建CCS configuration并進(jìn)行l(wèi)aunch,完畢后會(huì)在~/.ti/《ccs_version》/0/0/BrdDat/目錄下有對(duì)應(yīng)的配置文件dat。

同樣的,安裝后dbgauth工具會(huì)在《ccs install》/ccs/ccs_base/common/uscif/目錄下。

需要確認(rèn)當(dāng)前版本的dbgauth是支持JacintoTM 7系列SoC的K3架構(gòu)的:

pYYBAGQP33qAAA94AAAJxG6_xIc575.png

至此,環(huán)境搭建完畢。

5.5 利用證書(shū)進(jìn)行實(shí)時(shí)JTAG解鎖:

基于5.4小節(jié)建立的環(huán)境,可通過(guò)dbgauth工具來(lái)獲取設(shè)備UID,以及實(shí)時(shí)解鎖JTAG等操作。首先需要將5.1小節(jié)中編譯得到的SBL以及TIFS放到boot media中,確認(rèn)MCU1_0以及DMSC已經(jīng)正常運(yùn)行起來(lái),例如獲取UID的命令以及打印為:

poYBAGQP33uAHJQkAAAZVId-NMg924.png

此時(shí)如果通過(guò)CCS直接鏈接MCU1_0的核心是無(wú)法連接的,因?yàn)槟J(rèn)的JTAG配置為lock狀態(tài)。

通過(guò)5.3小節(jié)中生成的證書(shū)進(jìn)行JTAG解鎖的命令及打印為:

poYBAGQP33uABzGGAAApiX8gAg0494.png

執(zhí)行完上述指令后,JTAG Debug將被打開(kāi),可以通過(guò)CCS對(duì)MCU1_0進(jìn)行連接。

審核編輯:郭婷

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

    關(guān)注

    68

    文章

    19890

    瀏覽量

    235112
  • 芯片
    +關(guān)注

    關(guān)注

    459

    文章

    52494

    瀏覽量

    440652
  • soc
    soc
    +關(guān)注

    關(guān)注

    38

    文章

    4387

    瀏覽量

    222711
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    可以實(shí)現(xiàn)的JTAG調(diào)試器的嵌入式系統(tǒng)

    ARM系列處理器正是通過(guò)JTAG 接口使用內(nèi)部集成的ICE 功能, 并采用這種方式實(shí)現(xiàn)在線調(diào)試。此外CPLD、FPGA 等器件大多都可以使用JTAG 接口實(shí)現(xiàn)在線編程或下載。因此,
    的頭像 發(fā)表于 10-16 08:11 ?6566次閱讀
    可以實(shí)現(xiàn)的<b class='flag-5'>JTAG</b><b class='flag-5'>調(diào)試</b>器的嵌入式系統(tǒng)

    Trimedia DSP芯片JTAG接口的仿真器設(shè)計(jì)

    Trimedia DSP芯片JTAG接口的仿真器設(shè)計(jì):提出Trimedia DSP 芯片硬件仿真器的硬件電路組成和接口軟件設(shè)計(jì); 介紹JTAG 接口的標(biāo)準(zhǔn)、工作原理及在
    發(fā)表于 05-12 17:15 ?71次下載

    JTAG調(diào)試原理(推薦)

    JTAG調(diào)試原理(推薦):ARM JTAG 調(diào)試原理
    發(fā)表于 05-27 08:59 ?21次下載

    JTAG調(diào)試原理(推薦)

    JTAG調(diào)試原理(推薦):溫度循環(huán)監(jiān)測(cè)儀
    發(fā)表于 05-27 10:38 ?55次下載

    ARM JTAG調(diào)試的基本原理

    JTAG調(diào)試原理(推薦):這篇文章主要介紹ARM JTAG調(diào)試的基本原理。基本的內(nèi)容包括了TAP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECT
    發(fā)表于 05-27 10:44 ?150次下載

    ARM JTAG 調(diào)試原理

    這篇文章主要介紹ARM JTAG調(diào)試的基本原理。基本的內(nèi)容包括了TAP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECTURE的介紹,在此基礎(chǔ)上,結(jié)合ARM7TDMI詳細(xì)介紹了的
    發(fā)表于 07-14 23:19 ?82次下載

    基于ARM開(kāi)發(fā)的JTAG仿真器的調(diào)試設(shè)計(jì)

    基于JTAG仿真器的調(diào)試是目前ARM開(kāi)發(fā)中采用最多的一種方式。大多數(shù)ARM設(shè)計(jì)采用了片上JTAG接口,并將其作為測(cè)試、調(diào)試方法的重要組成。 JTA
    發(fā)表于 06-30 15:20 ?3412次閱讀
    基于ARM開(kāi)發(fā)的<b class='flag-5'>JTAG</b>仿真器的<b class='flag-5'>調(diào)試</b>設(shè)計(jì)

    基于JTAG的ARM芯片系統(tǒng)調(diào)試

    ARM處理器采用一種基于JTAG的ARM的內(nèi)核調(diào)試通道,它具有典型的ICE功能,基于ARM的包含有Embedded ICE(嵌入式在線仿真器)模塊的系統(tǒng)芯片通過(guò)JTAG端口與主計(jì)算機(jī)連
    發(fā)表于 08-16 09:51 ?3194次閱讀
    基于<b class='flag-5'>JTAG</b>的ARM<b class='flag-5'>芯片</b>系統(tǒng)<b class='flag-5'>調(diào)試</b>

    《ARM JTAG 調(diào)試原理》下載

    這篇文章主要介紹ARM JTAG調(diào)試的基本原理?;镜膬?nèi)容包括了TAP (TEST ACCESS PORT) 和BOUNDARY-SCAN ARCHITECTURE的介紹,在此基礎(chǔ)上,結(jié)合ARM7TDMI詳細(xì)介紹了的
    發(fā)表于 11-15 17:35 ?0次下載
    《ARM <b class='flag-5'>JTAG</b> <b class='flag-5'>調(diào)試</b>原理》下載

    ARM JTAG 調(diào)試原理

    ARM JTAG 調(diào)試原理對(duì)于了解jtag結(jié)構(gòu)由很好的幫助。
    發(fā)表于 03-10 14:08 ?10次下載

    digilent JTAG-HS3編程電線 介紹

    對(duì)Xilinx ZYNQ-SOC處理器的調(diào)試JTAG-HS3可通過(guò)Xilinx 2x7連接器鏈接到目標(biāo)板上,同時(shí)該產(chǎn)品所有的Xilinx開(kāi)發(fā)工具,包括iMPACT?,ChipScope?和EDK。
    的頭像 發(fā)表于 11-13 17:12 ?6065次閱讀
    digilent <b class='flag-5'>JTAG-HS</b>3編程電線 介紹

    Jacinto?? 7核間通信解決方案

    Jacinto?? 7核間通信解決方案
    發(fā)表于 10-28 11:59 ?3次下載
    <b class='flag-5'>Jacinto</b>?? <b class='flag-5'>7</b>核間通信解決方案

    JacintoTM 7家族HS芯片中JTAG加解鎖控制

    電子發(fā)燒友網(wǎng)站提供《JacintoTM 7家族HS芯片中JTAG加解鎖控制.pdf》資料免費(fèi)下載
    發(fā)表于 09-06 11:44 ?0次下載
    JacintoTM <b class='flag-5'>7</b>家族<b class='flag-5'>HS</b><b class='flag-5'>芯片中</b>的<b class='flag-5'>JTAG</b>加解鎖<b class='flag-5'>控制</b>

    Jacinto7 HS設(shè)備閃存解決方案

    電子發(fā)燒友網(wǎng)站提供《Jacinto7 HS設(shè)備閃存解決方案.pdf》資料免費(fèi)下載
    發(fā)表于 09-27 11:19 ?0次下載
    <b class='flag-5'>Jacinto7</b> <b class='flag-5'>HS</b>設(shè)備閃存解決方案

    RISC-V JTAG:開(kāi)啟MCU 芯片調(diào)試之旅

    基于 RISC-V 架構(gòu)的 MCU 芯片JTAG 調(diào)試過(guò)程及操作,為后續(xù)類(lèi)似調(diào)試工作提供詳實(shí)參考的依據(jù),助力研發(fā)團(tuán)隊(duì)高效推進(jìn)芯片研發(fā)進(jìn)程。
    的頭像 發(fā)表于 05-07 17:57 ?1667次閱讀
    RISC-V <b class='flag-5'>JTAG</b>:開(kāi)啟MCU <b class='flag-5'>芯片</b><b class='flag-5'>調(diào)試</b>之旅