多核處理器下智能車載平臺的設(shè)計(jì)與實(shí)現(xiàn)
資源分區(qū)方案
本文引用地址:http://m.ptau.cn/article/146841.htm本文采用OMAP4430型開發(fā)板作為硬件平臺。在該處理器上兩個(gè)同構(gòu)的核上分別部署Android OS和SmartOSEK OS。
用戶在應(yīng)用設(shè)計(jì)階段,對SmartOSEK OS進(jìn)行靜態(tài)配置,確定其占用的內(nèi)存情況,從而在系統(tǒng)初始化階段將固定的一段物理內(nèi)存空間分配給SmartOSEK的實(shí)時(shí)內(nèi)核。通過修改Android OS中Linux內(nèi)核的頁表項(xiàng),將該段物理空間對于Android OS是不可見的,使得虛擬地址空間無法映射到該段物理地址。另外預(yù)留出一段物理內(nèi)存作為兩個(gè)操作系統(tǒng)的共享內(nèi)存空間,以方便二者的通信。
對于各種硬件外設(shè)資源,將其分為三種不同的類型。第一類是多核處理器硬件不同內(nèi)核私有的外設(shè)資源,如時(shí)鐘源。第二類是將公用的硬件外設(shè)資源分配到各自的操作系統(tǒng)上,將其視為該操作系統(tǒng)的私有資源。第三類是Android OS和SmartOSEK OS共享的硬件外設(shè)資源,在資源分配時(shí)要盡可能避免使用第三類資源,針對這種類型的資源需要一定的鎖機(jī)制對其統(tǒng)一管理。
內(nèi)核通信方式
Android OS與SmartOSEK OS之間提供同步和異步兩種通信方式。
同步的通信方式只應(yīng)用于從Android內(nèi)核向SmartOSEK內(nèi)核的消息發(fā)送。當(dāng)Android系統(tǒng)通過同步方式發(fā)送消息時(shí),首先將消息發(fā)送到共享內(nèi)存的同步數(shù)據(jù)緩沖區(qū)中,然后向SmartOSEK發(fā)送同步信號進(jìn)行通知,SmartOSEK內(nèi)核在接收到這個(gè)同步的數(shù)據(jù)接收信號后,需要立即響應(yīng),讀取共享內(nèi)存中同步數(shù)據(jù)緩沖區(qū)存儲的消息,并在讀取結(jié)束后通知Android發(fā)送方數(shù)據(jù)接收成功或接收失敗。
異步的通信方式支持Android和SmartOSEK內(nèi)核雙向通信。當(dāng)一方向另一方發(fā)送消息時(shí),發(fā)送方首先將數(shù)據(jù)拷貝到該方的共享內(nèi)存中的異步消息隊(duì)列中,完成該操作后向接收方發(fā)送異步通信請求的信號。此時(shí)接收方只需要更新異步消息隊(duì)列的狀態(tài)信息。讀取隊(duì)列中消息的工作由一個(gè)周期性查詢異步消息隊(duì)列的進(jìn)程或任務(wù)完成,以緩沖Android內(nèi)核和SmartOSEK內(nèi)核實(shí)時(shí)性的差異。
平臺實(shí)現(xiàn)
平臺實(shí)現(xiàn)的主要工作為以下三部分:在編譯階段實(shí)現(xiàn)SmartOSEK OS的存儲映射;在雙操作系統(tǒng)的啟動(dòng)過程中實(shí)現(xiàn)包括內(nèi)存、中斷、外設(shè)等資源的分配;通過共享內(nèi)存、核間中斷等手段實(shí)現(xiàn)兩個(gè)操作系統(tǒng)之間相互通信。
SmartOSEK OS存儲映射
存儲器分區(qū)是實(shí)現(xiàn)兩個(gè)操作系統(tǒng)資源分區(qū)的關(guān)鍵之處。在編譯階段利用MMU機(jī)制減少兩個(gè)操作系統(tǒng)數(shù)據(jù)在存儲空間上的耦合性,使每個(gè)操作系統(tǒng)靜態(tài)分配的內(nèi)存空間盡可能連續(xù),簡化資源分區(qū)的難度。SmartOSEK OS是完全靜態(tài)的操作系統(tǒng),在目標(biāo)鏈接文件vmlinux.lds.S中新建物理段osek,通過使用GNU C編譯器的編譯指令將SmartOSEK OS的數(shù)據(jù)定義歸于此段中。
雙核系統(tǒng)啟動(dòng)
在U-boot完成對系統(tǒng)鏡像文件的引導(dǎo)加載后,主核cpu0處于SVC模式,cpu1執(zhí)行WFI指令循環(huán)等待cpu0觸發(fā)的核間中斷。此時(shí),將在主核cpu0上基于分區(qū)的機(jī)制執(zhí)行對各種資源進(jìn)行初始化分配。圖2描述了雙核啟動(dòng)及資源分配的具體流程。

評論