實(shí)時關(guān)鍵電機(jī)控制功能運(yùn)行µC/OS-II,工作在內(nèi)核1上,而Linux以及提供控制和通信通道的應(yīng)用程序運(yùn)行在內(nèi)核0上。目的是提供一個隔離域,在處理器內(nèi)核1中運(yùn)行功能時不會受到內(nèi)核0的干擾。對此,內(nèi)核1 (µC/OS-II)運(yùn)行在安全環(huán)境中,內(nèi)核0 (Linux)運(yùn)行在非安全環(huán)境中。兩個處理器內(nèi)核通過共享物理存儲器通道進(jìn)行通信,使用了OpenMCAPI標(biāo)準(zhǔn)。對YHPS系統(tǒng)進(jìn)行了靜態(tài)劃分,每一操作系統(tǒng)(OS)只可訪問到其分配資源中。存儲器映射被劃分為分配給µC/OS-II或者Linux的區(qū)域,以及由二者共享的區(qū)域。
同樣的,在µC/OS-II和Linux之間劃分了外設(shè),外設(shè)是不共享的。主機(jī)配置表列出了HPS中的所有AXI主機(jī)及其TrustZone安全狀態(tài)??梢栽O(shè)置狀態(tài),這樣,外設(shè)總是產(chǎn)生安全或者非安全訪問,或者在每次“會話”基礎(chǔ)上進(jìn)行安全訪問(例如,專門在每一訪問上設(shè)置安全狀態(tài))。
配置
每一Cortex-A9處理器都有自己的獨(dú)立L1高速緩存,獲取指令和數(shù)據(jù),還有一個獨(dú)立的定時器/看門狗模塊。處理器共享L2高速緩存、通用中斷控制器(GIC)以及探測控制單元(SCU)。GIC管理優(yōu)先級、中斷和MPCore處理器的連接??梢詫⑵渑渲脼檫B接每一中斷和某一內(nèi)核,還可以為每一中斷分配一個TrustZone狀態(tài)。
可以把L2高速緩存配置為以很多不同的方式進(jìn)行工作。在我們的例子中,L2配置寄存器被設(shè)置為只能從安全主機(jī)進(jìn)行寫操作,意味著,Linux不能修改L2高速緩存配置,除非它通過安全狀態(tài)監(jiān)視器來訪問寄存器。主機(jī)將L2高速緩存分開,兩個分配給µC/OS-II,六個分配給Linux內(nèi)核。µC/OS-II內(nèi)核分配了1Mb的DDR、UART1以及FPGA中的所有外設(shè)。所有其他資源都分配給Linux內(nèi)核。
Linux內(nèi)核能夠管理ARM處理器的存儲器管理單元,而µC/OS-II不能,因此,修改µC/OS-II BSP代碼以便在啟動期間建立靜態(tài)頁面表。分配給µC/OS-II的資源被放置在頁面表中,µC/OS-II被配置為只使用這一存儲器映射。對于Linux,描述系統(tǒng)的器件樹(在啟動時傳遞給內(nèi)核)不包括分配給µC/OS-II的存儲器或者外設(shè)參考。
SoC的啟動是一個三級過程。第一級涉及到片內(nèi)啟動ROM,完成內(nèi)核0的最小配置,使能外部非易失存儲器。在這一存儲器中,它找到并驗(yàn)證裝入到片內(nèi)RAM中的“預(yù)裝入”軟件鏡像,用于配置SDRAM和SoC器件的外設(shè)I/O。器件初始化完成后,預(yù)裝入程序裝入并執(zhí)行第二級啟動加載程序(例如,U-boot)。第二級啟動加載程序負(fù)責(zé)裝入并執(zhí)行最終的OS。我們的AMP系統(tǒng)還有其他的要求,例如,把兩個獨(dú)立的操作系統(tǒng)裝入到存儲器中,在SoC中配置TrustZone安全選項(xiàng)等。內(nèi)核1、UART1、看門狗定時器1中的本地定時器/看門狗外設(shè)以及µC/OS-II使用的中斷被配置為安全,因此,只能由µC/OS-II進(jìn)行訪問。所有其他外設(shè)和中斷被配置為非安全。完成這一工作后,代碼啟動內(nèi)核1運(yùn)行µC/OS-II,然后在內(nèi)核0上啟動運(yùn)行Linux。
使用這一例子中描述的方法,設(shè)計(jì)人員受益于Altera SoC帶來的器件合并優(yōu)勢,同時滿足了安全關(guān)鍵應(yīng)用嚴(yán)格的(TrustZone/硬件要求)軟件分離要求。
參考文獻(xiàn):[1]SoC FPGAARMCortex-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—HPSMemory 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
網(wǎng)站首頁 |網(wǎng)站簡介 | 關(guān)于我們 | 廣告業(yè)務(wù) | 投稿信箱
Copyright © 2000-2020 m.netfop.cn All Rights Reserved.
中國網(wǎng)絡(luò)消費(fèi)網(wǎng) 版權(quán)所有 未經(jīng)書面授權(quán) 不得復(fù)制或建立鏡像
聯(lián)系郵箱:920 891 263@qq.com