AMD 自適應 SoC 嵌入式軟體生態系統

透過軟體實現快速創新和連線能力

AMD 的嵌入式軟體生態系統能為開發人員提供更多助力,從構思到做好上市準備,全面加速嵌入式系統的開發歷程。這個專門針對 AMD 嵌入式器件產品組合所打造的生態系統,擁有一套全方位的工具、執行階段軟體和環境,就是要讓開發人員能夠順暢發揮器件的強大威力,包括 AMD Zynq™ 7000 SoC、Zynq UltraScale+™ MPSoC、Versal™ 自適應 SoC、MicroBlaze™ 處理器以及 MicroBlaze V 處理器核心。我們提供的軟體,是建立在先進功能的基礎之上,包含領先業界的安全性和虛擬化軟體驅動程式,且這些功能均與 Zynq 和 Versal 器件的結構緊密結合。其所帶來的協同效應能讓開發人員的潛力發揮到極致,構建出別出心裁、相互連通且與眾不同的系統,進而滿足現代嵌入式應用的需求。

AMD MicroBlaze™ V  Microcontroller Configuration Diagram

建構與開發工具

Linux

Linux® 是 AMD 產品中最常用的作業系統。AMD 提供 EDF Linux OS 與嵌入式開發架構 (Embedded Development Framework, EDF),這是一個以 Yocto Project™ 為基礎的環境,也是一個 Linux 發行版,其中包含來自我們 GIT 儲存庫的原始碼與 Yocto 配方檔,能讓開發人員透過內部建置系統或第三方工具為 AMD 晶片導入 Linux 支援。EDF Linux OS 是客製化的 Linux 開發專案,非供一般市面販售,設計目的在於滿足 AMD Versal™ 自適應 SoCZynq™ UltraScale™ MPSoCZynq 7000 SoCMicroBlaze™ 處理器上的開發需求。

AMD EDF 歷版的 Linux 核心支援是按 LTS Kernel 版本的推出循序更新。 

建構工具

AMD 目前提供兩種建構和部署嵌入式 Linux 解決方案的工具。第一個是 AMD EDF,以開放原始碼 Yocto Project™ 為基礎的建構環境;第二個是 PetaLinux,它正被 AMD EDF 所取代。這兩款工具皆能快速建構嵌入式 Linux 映像檔,而 EDF 另外還支援更進階的使用案例。 

開發工具

AMD Vitis™ 統一軟體平台、軟體開發套件 (SDK) 和生態系統合作夥伴工具,提供了選擇多樣的開發環境,可支援在 Zynq 和 Versal 平台上進行類似 SoC 的 C/C++ 程式設計。

AMD 軟體環境

  • Vitis 統一軟體平台 - 適用於 Zynq UltraScale+ MPSoC 和 RFSoC 以及 Versal 自適應 SoC 器件的嵌入式軟體開發。
  • 軟體開發套件 (SDK) - 適用於 Zynq 7000 SoC、Zynq UltraScale+ MPSoC 和 MicroBlaze 處理器的設計和除錯工作。

RTOS 與程式庫合作夥伴

RTOS、管理程式和裸機

Zephyr Project RTOS

Zephyr Project 是一款高擴充性的即時作業系統 (RTOS),以安全性為出發點,支援多種硬體架構,並針對資源受限的裝置進行了最佳化。

Zephyr OS 所採用的極簡內核,是專為資源有限的系統而設計:從簡易的嵌入式環境感測器與 LED 穿戴式裝置,到高階的智慧手錶與物聯網無線閘道器皆可使用。

有關 Zephyr Project 的更多資訊,請造訪:  https://www.zephyrproject.org/

AMD 的 Zephyr Project 存放庫位於:  https://github.com/Xilinx/zephyr-amd

FreeRTOS

FreeRTOS 是 Amazon Web Services 推出的高市佔率 RTOS,支援超過 35 種架構;在 2017 年期間,每 3 分鐘就被下載一次。它經過專業開發、嚴格的品質控制,既強大實用又有堅實的支援作為後盾,此外還可免費嵌入商業產品中,無須公開您的專有原始碼(參考資料:https://www.freertos.org/RTOS.html)。

有關 FreeRTOS 的更多資訊,請前往:https://www.freertos.org/RTOS.html

FreeRTOS 內核埠可用於下列 AMD 自適應 SoC、FPGA 和 SOM

更多關於在 AMD 產品上使用 FreeRTOS 的資訊和支援資源,可在此處找到:AMD FreeRTOS

處理器 裝置
64 位元 Arm® Cortex®-A72 應用處理單元 (APU) 與 32 位元 Cortex-R5 即時處理單元 (RPU) Versal 自適應 SoC
64 位元 Arm Cortex-A53 應用處理單元 (APU) 與 32 位元 Cortex-R5 即時處理單元 (RPU) Zynq UltraScale+ MPSoC 與 Kria™ SOM
32 位元 Arm Cortex-A9 應用處理單元 (APU) Zynq 7000 SoC 器件
32 位元 MicroBlaze 處理器 所有 AMD 器件系列

AMD 和生態系統合作夥伴的 RTOS 支援

供應商 產品 Zynq 7000 SoC Zynq UltraScale+ MPSoC Versal 自適應 SoC MicroBlaze
Cortex-A9 Cortex-A53 Cortex-R5 VCU Mali-400 Cortex-A72 Cortex-R5F AIE
AMD 裸機 1
AMD FreeRTOS 1
AMD Zephyr6 4 4     4 4    
BlackBerry QNX Neutrino
QNX OS for Safety
Wind River VxWorks
Green Hills INTEGRITY-178
INTEGRITY
u-velOsity 3
Siemens Nucleus 4
PX5 PX5 RTOS
Microsoft Azure RTOS
ETAS ETAS RTA-OS
Sysgo PikeOS
PikeOS for MPU
Lynx LynxOS-178
Weston Embedded Cesium Cs/OS2、OS3
DDC-I Deos

RTEMS RTEMS
eForce uC3 1 1

ENEA OSE

eSOL eT-kernel
Silicon Labs Micrium uc/OS-II / OS-III5 1
Sciopta Sciopta RTOS 1 1
Wittenstein SafeRTOS 1
Segger emBOS 1

大多數 RTOS 都針對不同的安全標準提供一定程度的認證。請諮詢作業系統廠商,確定作業系統是否滿足您的特定需求。
 

  1. 無 SMP 支援
  2. Micrium 現在是「純維護」狀態。Weston Embedded 目前是以 Cesium 為後繼品牌,延續著此作業系統的發展。
  3. 架構支援套件
  4. 開發中
  5. 僅限舊版,請聯絡 Weston Embedded 以取得支援
  6. 適用於 AMD Arm 型嵌入式硬體平台的 Zephyr OS 概覽


更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

虛擬化與管理程式

AMD 為其客戶與合作夥伴提供關鍵技術、文件和支援,讓先進、多重作業系統的設計得以實現。我們的生態系統所提供的資源包括:

廠商 產品 Versal 自適應 SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC
AMD Xen 管理程式
BlackBerry QNX 管理程式
Wind River Helix 虛擬化平台
Sysgo PikeOS 管理程式
Green Hills Integrity Multivisor 1 1
Lynx LynxSecure 分離內核管理程式
Dornerworks SEL4
Siemens Nucleus 管理程式
General Dynamics Mission Systems OKL4 Microvisor
  1. 需要服務合約

更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

裸機與程式庫

AMD 提供其他程式庫和裸機驅動程式。這些程式庫是專為 AMD 器件而開發。

更多關於裸機驅動程式與程式庫的資訊及支援資源,可在此 AMD Wiki 頁面找到:裸機與程式庫

程式庫

  • Iwip:網路 TCP/IP 堆疊
  • xilisf:快閃記憶體
  • 獨立 BSP:板卡支援套件
  • xilffs:FAT 檔案系統
  • xilfpga:PL/FPGA 管理(位元流載入)
  • xilskey:安全性 xilsecu
  • xilsecure:安全性
  • xilrsa:安全性

嵌入式 Linux

開放原始碼 Linux 是最常在嵌入式硬體上執行的作業系統,自 2001 年推出 AMD Virtex™ II Pro FPGA 以來,AMD 便一直在其 FPGA 和自適應 SoC 器件上為 Linux 提供支援。除了 PetaLinux 和 Yocto 外,AMD 還為多家第三方廠商(包含由 Canonical Ltd. 提供的經認證 Ubuntu®)以 AMD 器件為目標的建構環境提供商業支援。

AMD 嵌入式開發架構 (EDF) 與 Yocto Project™

正如 Yocto Project 所述:「Yocto Project 是一個開放原始碼協作專案,不論硬體架構為何,都可協助開發人員為嵌入式產品建立以 Linux 為基礎的客製系統。本專案提供了一組靈活的工具和一個平台空間,全球嵌入式開發人員皆可在此共享技術、軟體堆疊、配置和最佳實務,並可運用這些技術為嵌入式器件量身打造 Linux 映像。」AMD 嵌入式開發架構便是基於 Yocto Project。進一步瞭解 AMD EDF。 

AMD EDF 與 PetaLinux

兩種流程都提供您在 AMD 處理系統上客製化、建立和評估嵌入式 Linux 解決方案所需要的一切。這套解決方案是專為加速設計生產力而量身打造,與 AMD 硬體設計工具搭配得宜,能簡化針對 Versal 自適應 SoC、Zynq UltraScale+ MPSoC、Zynq 7000 SoC,以及 MicroBlaze 處理器所進行的 Linux 系統開發。但是,PetaLinux 工具現在已被 AMD EDF 所取代。請參閱 AMD PetaLinux 工具頁面以了解更多資訊: 

Linux

供應商 產品 發佈 Versal 自適應 SoC Zynq UltraScale+ MPSoC Zynq 7000 SoC MicroBlaze
AMD AMD EDF Yocto 是* *限 MicroBlaze V
PetaLinux Yocto
Yocto Yocto
Canonical Ubuntu Debian 1
Wind River Wind River Linux Yocto
Foundies.io FoundriesFactory Yocto
Siemens Sokol Flex OS Yocto
Sokol Omni OS Debian
TimeSys Linux Services Yocto
MontaVista CGX/CGE Yocto
ArchLinuxARM ArchLinuxARM 不適用
  1. VCK190 有 Beta 版本可以使用

更多資訊和支援資源可在此 AMD Wiki 頁面上找到:嵌入式軟體生態系統

開放原始碼專案

QEMU

QEMU (Quick EMUlator) 是一種開放原始碼、跨平台的系統模擬器。它是能夠在 x86 Linux 作業系統上執行的執行檔。QEMU 可以模擬完整的系統(通常稱為客體),例如 AMD ZCU102 或 VCK190 板。

模擬的範圍包含開發板上的處理器、周邊設備和其他硬體,可讓您在虛擬化硬體上啟動作業系統或其他應用程式。

QEMU 還可以透過控制器區域網路 (Controller Area Network, CAN)、乙太網路和 USB 等介面與主機進行互動,使來自主機的實際資料能即時用於客體機器中。

Xen 管理程式

Xen 是由 Xen Project 所定義、維護和提供給開放原始碼社群的第 1 類管理程式。Xen 讓開發人員能夠在 AMD Zynq UltraScale+ MPSoC 上執行多個作業系統或裸機應用程式實體。其他關於 Xen 管理程式的資訊,可在「開始使用 Xen Project」頁面上找到。

U-Boot

U-Boot 是 Linux 社群中常用的開放原始碼 Universal Boot Loader。AMD 在 https://github.com/Xilinx/u-boot-xlnx 提供 GIT 樹狀結構,其中包含可在 AMD 板上執行的 U-Boot。

Arm Trusted Firmware

Arm Trusted Firmware 針對用於 ARMv8-A 架構的安全軟體提供相關參考基準,並為各種介面標準提供實作範例,如 PSCI(電源狀態協調介面)以及用於連接非安全世界軟體的安全監測碼。AMD Arm Trusted Firmware 埠已發佈,可在 https://github.com/Xilinx/arm-trusted-firmware 取得。

支援與資源