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