基于 Arm Cortex-R82AE 簡化高性能區(qū)域控制器的軟件開發(fā)
作者:Arm 汽車事業(yè)部高級產(chǎn)品經(jīng)理 Prakash Mohapatra
本文引用地址:http://www.ex-cimer.com/article/202408/461971.htm在 之前的一篇推文 中我曾談到過,汽車行業(yè)的近期發(fā)展趨勢正在推動(dòng)對汽車架構(gòu)中區(qū)域控制器和域控制器的需求。而基于 Armv8-R 的 Arm Cortex-R52 和 Cortex-R52+ 核心正是滿足區(qū)域控制器和域控制器設(shè)計(jì)和性能需求的理想之選。Cortex-R52 和 Cortex-R52+ 已廣泛應(yīng)用于汽車設(shè)計(jì)領(lǐng)域,既包括獨(dú)立的微控制器 (MCU),也有與 Cortex-A 核心結(jié)合的異構(gòu)設(shè)計(jì)。
對于更多特性和功能的需求使得車載算力要求與日劇增。在追求更高性能的過程中,區(qū)域控制器的發(fā)展也齊頭并進(jìn)。為應(yīng)對新興的電子/電氣 (E/E) 架構(gòu)引發(fā)的應(yīng)用整合趨勢,對更高性能區(qū)域控制器的需求愈發(fā)高漲。在某些設(shè)計(jì)場景中,可能需要多個(gè) Cortex-R52 和 Cortex-R52+ 集群來滿足性能要求。
新的 Arm Cortex-R82AE
為了滿足區(qū)域控制器的高性能需求, Arm 推出了基于 Armv8-R AArch64 架構(gòu)的 Cortex-R82AE 。Cortex-R82AE 核心現(xiàn)已向合作伙伴開放授權(quán)并可部署到其設(shè)計(jì)中。 作為 首款采用 Armv8-R AArch64 架構(gòu)的汽車增強(qiáng) (AE) 處理器,Cortex-R82AE 提供先進(jìn)的功能安全性和出色的單核性能。Cortex-R82AE 不僅拓展了性能邊界,更為汽車合作伙伴提供了擴(kuò)展產(chǎn)品系列的升級途徑。
Cortex-R82AE 的優(yōu)勢
Cortex-R82AE 進(jìn)一步擴(kuò)大了已被廣泛采用的 Cortex-R 系列在汽車市場的覆蓋范圍。這款 64 位處理器支持每個(gè)集群多達(dá)八個(gè)核心。其內(nèi)存系統(tǒng)經(jīng)過增強(qiáng)后,具備更寬的集群端口和共享 L2 緩存,能夠提供更高的性能。與此同時(shí),通過支持集群內(nèi)和集群間一致性,Cortex-R82AE 簡化了面向更高計(jì)算對稱多處理 (SMP) 設(shè)計(jì)的軟件開發(fā)流程。
此外,作為首款汽車增強(qiáng) Cortex-R 處理器,Cortex-R82AE 配備了可選的內(nèi)存管理單元 (MMU),能夠支持 Linux、Adaptive AUTOSAR 等功能強(qiáng)大的操作系統(tǒng)。除此之外,與 Cortex-R 系列的其他核心一樣,Cortex-R82AE 也配備了內(nèi)存保護(hù)單元 (MPU)。它支持實(shí)時(shí)虛擬化,可在單個(gè)核心上運(yùn)行功能強(qiáng)大的操作系統(tǒng),以及 Zephyr、FreeRTOS、Classic AUTOSAR 等實(shí)時(shí)操作系統(tǒng)。虛擬機(jī)管理程序可確保運(yùn)行不同軟件組件的虛擬機(jī)之間互不干擾 (FFI)。
Cortex-R82AE 可與 Cortex-A 核心等應(yīng)用處理器一起部署在異構(gòu)設(shè)計(jì)中。由于應(yīng)用處理器核心集群和 Cortex-R82AE 集群具有統(tǒng)一的內(nèi)存視圖,對大地址位寬的支持簡化了系統(tǒng)集成。在這種異構(gòu)設(shè)計(jì)中,Cortex-R82AE 的主要用例之一是充當(dāng)安全島。安全島的目的是進(jìn)行故障報(bào)告并驗(yàn)證應(yīng)用處理器的運(yùn)行情況。它還可用于實(shí)時(shí)任務(wù)、啟動(dòng)編排和系統(tǒng)測試。
升級至 Cortex-R82AE
為了滿足區(qū)域控制器和安全島設(shè)計(jì)的新興需求,目前采用 Cortex-R52 和 Cortex-R52+ 的合作伙伴考慮在其即將推出的產(chǎn)品中升級到 Cortex-R82AE。為了支持這一升級過程,Arm 精心編制了一份指南,為合作伙伴如何將其現(xiàn)有軟件遷移到基于 Cortex-R82AE 的設(shè)計(jì)中提供建議。該指南同樣適用于 Cortex-R82AE 的新項(xiàng)目開發(fā)。除了提供軟件遷移指導(dǎo)外,該指南還討論了基于 Armv8-R AArch32 的 Cortex-R52 和 Cortex-R52+,與基于 Armv8-R AArch64 的 Cortex-R82AE 之間的主要區(qū)別。
其中包含以下幾個(gè)部分:
指令集架構(gòu) (ISA) :該節(jié)列出了 Armv8-R AArch32 和 Armv8-R AArch64 架構(gòu)上使用的不同指令集。該節(jié)還闡述了這兩種架構(gòu)在浮點(diǎn)支持和寄存器集方面的差異。
異常模型 : 深入探討這兩種架構(gòu)中的異常向量表和異常處理的細(xì)節(jié)。
內(nèi)存模型 : Armv8-R AArch32 僅支持物理地址;而 Armv8-R AArch64 還支持虛擬內(nèi)存。該節(jié)討論內(nèi)存映射和虛擬內(nèi)存系統(tǒng)架構(gòu) (Virtual Memory System Architecture, VMSA),僅 Armv8-R AArch64 支持 VMSA 架構(gòu)。
系統(tǒng)寄存器 : 深入探討這兩種架構(gòu)中包含的系統(tǒng)寄存器。
安全性 : Cortex-R82AE 支持“僅安全訪問”狀態(tài),因此它可以發(fā)起正常訪問和安全內(nèi)存訪問。而基于 Armv8-R AArch32 的 Cortex-R52 和 Cortex-R52+ 僅支持正常訪問狀態(tài)。
虛擬化 : 利用 EL2 MPU 技術(shù)的 Cortex-R82AE 以及 Cortex-R52 和 Cortex-R52+ 核心均支持虛擬化,可確保在同一設(shè)備上運(yùn)行的多個(gè)混合關(guān)鍵軟件組件之間互不干擾 (FFI)。而 Cortex-R82AE 具有可選的 EL1 MMU,適合在虛擬機(jī)中運(yùn)行 Linux 等功能強(qiáng)大的操作系統(tǒng)的同時(shí),使用 EL1 MPU 運(yùn)行實(shí)時(shí)操作系統(tǒng)。
編譯器和優(yōu)化 :該節(jié)圍繞基于 Cortex-R52 和 Cortex-R52+,以及 Cortex-R82AE 的開發(fā),提供關(guān)于編譯選項(xiàng)的提示和指導(dǎo)。
評論