• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      使用ARM的TrustZone技術(shù),針對安全和非安全應(yīng)用劃分系統(tǒng)

      2013-04-29 00:44:03StefanoZammattioCliveDavies
      電子產(chǎn)品世界 2013年9期

      Stefano Zammattio Clive Davies

      摘要:隨著ARM Cortex-A9多處理器和FPGA SoC的推出,可把現(xiàn)有的分立微控制器和數(shù)字邏輯功能集成到一個(gè)多核器件中。這減小了功耗和體積,而主要難點(diǎn)之一是在一個(gè)器件中同時(shí)實(shí)現(xiàn)安全關(guān)鍵和非安全關(guān)鍵軟件單元。本文網(wǎng)絡(luò)版地址:http://www.eepw.com.cn/article/164382.htm

      關(guān)鍵詞:ARM;TrustZone;安全;FPGA

      DOI: 10.3969/j.issn.1005-5517.2013.9.003

      隨著ARM Cortex-A9多處理器和FPGA SoC的推出,很多開發(fā)人員看到了合并現(xiàn)有系統(tǒng)的機(jī)會(huì),這通過將分立微控制器(MCU)和數(shù)字邏輯集成到一個(gè)多核器件中來實(shí)現(xiàn)。最大的好處是減小了功耗和體積,而一個(gè)主要難點(diǎn)是在一個(gè)器件中同時(shí)實(shí)現(xiàn)安全關(guān)鍵和非安全關(guān)鍵軟件單元。圖1顯示了使用三個(gè)分立器件實(shí)現(xiàn)的一個(gè)典型電機(jī)控制系統(tǒng)。系統(tǒng)有一個(gè)非安全網(wǎng)絡(luò)/用戶接口處理器,一個(gè)電機(jī)控制監(jiān)控微控制器和一片用于實(shí)現(xiàn)硬核實(shí)時(shí)電機(jī)控制器的FPGA。圖1中的陰影部分含有設(shè)計(jì)的安全關(guān)鍵單元,需要通過外部權(quán)威機(jī)構(gòu)進(jìn)行安全認(rèn)證。

      把一個(gè)電機(jī)控制系統(tǒng)合并到SoC中,支持使用一個(gè)器件來實(shí)現(xiàn)信號(hào)處理、監(jiān)控和通信等應(yīng)用。Altera的28 nm Cyclone V SoC便是適用于這方面應(yīng)用的一個(gè)器件實(shí)例。它具有低功耗FPGA架構(gòu)和硬核處理器系統(tǒng)(HPS),含有ARM Cortex-A9雙處理器內(nèi)核和外設(shè)。HPS包括對ARM TrustZone技術(shù)的支持;這也可以延伸到FPGA架構(gòu)中。

      ARM的TrustZone技術(shù)支持把多核系統(tǒng)劃分成關(guān)鍵系統(tǒng)資源運(yùn)行的安全的環(huán)境和其他系統(tǒng)資源運(yùn)行的非安全環(huán)境。因此,TrustZone隔離系統(tǒng)的關(guān)鍵部分只能在安全環(huán)境下訪問這些部分;其基礎(chǔ)是Cortex-A9 MPCore硬件和AMBA AXI3總線標(biāo)準(zhǔn)。在TrustZone支持系統(tǒng)中,每一AXI會(huì)話包括一個(gè)非安全(NS)比特,用于表示此次會(huì)話來自非安全還是安全環(huán)境。每次會(huì)話利用這一信息,系統(tǒng)中的從機(jī)可以選擇根據(jù)其TrustZone狀態(tài)進(jìn)行響應(yīng)。例如,處于安全模式的一個(gè)系統(tǒng)復(fù)位控制器只響應(yīng)來自安全環(huán)境的復(fù)位申請,忽略非安全環(huán)境的響應(yīng),否則會(huì)產(chǎn)生錯(cuò)誤。這一方法可以延伸到系統(tǒng)中的所有從機(jī),在SoC器件中提供一個(gè)安全環(huán)境子系統(tǒng)。這一安全子系統(tǒng)與非安全環(huán)境隔離,可以用于運(yùn)行可信軟件,或者,在我們的安全軟件中,不會(huì)受到流氓軟件的危害,也不會(huì)受到來自系統(tǒng)非安全部分AXI會(huì)話的影響。安全檢查器可以接受這類保護(hù)。

      每一Cortex-A9處理器都有自己的獨(dú)立L1高速緩存,獲取指令和數(shù)據(jù),還有一個(gè)獨(dú)立的定時(shí)器/看門狗模塊。處理器共享L2高速緩存、通用中斷控制器(GIC)以及探測控制單元(SCU)。GIC管理優(yōu)先級(jí)、中斷和MPCore處理器的連接??梢詫⑵渑渲脼檫B接每一中斷和某一內(nèi)核,還可以為每一中斷分配一個(gè)TrustZone狀態(tài)。

      可以把L2高速緩存配置為以很多不同的方式進(jìn)行工作。在我們的例子中,L2配置寄存器被設(shè)置為只能從安全主機(jī)進(jìn)行寫操作,意味著,Linux不能修改L2高速緩存配置,除非它通過安全狀態(tài)監(jiān)視器來訪問寄存器。主機(jī)將L2高速緩存分開,兩個(gè)分配給μC/ OS-II,六個(gè)分配給Linux內(nèi)核。μC/ OS-II內(nèi)核分配了1Mb的DDR、UART1以及FPGA中的所有外設(shè)。所有其他資源都分配給Linux內(nèi)核。

      Linux內(nèi)核能夠管理ARM處理器的存儲(chǔ)器管理單元,而μC/OS-II不能,因此,修改μC/OS-II BSP代碼以便在啟動(dòng)期間建立靜態(tài)頁面表。分配給μC/OS-II的資源被放置在頁面表中,μC/OS-II被配置為只使用這一存儲(chǔ)器映射。對于Linux,描述系統(tǒng)的器件樹(在啟動(dòng)時(shí)傳遞給內(nèi)核)不包括分配給μC/OS-II的存儲(chǔ)器或者外設(shè)參考。

      SoC的啟動(dòng)是一個(gè)三級(jí)過程。第一級(jí)涉及到片內(nèi)啟動(dòng)ROM,完成內(nèi)核0的最小配置,使能外部非易失存儲(chǔ)器。在這一存儲(chǔ)器中,它找到并驗(yàn)證裝入到片內(nèi)RAM中的“預(yù)裝入”軟件鏡像,用于配置SDRAM和SoC器件的外設(shè)I/O。器件初始化完成后,預(yù)裝入程序裝入并執(zhí)行第二級(jí)啟動(dòng)加載程序(例如,U-boot)。第二級(jí)啟動(dòng)加載程序負(fù)責(zé)裝入并執(zhí)行最終的OS。我們的AMP系統(tǒng)還有其他的要求,例如,把兩個(gè)獨(dú)立的操作系統(tǒng)裝入到存儲(chǔ)器中,在SoC中配置TrustZone安全選項(xiàng)等。內(nèi)核1、UART1、看門狗定時(shí)器1中的本地定時(shí)器/看門狗外設(shè)以及μC/ OS-II使用的中斷被配置為安全,因此,只能由μC/OS-II進(jìn)行訪問。所有其他外設(shè)和中斷被配置為非安全。完成這一工作后,代碼啟動(dòng)內(nèi)核1運(yùn)行μC/OS-II,然后在內(nèi)核0上啟動(dòng)運(yùn)行Linux。

      使用這一例子中描述的方法,設(shè)計(jì)人員受益于Altera SoC帶來的器件合并優(yōu)勢,同時(shí)滿足了安全關(guān)鍵應(yīng)用嚴(yán)格的(TrustZone/硬件要求)軟件分離要求。

      參考文獻(xiàn):

      [1]SoC FPGA ARM Cortex-A9 MPCore Processor Advance Information Brief[R/OL].http://www.altera.com.cn/literature/ hb/soc-fpga/aib-01020-soc-fpga-cortex-a9-processor. pdf

      [2]Functional Description—HPS Memory Controller[R/OL]. http://www.altera.com.cn/literature/hb/external-memory/ emi_fd_controller_HPS.pdf

      [3]Cortex-A9 Microprocessor Unit Subsystem[R/OL].http:// www.altera.com.cn/literature/hb/arria-v/av_54006.pdf

      卢氏县| 鹿泉市| 临泽县| 荣成市| 漳州市| 东乌| 伊宁市| 延吉市| 宿松县| 和平县| 黄梅县| 皋兰县| 西盟| 南澳县| 东乡县| 文山县| 江川县| 利川市| 长兴县| 依兰县| 四子王旗| 沧州市| 额尔古纳市| 东平县| 酒泉市| 韶关市| 湖口县| 宣武区| 邳州市| 青海省| 滨海县| 灵璧县| 桂林市| 龙胜| 神农架林区| 雷山县| 云浮市| 墨竹工卡县| 彭山县| 崇信县| 巨野县|